diff options
author | Mike Kucera | 2009-01-02 14:58:24 +0000 |
---|---|---|
committer | Mike Kucera | 2009-01-02 14:58:24 +0000 |
commit | cfa1a4f42e74dc726e6e91d6cc448804e9a59fa3 (patch) | |
tree | 780ed0cc4fc26831b221f79647dfc01548c641da /upc/org.eclipse.cdt.core.parser.upc | |
parent | 60d92373d09eba3d2b19baf4fa52d8a60fc8ab4d (diff) | |
download | org.eclipse.cdt-cfa1a4f42e74dc726e6e91d6cc448804e9a59fa3.tar.gz org.eclipse.cdt-cfa1a4f42e74dc726e6e91d6cc448804e9a59fa3.tar.xz org.eclipse.cdt-cfa1a4f42e74dc726e6e91d6cc448804e9a59fa3.zip |
Added ability to pass ILanguage options to LR parser, refactored ParseHelper, partial fix for bug 253690
Diffstat (limited to 'upc/org.eclipse.cdt.core.parser.upc')
11 files changed, 4117 insertions, 3969 deletions
diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java index 974d33b2455..43e225898b0 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParser.java @@ -24,6 +24,7 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -32,7 +33,6 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { @@ -176,8 +176,9 @@ private UPCParserAction action; public UPCExpressionParser() { // constructor } -private void initActions(IASTTranslationUnit tu) { +private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu); + action.setParserOptions(options); } @@ -187,10 +188,10 @@ public void addToken(IToken token) { } -public IASTCompletionNode parse(IASTTranslationUnit tu) { +public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) { // this has to be done, or... kaboom! setStreamLength(getSize()); - initActions(tu); + initActions(tu, options); final int errorRepairCount = -1; // -1 means full error handling parser(null, errorRepairCount); // do the actual parse @@ -602,13 +603,13 @@ public UPCExpressionParser(String[] mapFrom) { // constructor } // - // Rule 102: labeled_statement ::= case constant_expression : + // Rule 102: labeled_statement ::= case constant_expression : statement // case 102: { action. consumeStatementCase(); break; } // - // Rule 103: labeled_statement ::= default : + // Rule 103: labeled_statement ::= default : statement // case 103: { action. consumeStatementDefault(); break; } @@ -1166,381 +1167,399 @@ public UPCExpressionParser(String[] mapFrom) { // constructor } // - // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt } + // Rule 279: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // case 279: { action. consumeInitializerList(); break; } // - // Rule 284: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 280: initializer ::= { <openscope-ast> } + // + case 280: { action. consumeInitializerList(); break; + } + + // + // Rule 281: start_initializer_list ::= $Empty + // + case 281: { action. initializerListStart(); break; + } + + // + // Rule 282: end_initializer_list ::= $Empty + // + case 282: { action. initializerListEnd(); break; + } + + // + // Rule 287: designated_initializer ::= <openscope-ast> designation = initializer // - case 284: { action. consumeInitializerDesignated(); break; + case 287: { action. consumeInitializerDesignated(); break; } // - // Rule 288: designator_base ::= [ constant_expression ] + // Rule 291: designator_base ::= [ constant_expression ] // - case 288: { action. consumeDesignatorArray(); break; + case 291: { action. consumeDesignatorArray(); break; } // - // Rule 289: designator_base ::= . identifier_or_typedefname + // Rule 292: designator_base ::= . identifier_or_typedefname // - case 289: { action. consumeDesignatorField(); break; + case 292: { action. consumeDesignatorField(); break; } // - // Rule 290: designator ::= [ constant_expression ] + // Rule 293: designator ::= [ constant_expression ] // - case 290: { action. consumeDesignatorArray(); break; + case 293: { action. consumeDesignatorArray(); break; } // - // Rule 291: designator ::= . identifier_or_typedefname + // Rule 294: designator ::= . identifier_or_typedefname // - case 291: { action. consumeDesignatorField(); break; + case 294: { action. consumeDesignatorField(); break; } // - // Rule 292: translation_unit ::= external_declaration_list + // Rule 295: translation_unit ::= external_declaration_list // - case 292: { action. consumeTranslationUnit(); break; + case 295: { action. consumeTranslationUnit(); break; } // - // Rule 293: translation_unit ::= $Empty + // Rule 296: translation_unit ::= $Empty // - case 293: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 298: external_declaration ::= ; + // Rule 301: external_declaration ::= ; // - case 298: { action. consumeDeclarationEmpty(); break; + case 301: { action. consumeDeclarationEmpty(); break; } // - // Rule 299: external_declaration ::= ERROR_TOKEN + // Rule 302: external_declaration ::= ERROR_TOKEN // - case 299: { action. consumeDeclarationProblem(); break; + case 302: { action. consumeDeclarationProblem(); break; } // - // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 305: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(true); break; + case 305: { action. consumeFunctionDefinition(true); break; } // - // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= <openscope-ast> function_declarator function_body // - case 303: { action. consumeFunctionDefinition(false); break; + case 306: { action. consumeFunctionDefinition(false); break; } // - // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 304: { action. consumeFunctionDefinitionKnR(); break; + case 307: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 305: function_body ::= { } + // Rule 308: function_body ::= { } // - case 305: { action. consumeStatementCompoundStatement(false); break; + case 308: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 306: function_body ::= { <openscope-ast> block_item_list } + // Rule 309: function_body ::= { <openscope-ast> block_item_list } // - case 306: { action. consumeStatementCompoundStatement(true); break; + case 309: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 308: expression_parser_start ::= ERROR_TOKEN + // Rule 311: expression_parser_start ::= ERROR_TOKEN // - case 308: { action. consumeExpressionProblem(); break; + case 311: { action. consumeExpressionProblem(); break; } // - // Rule 309: literal ::= MYTHREAD + // Rule 312: literal ::= MYTHREAD // - case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 312: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 310: literal ::= THREADS + // Rule 313: literal ::= THREADS // - case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 311: literal ::= UPC_MAX_BLOCKSIZE + // Rule 314: literal ::= UPC_MAX_BLOCKSIZE // - case 311: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 314: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 312: unary_expression ::= upc_localsizeof unary_expression + // Rule 315: unary_expression ::= upc_localsizeof unary_expression // - case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 313: unary_expression ::= upc_localsizeof ( type_name ) + // Rule 316: unary_expression ::= upc_localsizeof ( type_name ) // - case 313: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 316: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 314: unary_expression ::= upc_blocksizeof unary_expression + // Rule 317: unary_expression ::= upc_blocksizeof unary_expression // - case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 315: unary_expression ::= upc_blocksizeof ( type_name ) + // Rule 318: unary_expression ::= upc_blocksizeof ( type_name ) // - case 315: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 318: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 316: unary_expression ::= upc_elemsizeof unary_expression + // Rule 319: unary_expression ::= upc_elemsizeof unary_expression // - case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 319: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 317: unary_expression ::= upc_elemsizeof ( type_name ) + // Rule 320: unary_expression ::= upc_elemsizeof ( type_name ) // - case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 320: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 321: shared_type_qualifier ::= shared + // Rule 324: shared_type_qualifier ::= shared // - case 321: { action. consumeToken(); break; + case 324: { action. consumeToken(); break; } // - // Rule 322: reference_type_qualifier ::= relaxed + // Rule 325: reference_type_qualifier ::= relaxed // - case 322: { action. consumeToken(); break; + case 325: { action. consumeToken(); break; } // - // Rule 323: reference_type_qualifier ::= strict + // Rule 326: reference_type_qualifier ::= strict // - case 323: { action. consumeToken(); break; + case 326: { action. consumeToken(); break; } // - // Rule 324: layout_qualifier ::= [ constant_expression ] + // Rule 327: layout_qualifier ::= [ constant_expression ] // - case 324: { action. consumeLayoutQualifier(true, false); break; + case 327: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 325: layout_qualifier ::= [ * ] + // Rule 328: layout_qualifier ::= [ * ] // - case 325: { action. consumeLayoutQualifier(false, true); break; + case 328: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 326: layout_qualifier ::= [ ] + // Rule 329: layout_qualifier ::= [ ] // - case 326: { action. consumeLayoutQualifier(false, false); break; + case 329: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 328: synchronization_statement ::= upc_notify expression ; + // Rule 331: synchronization_statement ::= upc_notify expression ; // - case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 329: synchronization_statement ::= upc_notify ; + // Rule 332: synchronization_statement ::= upc_notify ; // - case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 330: synchronization_statement ::= upc_wait expression ; + // Rule 333: synchronization_statement ::= upc_wait expression ; // - case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 331: synchronization_statement ::= upc_wait ; + // Rule 334: synchronization_statement ::= upc_wait ; // - case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 332: synchronization_statement ::= upc_barrier expression ; + // Rule 335: synchronization_statement ::= upc_barrier expression ; // - case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 333: synchronization_statement ::= upc_barrier ; + // Rule 336: synchronization_statement ::= upc_barrier ; // - case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 334: synchronization_statement ::= upc_fence ; + // Rule 337: synchronization_statement ::= upc_fence ; // - case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 337: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 335: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 338: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 336: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 339: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 337: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 340: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 338: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 341: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 339: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 339: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 342: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 340: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 340: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 343: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 341: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 341: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 344: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 342: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 342: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 345: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 346: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 347: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 348: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 349: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 350: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 351: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 352: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 353: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 354: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 355: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 356: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 357: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 355: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 355: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 358: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 356: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 356: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 359: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 357: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 357: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 360: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 358: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 361: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 358: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 361: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 360: affinity ::= continue + // Rule 363: affinity ::= continue // - case 360: { action. consumeToken(); break; + case 363: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java index 9d802d02b0b..4b9256b0bda 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParserprs.java @@ -45,7 +45,7 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP 3,1,5,1,3,3,3,3,3,3, 3,3,3,3,3,1,1,2,1,0, 1,3,1,1,1,1,1,1,1,1, - 3,3,2,2,4,1,2,1,1,1, + 3,4,3,2,4,1,2,1,1,1, 2,5,7,5,1,0,7,5,9,8, 3,2,2,2,3,2,4,2,2,2, 2,2,1,1,1,1,2,1,2,2, @@ -62,170 +62,166 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP 4,6,6,3,5,1,1,2,3,4, 1,2,1,3,1,1,3,2,1,1, 1,1,2,1,2,3,1,1,1,3, - 1,2,2,2,3,4,5,1,5,1, - 1,3,3,4,1,1,2,3,2,3, - 2,1,0,1,2,1,1,1,1,1, - 2,4,3,6,2,4,1,1,1,1, - 1,2,4,2,4,2,4,1,1,2, - 1,1,1,3,3,2,1,3,2,3, - 2,3,2,2,11,10,10,9,10,9, - 9,8,10,9,9,8,9,8,8,7, - 10,9,9,8,9,8,8,7,1,1, - -43,0,0,0,0,0,0,-2,0,0, + 1,2,2,2,3,4,5,1,7,3, + 0,0,1,1,3,3,4,1,1,2, + 3,2,3,2,1,0,1,2,1,1, + 1,1,1,2,4,3,6,2,4,1, + 1,1,1,1,2,4,2,4,2,4, + 1,1,2,1,1,1,3,3,2,1, + 3,2,3,2,3,2,2,11,10,10, + 9,10,9,9,8,10,9,9,8,9, + 8,8,7,10,9,9,8,9,8,8, + 7,1,1,-43,0,0,0,0,0,0, + -40,0,0,0,0,0,0,0,0,0, + 0,0,0,-82,-215,-80,0,0,0,0, + 0,0,-2,-4,-17,-124,0,0,0,0, + -61,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, - -82,-4,-80,0,0,0,0,-5,0,0, - 0,0,0,0,0,0,0,-61,0,0, + 0,0,-20,-21,0,0,-22,0,0,0, + 0,0,0,0,-138,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-17,0,-36,0,-6,0, - 0,0,0,0,0,0,0,0,-19,-20, - -88,-21,0,0,0,0,0,0,0,0, - -138,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-210,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,-62,0,0,0,0,0, + 0,-159,0,0,0,0,0,0,0,0, + 0,-55,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-41,-74,0,-189,-23, + 0,-56,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,0,0,-185,0, 0,0,0,0,0,0,0,0,0,0, - -44,0,0,0,0,0,0,0,0,-143, + 0,0,0,0,0,0,0,0,-83,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-25,-26, + 0,-147,-27,0,0,0,-96,-58,0,0, 0,0,0,0,0,0,0,0,0,0, - -22,0,0,-159,-23,-24,0,-56,0,0, + 0,0,0,-28,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-142,0, + 0,0,0,-57,0,0,0,0,0,0, + -129,0,0,0,0,-197,0,0,0,-29, + 0,0,0,0,-97,-36,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -37,-25,0,-184,0,0,0,0,0,0, + 0,0,-206,0,0,0,0,0,0,-75, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-83,0,0,0,0,0,0, + 0,0,-3,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-147,-170,0,-7,0,0,0, - 0,0,-59,0,0,0,0,0,0,0, + 0,0,-59,0,0,0,0,0,0,-176, + 0,0,0,0,0,0,0,0,0,-9, + 0,0,0,0,0,0,0,-123,0,0, 0,0,0,0,0,0,0,0,0,0, - -85,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,-26,0,0, - 0,0,0,0,0,0,0,-27,0,0, - 0,-8,0,0,0,0,0,0,0,0, - 0,-15,0,0,0,0,0,0,0,0, - 0,0,0,-3,0,0,0,0,0,0, - -158,0,0,0,0,0,0,0,0,0, - 0,0,0,-123,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-150,-76,-130, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-130,0,0,0,0,0,0, - -28,0,0,0,0,0,0,0,0,0, - 0,0,-29,-97,0,0,-98,-99,-100,-57, 0,0,0,0,0,0,0,0,0,0, - 0,-204,0,0,0,0,0,0,0,0, + -98,0,-99,-143,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-30,0,0,0,0,0,0,-40,0, + 0,0,0,-100,0,0,-30,0,0,0, + 0,0,0,-77,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,-45,0,0,0,0,0,0,0,0, - -63,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-64,0,0,0, + 0,0,0,-78,0,0,0,0,0,0, + 0,0,0,0,0,0,-65,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -64,0,0,0,0,0,0,-41,0,0, + 0,0,0,0,0,0,-66,0,0,0, + 0,0,0,-79,0,0,0,0,0,0, + 0,0,0,0,0,0,-67,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -65,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-68,0,0,0, + 0,0,0,-127,0,0,0,0,0,0, + 0,0,0,0,0,0,-69,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -66,0,0,0,0,0,0,-74,0,0, + 0,0,0,0,0,0,-70,0,0,0, + 0,0,0,-145,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, - -67,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-72,0,0,0, + 0,0,0,-173,0,0,0,0,0,0, + 0,0,0,0,0,0,-73,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -68,0,0,0,0,0,0,-75,0,0, + 0,0,0,0,0,0,-164,0,0,0, + 0,0,0,-195,0,0,0,0,0,0, + 0,0,0,0,0,0,-165,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -69,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-188,0,0,0, + 0,0,0,-101,0,0,0,0,0,0, + 0,0,0,0,0,-203,0,0,0,0, + 0,0,-102,0,0,0,0,0,0,0, + 0,0,0,0,-209,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -70,0,0,0,0,0,0,-76,0,0, + 0,0,0,-213,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,-223,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -72,0,0,0,0,0,0,-77,0,0, + 0,-137,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -73,0,0,0,0,0,0,0,0,0, + -87,-146,-103,-85,-37,-91,-104,0,0,-49, + 0,0,0,0,0,0,-86,0,0,0, + -92,-120,-94,0,0,0,0,-88,0,-187, + 0,-198,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-168,0,0,0, + 0,0,0,0,0,0,-122,0,-132,-166, + 0,0,-105,0,0,0,0,-106,0,0, 0,0,0,0,0,0,0,0,0,0, - -163,0,0,0,0,0,0,-78,0,0, + 0,0,-144,0,0,0,0,0,0,0, + -200,0,0,0,0,0,0,0,-5,0, + 0,0,0,0,-222,0,0,0,0,0, + -107,0,-50,0,0,0,0,0,0,-134, + 0,0,0,0,-171,-108,0,0,0,0, + 0,0,0,0,-6,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-7,0, + 0,0,0,0,0,-51,0,0,0,0, + 0,0,-135,0,0,0,-38,-139,-152,0, + -154,0,0,0,0,0,0,0,0,-8, + 0,0,0,0,0,0,0,-52,0,0, + 0,0,0,0,0,0,0,0,-53,0, + 0,0,0,0,0,-89,0,0,-54,0, + 0,0,0,0,0,-84,0,0,-157,-160, + -193,-175,0,-90,-179,0,0,-158,0,0, + 0,0,-109,-194,-110,0,-191,-111,0,0, + 0,0,0,0,0,-208,0,0,0,0, + -93,0,-184,0,0,0,0,0,0,0, + -112,0,0,0,0,-95,-10,0,0,0, + 0,0,0,0,0,0,0,0,0,-113, + -42,0,0,0,0,0,0,0,0,0, + 0,0,-15,0,0,0,0,0,0,0, + 0,0,-44,0,0,0,0,0,0,0, + 0,-45,0,0,0,0,0,0,-207,0, + -16,0,0,0,0,0,0,0,0,0, + -126,0,0,0,0,0,0,-163,-227,-224, + 0,-114,-115,0,-151,0,0,0,0,0, + 0,-180,0,-167,0,0,0,0,0,0, + 0,0,0,0,-205,-216,0,-11,0,0, + 0,0,0,0,-116,0,0,0,0,0, + 0,0,0,-12,0,0,0,0,0,0, + -13,0,0,0,0,0,0,-14,0,0, + 0,0,0,0,-18,0,-31,-172,-212,-121, + -117,0,-156,0,0,-32,-118,0,0,-218, + -169,-204,0,-39,-219,0,-119,0,0,0, + 0,0,0,0,0,0,0,0,0,-140, + -33,0,0,0,0,-34,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -164,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-131, + -35,0,0,0,-220,-133,0,0,0,0, + -136,0,-148,-161,0,-181,-125,-182,-186,0, + 0,0,-128,-214,0,0,0,0,0,0, + 0,0,-46,0,0,0,0,0,0,0, + 0,0,0,0,0,-47,0,0,0,0, + 0,0,-48,0,0,0,0,0,0,-81, + 0,0,0,0,0,0,-141,-170,-190,-226, + -199,0,-153,-196,0,0,-201,0,0,0, + 0,-155,0,-221,0,0,-162,-202,0,0, + 0,0,0,0,0,0,0,-174,0,0, + 0,0,0,0,0,-183,0,-178,0,0, + 0,0,0,-1,0,-211,-217,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -187,0,0,0,0,0,0,-101,0,0, - 0,0,0,0,0,0,0,0,0,-201, - 0,0,0,0,0,0,-102,0,0,0, - 0,0,0,0,0,0,0,0,-207,0, + 0,0,0,0,0,0,0,0,-149,0, + 0,0,-177,-225,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-192,0,0, + 0,0,0,0,-60,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-211,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-221,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-137,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-174,-146,-144,-86,-79,-202, - -168,0,0,-58,0,0,0,0,0,0, - -103,0,0,0,0,0,0,0,0,0, - 0,0,0,-213,0,0,0,-104,-210,0, - 0,0,0,0,0,0,0,0,0,-167, - -91,0,0,0,0,0,0,-49,0,0, - 0,0,0,0,-127,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-92, - -96,-196,0,0,0,-105,0,0,0,0, - 0,0,0,-106,0,0,0,0,0,0, - -175,-94,-120,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-125,0,0, - 0,0,0,0,0,-198,-107,0,0,0, - 0,-122,0,0,-188,0,-108,0,0,-124, - 0,0,0,0,0,0,0,0,-55,0, - 0,0,0,0,0,-142,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-109, - 0,-145,-132,-134,-87,0,-220,0,0,0, - 0,-110,-150,0,-50,0,0,0,0,0, - 0,0,0,0,0,-135,-139,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-111,0,0,0,0,0,0,0,0, - -16,0,0,0,0,0,0,0,-165,0, - -112,0,-51,0,0,0,0,0,0,-113, - 0,0,0,-52,0,0,0,0,0,0, - 0,0,0,0,-114,-89,0,0,-53,0, - 0,0,0,0,0,-121,0,0,-54,0, - 0,0,0,0,0,-84,0,0,0,0, - 0,0,0,-90,-178,-129,-152,-179,0,0, - 0,0,0,0,0,0,-9,0,0,0, - 0,0,0,-214,0,0,0,0,0,0, - -93,0,0,0,0,0,0,0,0,0, - -186,0,0,0,0,-95,-10,0,0,0, - 0,0,0,0,0,0,0,-172,0,-115, - -42,0,-203,0,0,0,0,0,0,0, - 0,0,0,-116,-117,0,-118,0,0,0, - 0,0,-126,0,0,0,0,0,0,0, - -151,0,0,0,0,0,0,-166,0,0, - 0,0,0,0,0,-222,0,0,0,0, - -154,-157,0,-160,-208,-140,0,0,0,0, - 0,-119,-131,0,-11,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-13, - 0,0,0,0,0,0,-14,0,0,0, - 0,0,0,-18,-133,-171,-136,-31,0,-193, - 0,-32,0,-183,0,-33,0,-206,0,-169, - -195,-197,0,-199,0,-200,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-34,0,0,0, - -35,0,0,0,0,0,0,0,0,0, - -46,0,0,0,0,0,0,0,-128,-191, - -192,0,-148,0,0,0,0,0,0,-180, - 0,-47,0,0,0,0,0,0,-141,0, - 0,0,0,-215,0,-48,0,0,0,0, - 0,0,-81,0,0,0,0,0,0,-218, - -153,0,0,0,0,-155,-205,0,-181,-173, - 0,0,0,-216,0,-156,0,-194,0,0, - 0,0,-177,-185,0,-219,0,0,0,0, - 0,-212,0,-209,-149,0,0,-223,0,0, - 0,0,0,0,-217,0,-1,0,0,0, - -182,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-161,0,0,0,0, - 0,0,0,0,0,0,0,0,-162,0, - 0,0,0,0,-190,-176,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-38,0,-39,-60,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -235,198 +231,195 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface BaseAction { public final static char baseAction[] = { - 85,7,22,22,20,20,31,31,70,70, + 86,7,22,22,20,20,30,30,71,71, 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,54,54,71, - 71,5,5,5,5,5,5,5,5,5, + 4,4,4,4,4,4,4,54,54,72, + 72,5,5,5,5,5,5,5,5,5, 5,5,6,6,8,8,8,8,9,9, 9,10,10,10,11,11,11,11,11,12, 12,12,13,13,14,14,15,15,16,16, 17,17,18,18,19,19,19,19,19,19, - 19,19,19,19,19,19,96,30,28,86, - 86,73,73,45,97,97,97,97,97,97, - 97,98,98,98,99,99,104,104,105,105, - 100,100,101,101,101,107,107,102,102,102, - 102,103,103,103,103,103,106,106,21,21, - 21,21,21,33,33,33,79,79,74,74, - 74,74,75,75,75,76,76,76,77,77, - 77,78,78,78,108,108,109,109,110,34, + 19,19,19,19,19,19,98,31,28,87, + 87,74,74,45,99,99,99,99,99,99, + 99,100,100,100,101,101,106,106,107,107, + 102,102,103,103,103,109,109,104,104,104, + 104,105,105,105,105,105,108,108,21,21, + 21,21,21,33,33,33,80,80,75,75, + 75,75,76,76,76,77,77,77,78,78, + 78,79,79,79,110,110,111,111,112,34, 36,36,36,36,36,55,57,57,57,57, - 57,57,57,57,57,57,57,57,67,67, - 32,32,64,64,64,64,65,65,65,58, - 58,59,59,51,51,51,27,87,87,80, - 81,81,81,66,66,82,82,83,83,68, - 68,23,24,24,24,35,50,50,37,37, + 57,57,57,57,57,57,57,57,68,68, + 32,32,65,65,65,65,66,66,66,58, + 58,59,59,51,51,51,27,88,88,81, + 82,82,82,67,67,83,83,84,84,69, + 69,23,24,24,24,35,50,50,37,37, 37,37,40,40,42,38,38,39,43,43, - 111,111,41,112,112,88,88,29,29,29, - 29,29,29,29,29,29,84,52,52,52, + 113,113,41,114,114,89,89,29,29,29, + 29,29,29,29,29,29,85,52,52,52, 52,61,61,60,60,60,62,62,53,53, - 89,89,44,44,63,63,63,46,46,46, + 90,90,44,44,63,63,63,46,46,46, 47,48,48,48,49,49,49,49,56,56, - 72,72,72,72,69,90,91,91,92,92, - 93,93,113,113,114,114,115,115,115,115, - 117,117,116,116,116,118,118,85,85,1, - 1,1,5,5,5,5,5,5,23,23, - 25,25,26,26,94,94,94,97,119,119, - 119,119,119,119,119,102,102,102,102,102, - 102,102,102,102,102,102,102,102,102,102, - 102,102,102,102,102,102,102,102,102,120, - 120,1,14,19,15,415,713,44,33,430, - 429,511,432,516,515,618,532,701,628,74, - 91,65,51,472,134,211,318,319,830,14, - 19,15,415,316,136,133,135,159,800,14, - 19,15,415,42,44,20,430,429,511,432, - 516,515,618,532,1390,1149,138,138,165,860, - 14,19,15,415,314,142,145,148,151,74, - 430,359,186,1416,382,1325,1406,1434,1461,1476, - 1231,734,14,19,15,415,713,44,514,430, - 429,511,432,516,515,618,532,701,628,74, - 278,734,14,19,15,415,713,44,514,430, - 429,511,432,516,515,618,532,701,628,74, - 278,800,14,19,15,415,42,44,23,718, - 440,14,19,15,415,713,44,280,430,429, - 511,432,516,515,618,532,701,628,74,1379, - 281,73,238,661,780,173,184,280,800,14, - 19,15,415,42,44,320,430,429,511,1287, - 281,138,285,1545,486,14,19,15,415,713, - 44,514,430,429,511,432,516,515,618,532, - 701,628,74,278,394,14,19,15,415,713, - 44,1268,430,429,511,432,516,515,618,532, - 701,628,74,1290,340,65,237,890,14,19, - 15,415,312,800,14,19,15,415,42,44, - 282,430,429,511,432,516,1362,134,211,318, - 319,302,22,283,1724,1285,286,136,133,135, - 159,800,14,19,15,415,42,44,126,430, - 429,511,432,516,515,618,1405,1232,350,138, - 272,165,920,14,19,15,415,40,142,145, - 148,151,950,14,19,15,415,33,1325,1406, - 1434,1461,1476,1231,800,14,19,15,415,713, - 44,654,430,429,511,432,516,515,618,532, - 701,628,74,91,980,14,19,15,415,713, - 44,1679,430,429,511,432,516,515,618,532, - 701,628,74,1306,612,14,19,15,415,42, - 44,162,430,429,511,432,516,515,618,532, - 701,628,93,109,1010,1604,326,1050,435,471, - 800,14,19,15,415,42,44,382,430,429, - 511,1320,767,14,19,15,415,713,44,1333, - 430,429,511,432,516,515,618,532,701,628, - 74,278,800,14,19,15,415,713,44,573, - 430,429,511,432,516,515,618,532,701,628, - 74,92,800,14,19,15,415,42,44,1693, - 719,800,14,19,15,415,713,44,284,430, - 429,511,432,516,515,618,532,701,628,74, - 85,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 84,800,14,19,15,415,713,44,16,430, - 429,511,432,516,515,618,532,701,628,74, - 83,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 82,800,14,19,15,415,713,44,1490,430, - 429,511,432,516,515,618,532,701,628,74, - 81,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 80,800,14,19,15,415,713,44,1504,430, - 429,511,432,516,515,618,532,701,628,74, - 79,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 78,800,14,19,15,415,713,44,1505,430, - 429,511,432,516,515,618,532,701,628,74, - 77,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 76,800,14,19,15,415,713,44,1507,430, - 429,511,432,516,515,618,532,701,628,74, - 75,800,14,19,15,415,713,44,573,430, - 429,511,432,516,515,618,532,701,628,74, - 1660,800,14,19,15,415,713,44,1552,430, - 429,511,432,516,515,618,532,701,628,74, - 1661,800,14,19,15,415,42,44,86,430, - 429,511,432,516,515,618,532,701,628,93, - 800,14,19,15,415,42,44,200,430,429, - 511,432,516,515,618,532,701,628,93,800, - 14,19,15,415,42,44,1707,430,429,511, - 432,516,515,618,532,701,628,93,800,14, - 19,15,415,42,44,210,430,429,511,432, - 516,515,618,532,701,628,93,800,14,19, - 15,415,42,44,1714,430,429,511,432,516, - 515,618,532,701,628,93,800,14,19,15, - 415,42,44,201,430,429,511,432,516,515, - 618,532,701,628,73,480,543,292,369,573, - 605,709,202,575,800,14,19,15,415,42, - 44,249,430,429,511,432,516,515,1332,21, - 252,211,318,319,446,271,183,273,287,525, - 226,1454,1670,216,1161,219,1610,221,222,227, - 135,663,264,1158,601,269,260,1718,800,14, - 19,15,415,42,44,573,430,429,1048,261, - 274,216,1161,219,1610,221,222,227,208,271, - 805,340,1033,1553,1600,270,354,216,1161,219, - 1610,221,222,227,474,258,264,1158,601,269, - 1600,240,835,6,134,211,318,319,1276,193, - 441,271,1595,1215,137,133,135,159,121,217, - 1161,219,1610,221,222,227,405,532,266,1158, - 601,269,64,1454,1597,812,139,244,165,1546, - 472,251,211,318,319,143,146,149,152,800, - 14,19,15,415,42,44,472,430,429,511, - 432,1277,239,216,1161,219,1610,221,222,227, - 301,194,573,6,6,516,1732,405,241,1157, - 1701,1706,572,472,1454,800,14,19,15,415, - 42,44,276,430,429,1067,6,235,134,211, - 318,319,490,1716,1766,324,197,199,141,133, - 135,159,610,1189,216,1161,219,1610,221,222, - 227,950,14,19,15,415,32,1732,287,472, - 140,426,165,800,14,19,15,415,42,44, - 219,430,429,1171,800,14,19,15,415,42, - 44,240,430,429,1188,618,1059,198,199,800, - 14,19,15,415,42,44,1074,430,1236,800, - 14,19,15,415,42,44,1148,430,1244,134, - 211,318,319,1659,1091,480,599,6,692,144, - 133,135,159,1735,1710,271,274,800,14,19, - 15,415,42,39,65,271,275,134,211,318, - 319,1101,266,1158,601,269,182,147,133,135, - 159,605,264,1158,601,269,1133,800,14,19, - 15,415,42,38,134,211,318,319,573,1215, - 280,517,1616,692,150,133,135,159,381,134, - 211,318,319,289,577,619,1536,620,277,153, - 133,135,159,566,14,19,15,415,42,35, - 271,566,14,19,15,415,42,35,566,14, - 19,15,415,42,35,244,78,264,1158,601, - 269,6,6,325,6,654,121,1684,1723,1751, - 245,461,656,665,263,800,14,19,15,415, - 42,37,800,14,19,15,415,42,36,251, - 211,318,319,217,1161,219,1610,221,222,227, - 800,14,19,15,415,42,35,800,14,19, - 15,415,42,34,6,699,712,700,6,1745, - 573,361,6,574,480,361,6,1779,605,361, - 866,599,480,361,480,196,480,1156,1734,196, - 223,1491,87,196,808,1491,87,196,808,1491, - 87,229,808,1491,87,26,808,6,759,225, - 291,6,848,185,361,184,888,203,361,257, - 928,800,14,19,15,415,42,47,196,478, - 472,472,196,653,1491,87,574,808,1491,87, - 114,808,800,14,19,15,415,42,46,121, - 1156,968,242,243,480,1008,800,14,19,15, - 415,42,45,701,14,19,15,415,42,43, - 573,55,251,211,318,319,112,472,574,693, - 169,1416,256,574,472,204,536,574,478,1322, - 228,1663,196,283,228,574,596,196,1251,288, - 574,196,452,1251,597,342,290,1251,647,1156, - 1157,574,574,1918,196,480,232,658,1670,1918, - 1251,536,191,1918,654,1156,1156,191,1918,1155, - 1786,191,1918,1001,1435,1786,121,1918,1612,1786, - 1232,256,1918,1918,191,87,279,307,1322,349, - 1663,1614,1786,1670,207,425,226,256,256,251, - 211,318,319,574,1700,1488,1663,1663,1438,1709, - 1918,1918,252,211,318,319,1918,196,252,211, - 318,319,1918,1251,476,1918,6,6,1918,207, - 1918,654,1726,654,654,1918,1918,1785,1918,1918, - 1918,1918,368,1493,1709,1918,1918,192,1918,1918, - 1918,1918,89,1918,87,87,383,1381,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1159,1918,0,321,694,0,17,179,0,18, - 178,0,1,2142,0,1,2153,0 + 56,64,91,73,73,73,73,70,92,93, + 93,94,94,95,95,115,115,116,116,117, + 117,117,117,119,119,118,118,118,120,120, + 86,86,1,1,1,5,5,5,5,5, + 5,23,23,25,25,26,26,96,96,96, + 99,121,121,121,121,121,121,121,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,122,122,1,14,19,15,395,640, + 44,597,433,420,437,434,534,520,580,579, + 604,583,74,91,282,654,479,134,211,321, + 322,1720,1556,277,62,1141,479,136,133,135, + 159,823,14,19,15,395,42,44,20,433, + 420,437,434,534,520,580,579,1470,239,138, + 250,165,216,1611,219,1728,221,222,227,142, + 145,148,151,78,128,1044,1600,288,394,1191, + 1396,1414,1441,1456,587,730,14,19,15,395, + 640,44,492,433,420,437,434,534,520,580, + 579,604,583,74,278,792,14,19,15,395, + 640,44,492,433,420,437,434,534,520,580, + 579,604,583,74,278,823,14,19,15,395, + 42,44,708,433,420,437,434,534,520,580, + 1532,283,823,14,19,15,395,42,44,1674, + 433,420,437,434,1301,284,597,597,1418,712, + 352,283,823,14,19,15,395,42,44,1674, + 433,420,437,1316,339,284,16,1533,1615,486, + 14,19,15,395,640,44,492,433,420,437, + 434,534,520,580,579,604,583,74,278,396, + 14,19,15,395,640,44,1677,433,420,437, + 434,534,520,580,579,604,583,74,396,33, + 52,237,341,119,1679,519,289,341,823,14, + 19,15,395,42,44,285,433,420,437,434, + 534,520,1425,1674,978,134,211,321,322,286, + 134,211,321,322,290,136,133,135,159,479, + 137,133,135,159,823,14,19,15,395,42, + 44,603,433,420,437,1423,603,138,1799,165, + 51,241,139,1776,165,1033,313,142,145,148, + 151,275,143,146,149,152,229,1191,1396,1414, + 1441,1456,587,761,14,19,15,395,640,44, + 597,433,420,437,434,534,520,580,579,604, + 583,74,278,823,14,19,15,395,640,44, + 1565,433,420,437,434,534,520,580,579,604, + 583,74,91,823,14,19,15,395,42,44, + 163,433,420,437,434,534,1428,1281,23,287, + 823,14,19,15,395,42,39,1674,1003,14, + 19,15,395,640,44,1727,433,420,437,434, + 534,520,580,579,604,583,74,619,479,597, + 612,14,19,15,395,42,44,394,433,420, + 437,434,534,520,580,579,604,583,93,1601, + 327,1072,329,302,441,14,19,15,395,640, + 44,194,433,420,437,434,534,520,580,579, + 604,583,74,1250,343,748,238,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,92,823,14,19, + 15,395,640,44,1607,433,420,437,434,534, + 520,580,579,604,583,74,85,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,84,823,14,19, + 15,395,640,44,1617,433,420,437,434,534, + 520,580,579,604,583,74,83,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,82,823,14,19, + 15,395,640,44,21,433,420,437,434,534, + 520,580,579,604,583,74,81,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,80,823,14,19, + 15,395,640,44,270,433,420,437,434,534, + 520,580,579,604,583,74,79,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,78,823,14,19, + 15,395,640,44,276,433,420,437,434,534, + 520,580,579,604,583,74,77,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,76,823,14,19, + 15,395,640,44,277,433,420,437,434,534, + 520,580,579,604,583,74,75,823,14,19, + 15,395,640,44,597,433,420,437,434,534, + 520,580,579,604,583,74,1411,823,14,19, + 15,395,640,44,223,433,420,437,434,534, + 520,580,579,604,583,74,1424,823,14,19, + 15,395,42,44,334,433,420,437,434,534, + 520,580,579,604,583,93,823,14,19,15, + 395,42,44,373,433,420,437,434,534,520, + 580,579,604,583,93,823,14,19,15,395, + 42,44,1509,433,420,437,434,534,520,580, + 579,604,583,93,823,14,19,15,395,42, + 44,210,433,420,437,434,534,520,580,579, + 604,583,93,823,14,19,15,395,42,44, + 1610,433,420,437,434,534,520,580,579,604, + 583,93,823,14,19,15,395,42,44,201, + 433,420,437,434,534,520,580,579,604,583, + 73,517,543,482,662,313,85,541,202,1315, + 823,14,19,15,395,42,44,496,433,420, + 1084,142,31,199,134,211,321,322,666,445, + 532,271,620,272,141,133,135,159,1660,216, + 1611,219,1728,221,222,227,273,79,264,1207, + 1194,269,260,1666,1734,1671,140,63,165,31, + 479,271,292,600,1630,261,1733,274,604,217, + 1611,219,1728,221,222,227,271,22,266,1207, + 1194,269,240,291,216,1611,219,1728,221,222, + 227,369,258,264,1207,1194,269,1044,1556,853, + 14,19,15,395,319,369,252,211,321,322, + 924,453,1556,823,14,19,15,395,42,44, + 31,433,420,1103,323,282,188,1742,216,1611, + 219,1728,221,222,227,883,14,19,15,395, + 317,1684,216,1611,219,1728,221,222,227,913, + 14,19,15,395,315,1684,823,14,19,15, + 395,42,44,31,433,420,1193,471,234,31, + 1603,31,197,199,683,1747,1758,1222,1768,1599, + 943,14,19,15,395,40,198,199,823,14, + 19,15,395,42,44,89,433,420,1197,823, + 14,19,15,395,42,44,1079,433,1253,823, + 14,19,15,395,42,44,449,433,1258,31, + 31,479,645,1683,1111,645,1766,1729,742,134, + 211,321,322,245,479,408,274,31,1039,144, + 133,135,159,242,465,271,532,134,211,321, + 322,1118,183,645,884,182,243,147,133,135, + 159,6,264,1207,1194,269,1150,823,14,19, + 15,395,42,38,134,211,321,322,294,924, + 981,577,1443,26,150,133,135,159,384,134, + 211,321,322,973,14,19,15,395,33,153, + 133,135,159,823,14,19,15,395,42,44, + 271,773,823,14,19,15,395,42,44,479, + 794,973,14,19,15,395,32,264,1207,1194, + 269,567,14,19,15,395,42,35,348,58, + 473,291,295,546,263,567,14,19,15,395, + 42,35,837,244,567,14,19,15,395,42, + 35,252,211,321,322,837,282,328,823,14, + 19,15,395,42,37,770,245,217,1611,219, + 1728,221,222,227,823,14,19,15,395,42, + 36,823,14,19,15,395,42,35,823,14, + 19,15,395,42,34,31,1748,31,835,176, + 665,771,364,519,364,582,31,774,1530,1777, + 479,833,532,364,31,742,196,775,196,1192, + 279,683,1471,87,1471,87,516,196,516,271, + 177,31,293,1471,87,1676,31,516,364,371, + 226,517,87,364,1676,386,266,1207,1194,269, + 670,257,196,251,211,321,322,196,1471,87, + 802,31,516,1471,87,597,806,516,364,1804, + 193,828,207,494,831,749,290,177,863,536, + 804,208,196,644,450,228,1542,1678,1471,87, + 582,1528,516,823,14,19,15,395,42,47, + 251,211,321,322,1192,844,823,14,19,15, + 395,42,46,823,14,19,15,395,42,45, + 699,14,19,15,395,42,43,177,707,645, + 642,645,1883,56,644,1600,256,645,1273,1883, + 582,582,113,964,428,1673,1883,177,645,582, + 251,211,321,322,196,1192,1883,225,170,280, + 710,185,774,196,232,582,519,184,284,710, + 251,211,321,322,657,582,307,645,203,196, + 1883,683,1883,582,191,710,1222,256,1273,196, + 1883,1412,1803,191,964,710,1673,1192,1676,651, + 1415,1803,87,227,645,310,582,204,1818,191, + 582,1883,1037,1883,1883,1883,1731,1803,426,191, + 1192,1883,1883,1883,196,31,1737,1803,1883,256, + 710,1883,683,1883,1529,207,1665,1883,1673,1883, + 1883,252,211,321,322,1883,1883,1883,1883,1555, + 1678,1883,256,87,192,1883,1451,1883,1883,1004, + 393,1673,1883,1883,1883,1744,1883,0,324,750, + 0,17,179,0,18,178,0,1,2107,0, + 1,2118,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -439,129 +432,129 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP 0,1,2,3,4,0,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,0,0,33,34,35,36,37,38,39, + 0,31,0,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 0,51,52,53,0,1,0,3,0,5, - 6,7,8,0,0,11,12,13,4,6, - 7,8,0,0,11,12,13,0,1,2, - 0,4,9,10,30,0,0,33,34,35, - 36,37,38,39,40,41,42,43,44,45, - 46,47,48,49,54,51,52,53,0,55, - 56,0,1,0,3,0,5,6,7,8, - 0,89,11,12,13,0,6,7,8,57, - 58,11,12,13,0,1,2,0,1,5, - 3,30,57,58,33,34,35,36,37,38, - 39,40,41,42,43,44,45,46,47,48, - 49,0,51,52,53,31,55,56,0,1, - 0,3,0,5,6,7,8,69,0,11, - 12,13,69,0,50,0,14,79,80,81, - 82,83,84,85,86,87,88,72,30,0, - 0,33,34,35,36,37,38,39,40,41, - 42,43,44,45,46,47,48,49,0,51, - 52,53,0,55,56,0,1,0,3,0, - 5,6,7,8,0,74,11,12,13,0, - 6,7,8,0,5,11,12,13,0,64, - 65,66,67,70,71,30,57,58,33,34, + 0,0,52,53,54,0,1,0,3,0, + 5,0,0,8,9,10,0,12,13,14, + 8,9,10,68,12,13,14,0,0,1, + 2,4,0,5,0,1,31,3,33,34, 35,36,37,38,39,40,41,42,43,44, - 45,46,47,48,49,0,51,52,53,0, - 55,56,0,1,0,3,0,5,6,7, - 8,0,74,11,12,13,69,6,7,8, - 0,0,11,12,13,57,58,64,65,66, - 67,32,30,0,75,33,34,35,36,37, + 45,46,47,48,49,73,51,52,53,54, + 32,56,0,1,30,3,55,5,0,69, + 8,9,10,72,12,13,14,0,50,79, + 80,81,82,83,84,85,86,87,88,62, + 63,0,1,31,3,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,31,51,52,53,0,55,56,0, - 1,0,3,57,58,6,7,8,0,0, - 11,12,13,0,6,7,8,73,0,11, - 12,13,9,10,64,65,66,67,0,30, - 2,0,33,34,35,36,37,38,39,40, - 41,42,43,44,45,46,47,48,49,31, - 51,52,53,0,1,2,3,4,5,31, - 0,60,9,10,0,1,2,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,0,0,77,78,0,0, - 6,7,8,4,0,11,12,13,4,0, - 1,2,3,4,5,0,1,2,9,10, - 0,0,59,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 0,0,68,0,4,0,5,0,0,0, - 5,4,9,10,5,0,1,2,3,4, - 5,62,63,68,9,10,62,63,59,14, + 48,49,0,51,52,53,54,5,56,0, + 1,30,3,0,5,0,0,8,9,10, + 5,12,13,14,8,9,10,0,12,13, + 14,64,65,66,67,77,78,0,0,1, + 31,3,33,34,35,36,37,38,39,40, + 41,42,43,44,45,46,47,48,49,0, + 51,52,53,54,0,56,0,1,30,3, + 55,5,0,0,8,9,10,75,12,13, + 14,8,9,10,0,12,13,14,0,0, + 75,64,65,66,67,6,7,31,0,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,0,51,52,53, + 54,0,56,0,1,4,3,0,5,0, + 0,8,9,10,0,12,13,14,8,9, + 10,0,12,13,14,4,0,1,64,65, + 66,67,0,1,31,3,33,34,35,36, + 37,38,39,40,41,42,43,44,45,46, + 47,48,49,0,51,52,53,54,0,56, + 0,1,0,3,57,58,4,0,8,9, + 10,0,12,13,14,8,9,10,69,12, + 13,14,11,62,63,89,60,73,0,1, + 2,31,0,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,49, + 57,58,52,53,54,0,1,2,3,4, + 5,6,7,0,62,63,11,0,70,71, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,0,0,32,2,68, - 4,6,7,8,0,50,11,12,13,5, - 59,0,62,63,55,0,1,60,3,0, - 55,0,0,1,2,30,4,31,33,34, - 35,36,37,38,39,40,41,42,43,44, - 45,46,47,48,49,0,1,2,3,4, - 5,0,0,31,9,10,0,5,54,14, + 25,26,27,28,29,0,31,0,0,57, + 58,0,5,8,9,10,68,12,13,14, + 0,1,2,3,4,5,6,7,0,0, + 2,11,0,5,59,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 0,31,0,1,2,5,4,50,0,72, + 32,0,55,5,0,0,1,2,3,4, + 5,6,7,0,0,0,11,2,50,59, 15,16,17,18,19,20,21,22,23,24, - 25,26,27,28,29,0,0,1,0,75, - 5,70,71,5,0,1,0,3,32,0, - 0,0,1,2,3,4,5,0,0,0, - 9,10,50,14,59,14,15,16,17,18, + 25,26,27,28,29,30,0,68,0,1, + 50,3,70,71,8,9,10,32,12,13, + 14,0,1,0,3,0,51,59,57,58, + 0,0,0,1,2,0,4,31,55,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,0,1,2,3, + 4,5,6,7,32,30,0,11,2,0, + 4,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,0,57,58,0, + 0,5,0,0,69,6,7,5,32,6, + 7,0,1,2,3,4,5,6,7,0, + 1,2,11,4,0,59,15,16,17,18, 19,20,21,22,23,24,25,26,27,28, - 29,0,1,72,3,50,0,1,50,54, - 32,32,0,0,0,0,60,0,1,2, - 3,4,0,1,0,3,9,10,0,0, - 59,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,32,0,0, - 73,0,0,0,32,0,32,0,0,0, - 0,1,2,3,4,0,54,54,0,9, - 10,0,0,56,14,15,16,17,18,19, + 29,0,1,0,0,0,50,4,0,5, + 0,32,50,0,1,2,0,1,2,3, + 4,0,6,7,0,0,2,11,4,0, + 59,15,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,0,0,1,0, + 3,5,0,32,0,51,32,32,0,1, + 2,3,4,60,6,7,0,0,2,11, + 60,0,56,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,0, + 1,2,3,4,0,6,7,51,32,32, + 11,0,0,32,15,16,17,18,19,20, + 21,22,23,24,25,26,27,28,29,30, + 0,1,2,3,4,0,6,7,61,0, + 0,11,61,0,0,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 32,32,32,0,1,2,3,4,0,31, - 0,0,9,10,0,54,54,14,15,16, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,0,0,32,0,1,2,3, - 4,60,0,0,0,9,10,0,0,0, - 14,15,16,17,18,19,20,21,22,23, - 24,25,26,27,28,29,0,0,32,0, - 1,2,3,4,0,1,0,3,9,10, - 31,0,0,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,1,32,3,9,10, - 61,0,31,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,0,32,2,9,10, - 0,0,61,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,0,31,0,9,10, - 0,0,0,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,0,0,0,9,10, - 0,0,0,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,0,0,0,9,10, - 0,0,0,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 1,2,3,4,0,0,0,0,9,10, - 0,0,0,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,0, - 0,2,0,4,5,6,7,8,0,0, - 11,12,13,0,0,0,0,0,0,0, - 0,0,0,1,2,0,4,0,0,30, + 30,0,1,2,3,4,55,6,7,30, + 30,0,11,30,30,0,15,16,17,18, + 19,20,21,22,23,24,25,26,27,28, + 29,30,0,1,2,3,4,0,6,7, + 0,30,0,11,0,30,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,30,6,7, + 30,0,0,11,32,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,0,6,7, + 0,55,0,11,60,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,55,6,7, + 0,0,0,11,0,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,0,6,7, + 0,0,0,11,0,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,0,6,7, + 0,0,0,11,0,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,1,2,3,4,0,6,7, + 0,0,0,11,0,0,0,15,16,17, + 18,19,20,21,22,23,24,25,26,27, + 28,29,0,0,2,0,4,5,0,0, + 8,9,10,0,12,13,14,0,0,11, + 0,74,0,0,74,0,0,0,0,0, + 0,0,0,31,32,33,34,35,36,37, + 0,0,0,2,0,4,5,0,0,8, + 9,10,50,12,13,14,8,9,10,0, + 12,13,14,0,0,0,0,0,0,0, + 0,0,31,32,33,34,35,36,37,31, + 0,33,34,35,36,37,0,0,8,9, + 10,50,12,13,14,8,9,10,0,12, + 13,14,0,0,0,0,0,0,0,0, + 0,31,2,33,34,35,36,37,31,0, + 33,34,35,36,37,15,16,8,9,10, + 0,12,13,14,0,0,0,0,0,0, + 0,0,32,0,0,0,0,0,0,0, 31,0,33,34,35,36,37,0,0,0, - 0,2,0,4,5,6,7,8,0,50, - 11,12,13,31,6,7,8,0,0,11, - 12,13,0,0,0,2,0,4,0,30, - 31,0,33,34,35,36,37,0,30,0, - 0,33,34,35,36,37,6,7,8,50, - 0,11,12,13,31,0,6,7,8,0, - 0,11,12,13,0,0,0,0,0,0, - 30,0,0,33,34,35,36,37,0,0, - 30,0,0,33,34,35,36,37,6,7, - 8,0,0,11,12,13,0,0,0,2, - 2,0,5,0,0,0,0,0,0,0, - 0,0,30,15,16,33,34,35,36,37, - 0,0,0,0,0,0,0,0,31,31, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,50,0,0, - 0,0,0,0,0,0,0,0,0,61, + 0,61,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,76,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0 + 0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -569,129 +562,128 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface TermAction { public final static char termAction[] = {0, - 1918,714,1594,717,1580,1,2130,2131,2132,1562, - 1555,2240,431,2241,1587,1371,642,632,1928,1929, - 1930,1931,1477,1447,2227,2228,2229,577,419,388, - 2080,1918,1918,2081,2079,2133,2082,2078,2085,2090, - 2089,2087,2088,2086,2091,2092,2084,2093,2094,2095, - 88,1252,1230,1201,1918,1,1918,1,1918,190, - 1,1,1,247,1918,1,1,1,1282,1, - 1,1,54,51,1,1,1,1918,2142,1184, - 1918,1347,772,481,1,58,1918,1,1,1, + 1883,645,1595,771,1581,1883,1574,1558,2095,2096, + 2097,1588,2208,1218,2209,1511,1483,1370,1893,1894, + 1895,1896,1457,720,2195,2196,2197,1339,1325,1289, + 1,2045,68,2046,2044,2098,2047,2043,2050,2055, + 2054,2052,2053,2051,2056,2057,2049,2058,2059,2060, + 42,66,1213,1211,1196,1883,1,282,1,1883, + 190,88,247,1,1,1,1883,1,1,1, + 1,1,1,1172,1,1,1,48,1,1877, + 1237,1713,1883,1888,1883,2063,1,2064,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,752,1,1,1,42,190, - 2113,1918,1,209,1,1918,190,1,1,1, - 1918,1902,1,1,1,66,2130,2131,2132,1409, - 1419,2240,431,2241,1,1912,1200,1918,1947,1923, - 1948,1,1409,1419,1,1,1,1,1,1, + 1,1,1,1,1,588,190,1,1,1, + 559,2078,1883,1,1249,1,797,190,72,1017, + 1,1,1,703,1,1,1,59,1887,997, + 977,957,937,917,877,897,857,837,817,1706, + 1693,1883,2063,1,2064,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,70,1,1,1,554,190,2113,1918,1, - 1918,1,64,190,1,1,1,981,1918,1, - 1,1,1060,62,1922,59,1299,961,941,921, - 901,881,841,861,821,801,781,583,1,57, - 1918,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,71,1, - 1,1,1918,190,2113,1918,1,1918,1,1918, - 189,1,1,1,248,611,1,1,1,1, - 1,1,1,61,1927,1,1,1,56,1394, - 1383,1335,1208,720,518,1,1409,1419,1,1, + 1,1,1,190,1,1,1,1892,2078,1883, + 1,1310,1,1883,190,1883,1883,1,1,1, + 1892,1,1,1,2095,2096,2097,61,2208,1218, + 2209,1378,1346,1303,1200,401,1825,1883,1883,2063, + 1,2064,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1883, + 190,1,1,1,1883,2078,1883,1,1353,1, + 1295,189,1883,248,1,1,1,1891,1,1, + 1,1,1,1,60,1,1,1,1883,51, + 1891,1378,1346,1303,1200,1502,1493,1,1883,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1918,1,1,1,317, - 189,2113,1918,1,68,1,55,190,1,1, - 1,246,611,1,1,1,732,2130,2131,2132, - 60,268,2240,431,2241,1409,1419,1394,1383,1335, - 1208,1253,1,1918,1926,1,1,1,1,1, + 1,1,1,1,1,1,1883,189,1,1, + 1,1883,2078,1883,1,1247,1,54,190,209, + 246,1,1,1,69,1,1,1,2095,2096, + 2097,50,2208,1218,2209,1713,1,1880,1378,1346, + 1303,1200,1883,1912,1,1913,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,554,1,1,1,1918,190,2113,1918, - 2097,1,2096,1409,1419,2130,2131,2132,249,72, - 2240,431,2241,53,2130,2131,2132,1164,321,2240, - 431,2241,772,481,1394,1383,1335,1208,267,2080, - 1436,1918,2081,2079,2133,2082,2078,2085,2090,2089, - 2087,2088,2086,2091,2092,2084,2093,2094,2095,1903, - 1252,1230,1201,1,1935,1594,1936,1513,1921,554, - 1918,2173,1562,1555,1,2142,1184,1587,1371,642, - 632,1928,1929,1930,1931,1477,1447,2227,2228,2229, - 577,419,388,674,250,1918,398,1817,1918,48, - 2130,2131,2132,1686,50,2240,431,2241,1686,1918, - 1935,1594,1936,1528,1921,1,2142,1184,1562,1555, - 1918,200,1920,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1021, - 49,1918,1098,52,1686,1,1921,1,1918,1918, - 90,1282,772,481,1925,1,1935,1594,1936,1580, - 27,1672,1651,1136,1562,1555,1672,1651,1920,1587, - 1371,642,632,1928,1929,1930,1931,1477,1447,2227, - 2228,2229,577,419,388,128,262,1544,1426,1117, - 1,2130,2131,2132,1918,90,2240,431,2241,1927, - 1920,63,1672,1651,1924,206,2098,2173,2099,1918, - 27,1918,259,2142,1200,2080,1,554,2081,2079, - 2133,2082,2078,2085,2090,2089,2087,2088,2086,2091, - 2092,2084,2093,2094,2095,1918,1935,1594,1936,1580, - 1921,67,1918,554,1562,1555,315,1923,1327,1587, - 1371,642,632,1928,1929,1930,1931,1477,1447,2227, - 2228,2229,577,419,388,1918,1,1915,1,1926, - 1923,720,518,1923,1918,2098,1918,2099,1253,65, - 1918,1918,1935,1594,1936,1521,1921,69,313,41, - 1562,1555,1922,1299,1920,1587,1371,642,632,1928, - 1929,1930,1931,1477,1447,2227,2228,2229,577,419, - 388,205,1160,583,1160,1922,1918,2154,1922,1738, - 1253,1253,253,28,1918,1918,2173,1918,1,1, - 1,1,1918,2098,187,2099,1,1,1918,1918, - 1920,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1253,1918,1918, - 1164,28,205,1918,1323,1918,1437,1918,186,188, - 1918,1935,1594,1936,1580,1918,1596,534,218,1562, - 1555,1,1918,2226,1587,1371,642,632,1928,1929, - 1930,1931,1477,1447,2227,2228,2229,577,419,388, - 1541,1542,1253,1,1935,1594,1936,1580,1918,554, - 1918,1918,1562,1555,1918,1945,2920,1587,1371,642, - 632,1928,1929,1930,1931,1477,1447,2227,2228,2229, - 577,419,388,1918,1918,1544,1918,1935,1594,1936, - 1580,2172,1918,1918,1918,1562,1555,1918,1918,1918, - 1587,1371,642,632,1928,1929,1930,1931,1477,1447, - 2227,2228,2229,577,419,388,1918,1918,1544,1918, - 1935,1594,1936,1580,1918,2098,1918,2099,1562,1555, - 1041,285,1918,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1918, - 1935,1598,1936,1580,1918,2098,1324,2099,1562,1555, - 1471,1918,1079,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1918, - 1935,1602,1936,1580,1918,220,1346,1611,1562,1555, - 1918,1918,1608,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1918, - 1935,1606,1936,1580,1918,1918,554,1918,1562,1555, - 1918,1918,1918,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1918, - 1935,1637,1936,1580,1918,1918,1918,1918,1562,1555, - 1918,1918,1918,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1918, - 1935,1641,1936,1580,1918,1918,1918,1918,1562,1555, - 1918,1918,1918,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,1, - 1935,1594,1936,1580,1918,1918,1918,1918,1562,1555, - 1918,1918,1918,1587,1371,642,632,1928,1929,1930, - 1931,1477,1447,2227,2228,2229,577,419,388,17, - 1918,1906,1918,1906,1906,179,179,179,1918,1918, - 179,179,179,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,265,2142,1200,1918,1347,1918,1918,179, - 1906,1918,179,179,179,179,179,1918,1918,18, - 1918,1909,1918,1909,1909,178,178,178,129,1906, - 178,178,178,554,2130,2131,2132,1918,1918,2240, - 431,2241,1918,265,1918,1426,1918,1347,1918,178, - 1909,1918,178,178,178,178,178,1918,2080,1918, - 130,2081,2079,2133,2082,2078,2130,2131,2132,1909, - 131,2240,431,2241,554,1918,2130,2131,2132,1918, - 1918,2240,431,2241,1918,1918,1918,1918,1918,1918, - 2080,1918,1918,2081,2079,2133,2082,2078,1918,1918, - 2080,1918,132,2081,2079,2133,2082,2078,2130,2131, - 2132,1918,1918,2240,431,2241,1918,1,31,1426, - 1814,1918,1923,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,2080,1942,1943,2081,2079,2133,2082,2078, - 1918,1918,1918,1918,1918,1918,1918,1918,554,1816, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1922,1918,1918, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,531, - 1918,1918,1918,1918,1918,1918,1918,1918,1918,1918, - 1918,1918,1918,1918,417 + 1,1,1,58,190,1,1,1,62,2078, + 1883,2062,49,2061,1389,1399,1713,249,2095,2096, + 2097,64,2208,1218,2209,2095,2096,2097,1096,2208, + 1218,2209,502,1706,1693,1867,2138,588,1,2107, + 385,2045,57,2046,2044,2098,2047,2043,2050,2055, + 2054,2052,2053,2051,2056,2057,2049,2058,2059,2060, + 1389,1399,1213,1211,1196,1,1900,1595,1901,1521, + 1886,1574,1558,1883,1706,1693,1588,67,624,522, + 1511,1483,1370,1893,1894,1895,1896,1457,720,2195, + 2196,2197,1339,1325,1289,250,728,1883,1883,1389, + 1399,1883,1888,2095,2096,2097,1134,2208,1218,2209, + 1883,1900,1595,1901,1544,1886,1574,1558,1,200, + 1406,1588,63,1888,1885,1511,1483,1370,1893,1894, + 1895,1896,1457,720,2195,2196,2197,1339,1325,1289, + 1,1057,1883,2107,385,90,1358,1887,1883,703, + 559,56,1730,1886,1883,1,1900,1595,1901,1581, + 27,1574,1558,253,1883,267,1588,631,1887,1885, + 1511,1483,1370,1893,1894,1895,1896,1457,720,2195, + 2196,2197,1339,1325,1289,2933,128,1153,206,2063, + 90,2064,624,522,2095,2096,2097,559,2208,1218, + 2209,1883,2063,1883,2064,1883,27,1885,1389,1399, + 55,1883,259,2107,1237,320,1,2045,1598,2046, + 2044,2098,2047,2043,2050,2055,2054,2052,2053,2051, + 2056,2057,2049,2058,2059,2060,1883,1900,1595,1901, + 1581,1886,1574,1558,559,1212,262,1588,1406,1883, + 1,1511,1483,1370,1893,1894,1895,1896,1457,720, + 2195,2196,2197,1339,1325,1289,1883,1389,1399,53, + 1883,1888,1,52,663,1502,1493,1888,559,1502, + 1493,1883,1900,1595,1901,1535,1886,1574,1558,265, + 2107,1237,1588,1358,1883,1885,1511,1483,1370,1893, + 1894,1895,1896,1457,720,2195,2196,2197,1339,1325, + 1289,1883,2119,1,1883,1883,1887,1247,1883,1890, + 1,559,1887,1,2107,385,1883,1,1,1, + 1,268,1,1,265,324,1406,1,1358,1883, + 1885,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,281,205,1612,1883, + 1612,1410,1883,559,1883,1889,559,1868,1883,1900, + 1595,1901,1581,2138,1574,1558,220,1883,636,1588, + 2138,288,2194,1511,1483,1370,1893,1894,1895,1896, + 1457,720,2195,2196,2197,1339,1325,1289,1212,1, + 1900,1595,1901,1581,1883,1574,1558,1410,559,1077, + 1588,28,1883,1115,1511,1483,1370,1893,1894,1895, + 1896,1457,720,2195,2196,2197,1339,1325,1289,2933, + 1883,1900,1595,1901,1581,1883,1574,1558,1220,318, + 316,1588,1436,41,1883,1511,1483,1370,1893,1894, + 1895,1896,1457,720,2195,2196,2197,1339,1325,1289, + 2933,1,1900,1595,1901,1581,539,1574,1558,1212, + 1212,187,1588,1212,1212,186,1511,1483,1370,1893, + 1894,1895,1896,1457,720,2195,2196,2197,1339,1325, + 1289,2933,1883,1900,1595,1901,1581,188,1574,1558, + 1883,1359,218,1588,1,1361,28,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1883,1900,1597,1901,1581,1409,1574,1558, + 1427,1883,205,1588,559,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1883,1900,1606,1901,1581,1883,1574,1558, + 1883,1910,1883,1588,2137,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1883,1900,1631,1901,1581,2934,1574,1558, + 1883,1883,1883,1588,1883,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1883,1900,1636,1901,1581,1883,1574,1558, + 1883,1883,1883,1588,1883,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1883,1900,1661,1901,1581,70,1574,1558, + 71,1883,1883,1588,1883,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,1,1900,1595,1901,1581,1883,1574,1558, + 1883,1883,1883,1588,1883,1883,1883,1511,1483,1370, + 1893,1894,1895,1896,1457,720,2195,2196,2197,1339, + 1325,1289,17,1883,1871,1883,1871,1871,65,1883, + 179,179,179,1883,179,179,179,1883,1883,502, + 1883,485,1883,1883,485,1883,1883,1883,1883,1883, + 1883,1883,1883,179,1871,179,179,179,179,179, + 1883,18,1883,1874,1883,1874,1874,1883,129,178, + 178,178,1871,178,178,178,2095,2096,2097,1883, + 2208,1218,2209,1883,1883,1883,1883,1883,1883,1883, + 1883,1883,178,1874,178,178,178,178,178,2045, + 130,2046,2044,2098,2047,2043,1883,131,2095,2096, + 2097,1874,2208,1218,2209,2095,2096,2097,1883,2208, + 1218,2209,1883,1883,1883,1883,1883,1883,1883,1883, + 31,2045,1357,2046,2044,2098,2047,2043,2045,132, + 2046,2044,2098,2047,2043,1907,1908,2095,2096,2097, + 1883,2208,1218,2209,1883,1883,1883,1883,1883,1883, + 1883,1883,1614,1883,1883,1883,1883,1883,1883,1883, + 2045,1883,2046,2044,2098,2047,2043,1883,1883,1883, + 1883,1883,1883,1883,1883,1883,1883,1883,1883,1883, + 1883,1195,1883,1883,1883,1883,1883,1883,1883,1883, + 1883,1883,1883,1883,1883,1883,646 }; }; public final static char termAction[] = TermAction.termAction; @@ -699,29 +691,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface Asb { public final static char asb[] = {0, - 463,1,168,41,168,168,168,168,168,168, - 168,168,168,168,168,168,3,55,378,375, - 382,380,388,386,390,389,392,391,10,168, - 55,55,55,55,55,360,360,487,168,240, - 240,315,55,168,168,168,168,168,168,168, - 168,168,168,168,168,168,168,168,168,168, - 168,168,168,168,168,168,168,168,168,168, - 168,168,168,240,240,240,240,240,240,45, - 135,319,159,327,238,237,287,48,299,299, - 155,155,299,155,299,75,191,191,375,375, - 380,380,380,380,378,378,386,382,382,389, - 388,424,391,390,363,363,363,363,157,133, - 315,307,162,45,98,106,240,426,330,106, - 403,254,403,254,321,403,168,133,307,98, - 98,45,105,159,240,313,75,239,332,45, - 106,254,254,254,254,321,321,323,251,133, - 98,307,168,168,45,106,327,419,418,319, - 332,240,254,284,243,254,254,284,323,458, - 323,321,284,131,461,360,168,250,133,307, - 45,45,240,426,330,313,284,245,284,284, - 168,360,323,135,45,360,168,323,332,399, - 168,398,187,319,284,45,284,240,239,245, - 168,187,361 + 488,1,89,41,89,89,89,89,89,89, + 89,89,89,89,89,89,3,238,403,400, + 407,405,413,411,415,414,417,416,10,89, + 238,238,238,238,238,385,385,327,89,161, + 161,225,238,89,89,89,89,89,89,89, + 89,89,89,89,89,89,89,89,89,89, + 89,89,89,89,89,89,89,89,89,89, + 89,89,89,161,161,161,161,161,161,45, + 56,229,80,352,159,158,197,231,209,209, + 76,76,209,76,209,258,112,112,400,400, + 405,405,405,405,403,403,411,407,407,414, + 413,449,416,415,388,388,388,388,78,54, + 225,217,83,45,281,172,161,456,355,172, + 428,288,428,288,321,428,89,54,217,281, + 281,45,171,80,161,223,258,160,357,45, + 172,288,288,288,288,321,321,323,49,318, + 78,281,217,89,89,45,172,352,444,443, + 229,357,161,288,318,164,288,288,318,323, + 451,323,321,318,52,454,385,89,48,318, + 54,217,45,45,161,456,355,223,318,166, + 318,318,89,385,323,56,45,385,89,54, + 357,424,89,423,108,229,318,45,323,161, + 160,166,89,108,318,386,323 }; }; public final static char asb[] = Asb.asb; @@ -729,57 +721,57 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface Asr { public final static byte asr[] = {0, - 89,0,75,31,2,61,76,15,16,14, - 4,9,10,62,63,57,58,64,65,66, - 67,70,71,72,73,74,77,78,55,69, + 89,0,75,32,2,61,76,15,16,11, + 4,6,7,62,63,57,58,64,65,66, + 67,70,71,72,73,74,77,78,51,69, 79,80,81,82,83,85,84,86,87,88, - 68,50,89,54,59,5,0,5,68,54, - 59,50,75,31,17,18,19,20,21,2, - 15,16,14,4,9,10,22,23,24,25, - 26,27,28,29,3,1,51,52,53,46, - 38,43,41,42,40,39,44,45,47,48, - 49,37,34,30,33,36,35,6,7,8, - 12,11,13,0,30,59,5,15,16,14, - 4,9,10,22,23,17,27,28,29,2, - 1,3,18,19,20,21,24,25,26,0, - 5,55,31,61,15,16,14,4,9,10, - 22,23,17,27,28,29,2,18,19,20, - 21,24,25,26,1,3,32,0,59,5, - 30,6,7,8,11,12,13,18,19,20, - 21,24,25,26,3,15,16,14,9,10, - 22,23,17,27,28,29,4,2,1,0, - 7,30,37,8,36,35,34,6,33,11, - 12,13,61,76,15,16,14,9,10,62, - 63,57,58,64,65,66,67,70,71,72, - 73,74,77,78,69,79,80,81,82,83, - 84,85,86,87,88,4,2,31,54,50, - 5,0,75,5,4,1,2,68,0,69, - 31,61,0,33,38,6,39,51,34,40, - 35,41,42,36,7,43,44,30,52,37, - 53,45,46,8,47,48,49,1,3,11, - 12,13,56,55,5,0,46,38,43,41, + 68,50,89,55,59,5,0,69,32,61, + 0,5,51,32,61,15,16,11,4,6, + 7,22,23,17,27,28,29,2,18,19, + 20,21,24,25,26,1,3,30,0,59, + 5,31,8,9,10,12,13,14,18,19, + 20,21,24,25,26,3,15,16,11,6, + 7,22,23,17,27,28,29,4,2,1, + 0,9,31,37,10,36,35,34,8,33, + 12,13,14,61,76,15,16,11,6,7, + 62,63,57,58,64,65,66,67,70,71, + 72,73,74,77,78,69,79,80,81,82, + 83,84,85,86,87,88,4,2,32,55, + 50,5,0,75,5,4,1,2,68,0, + 31,59,5,15,16,11,4,6,7,22, + 23,17,27,28,29,2,1,3,18,19, + 20,21,24,25,26,0,46,38,43,41, 42,40,39,44,45,47,48,49,68,75, - 37,34,30,33,36,35,6,7,8,11, - 12,13,54,1,5,50,2,31,4,0, - 1,3,5,55,54,0,4,2,31,50, - 5,33,38,6,39,51,34,40,35,41, - 42,36,7,43,44,30,52,37,53,45, - 46,8,47,48,49,11,12,13,60,3, - 1,0,69,79,80,81,82,83,84,85, - 86,87,88,32,4,62,63,9,10,58, - 57,64,65,66,67,70,71,14,72,73, - 74,59,50,55,89,77,78,68,75,5, - 54,0,33,6,34,35,36,7,30,37, - 8,1,4,11,12,13,32,2,5,54, - 50,75,31,68,0,33,38,6,39,51, - 34,40,35,41,42,36,7,43,44,30, - 52,37,53,45,46,8,47,48,49,1, - 3,11,12,13,60,4,0,5,54,55, - 69,0,17,18,19,20,21,1,3,2, - 15,16,14,4,9,10,22,23,24,25, - 26,27,28,29,56,0,5,50,17,18, - 19,20,21,1,3,2,15,16,14,4, - 9,10,22,23,24,25,26,27,28,29, + 37,34,31,33,36,35,8,9,10,12, + 13,14,55,1,5,50,2,32,4,0, + 5,68,55,59,50,75,32,17,18,19, + 20,21,2,15,16,11,4,6,7,22, + 23,24,25,26,27,28,29,3,1,52, + 53,54,46,38,43,41,42,40,39,44, + 45,47,48,49,37,34,31,33,36,35, + 8,9,10,13,12,14,0,33,38,8, + 39,52,34,40,35,41,42,36,9,43, + 44,31,53,37,54,45,46,10,47,48, + 49,1,3,12,13,14,56,5,51,0, + 1,3,5,51,55,0,5,50,17,18, + 19,20,21,1,3,2,15,16,11,4, + 6,7,22,23,24,25,26,27,28,29, + 0,4,2,32,50,5,33,38,8,39, + 52,34,40,35,41,42,36,9,43,44, + 31,53,37,54,45,46,10,47,48,49, + 12,13,14,60,3,1,0,69,79,80, + 81,82,83,84,85,86,87,88,30,4, + 62,63,6,7,58,57,64,65,66,67, + 70,71,11,72,73,74,59,50,51,89, + 77,78,68,75,5,55,0,33,8,34, + 35,36,9,31,37,10,1,4,12,13, + 14,30,2,5,55,50,75,32,68,0, + 5,55,51,69,0,33,38,8,39,52, + 34,40,35,41,42,36,9,43,44,31, + 53,37,54,45,46,10,47,48,49,1, + 3,12,13,14,60,4,0,17,18,19, + 20,21,1,3,2,15,16,11,4,6, + 7,22,23,24,25,26,27,28,29,56, 0 }; }; @@ -788,29 +780,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface Nasb { public final static byte nasb[] = {0, - 82,8,17,8,17,17,17,17,17,17, - 17,17,17,17,17,17,8,66,8,8, - 8,8,8,8,8,8,8,8,8,17, - 66,66,66,66,66,9,9,89,67,64, - 64,59,1,17,17,17,17,17,17,17, - 17,17,17,17,17,17,17,17,17,67, - 17,17,17,17,17,17,17,17,17,17, - 17,17,17,64,64,64,64,64,64,21, - 17,72,19,58,23,23,44,11,45,45, - 38,38,45,38,45,40,8,8,8,8, + 87,8,16,8,16,16,16,16,16,16, + 16,16,16,16,16,16,8,73,8,8, + 8,8,8,8,8,8,8,8,8,16, + 73,73,73,73,73,32,32,59,74,30, + 30,63,1,16,16,16,16,16,16,16, + 16,16,16,16,16,16,16,16,16,74, + 16,16,16,16,16,16,16,16,16,16, + 16,16,16,30,30,30,30,30,30,20, + 16,81,18,62,40,40,26,44,27,27, + 42,42,27,42,27,22,8,8,8,8, 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,8,8,80, - 60,80,16,21,50,20,64,70,63,20, - 8,80,8,80,80,8,17,16,80,50, - 50,21,20,29,64,32,2,8,79,21, - 20,80,74,80,74,38,80,25,13,80, - 50,29,17,17,21,20,31,23,23,72, - 79,64,74,27,47,85,74,27,25,8, - 8,38,27,15,8,38,17,56,16,29, - 21,21,64,70,63,33,27,52,27,27, - 17,38,25,17,21,38,17,25,78,48, - 17,8,52,72,27,21,27,64,64,52, - 17,35,8 + 8,8,8,8,8,8,8,8,8,92, + 64,92,37,20,77,19,30,79,29,19, + 8,92,8,92,92,8,16,14,92,77, + 77,20,19,53,30,47,2,8,91,20, + 19,92,83,92,83,42,92,69,9,92, + 8,77,53,16,16,20,19,46,40,40, + 81,91,30,83,67,34,94,83,67,69, + 8,8,42,67,13,8,42,16,11,67, + 92,53,20,20,30,79,29,48,67,55, + 67,67,16,42,69,15,20,42,16,14, + 90,35,16,8,55,81,67,20,69,30, + 30,55,16,50,67,8,71 }; }; public final static byte nasb[] = Nasb.nasb; @@ -818,16 +810,16 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,75,74,0,71,0, - 94,0,91,0,69,7,4,0,7,4, - 22,0,29,0,54,0,31,0,23,0, - 20,7,48,47,40,38,0,32,0,64, - 65,66,67,55,33,0,7,70,0,61, - 0,7,40,38,0,93,0,20,7,48, - 47,0,7,20,0,27,7,30,0,7, - 21,52,0,59,7,27,0,88,21,7, - 0,7,85,0,7,27,51,0,7,86, - 0 + 4,80,79,78,77,76,75,0,93,0, + 95,0,70,7,64,4,0,7,4,22, + 0,65,66,67,68,55,33,0,7,20, + 0,72,0,7,71,0,4,7,0,29, + 0,32,0,96,0,20,7,48,47,40, + 38,0,23,0,7,40,38,0,7,87, + 0,20,7,48,47,0,30,0,54,0, + 91,0,27,7,31,0,61,0,7,21, + 52,0,59,7,27,0,7,86,0,89, + 21,7,0,7,27,51,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -835,12 +827,12 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface TerminalIndex { public final static char terminalIndex[] = {0, - 85,2,86,9,87,48,64,76,10,11, - 96,97,98,8,6,7,68,81,82,83, - 84,12,13,93,94,95,100,101,102,69, - 1,3,44,55,60,63,72,47,52,56, + 85,2,86,9,87,10,11,48,64,76, + 8,96,97,98,6,7,68,81,82,83, + 84,12,13,93,94,95,100,101,102,3, + 69,1,44,55,60,63,72,47,52,56, 61,62,66,67,74,75,78,79,80,90, - 54,70,73,42,91,107,16,17,89,30, + 91,54,70,73,42,107,16,17,89,30, 4,14,15,18,19,20,21,29,31,22, 23,24,25,26,92,5,27,28,32,33, 34,35,36,37,38,39,40,41,108,45, @@ -855,16 +847,17 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public final static char nonterminalIndex[] = {0, 0,0,0,115,119,120,0,121,122,123, 124,125,126,127,128,129,130,131,132,111, - 136,110,143,0,0,0,154,0,163,114, - 112,135,142,0,0,0,159,161,0,162, + 136,110,143,0,0,0,154,0,163,112, + 114,135,142,0,0,0,159,161,0,162, 0,0,0,117,134,172,173,174,0,151, 153,160,169,0,145,150,0,0,152,164, - 167,168,171,146,147,148,149,158,175,113, - 116,118,133,137,138,139,140,141,144,156, - 0,0,157,166,109,0,155,165,170,176, - 177,0,178,179,0,0,0,0,0,0, + 167,168,171,0,146,147,148,149,158,175, + 113,116,118,133,137,138,139,140,141,144, + 156,0,0,157,166,109,0,155,165,170, + 0,176,177,0,178,179,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -872,12 +865,12 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopePrefix { public final static char scopePrefix[] = { - 214,118,57,67,125,145,151,188,26,33, - 85,103,157,162,73,6,12,16,38,81, - 50,135,210,229,233,50,50,197,50,1, - 1,1,42,45,90,113,45,237,20,139, - 204,179,204,131,167,167,167,167,167,93, - 93,93 + 218,120,59,69,129,149,155,26,192,35, + 87,105,161,166,75,6,12,16,40,83, + 52,139,214,233,237,52,52,201,52,1, + 1,1,44,47,92,115,47,241,20,143, + 208,183,208,135,171,171,171,171,171,95, + 95,95 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -885,12 +878,12 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeSuffix { public final static char scopeSuffix[] = { - 31,31,4,4,31,31,31,194,31,10, - 4,10,31,31,78,10,10,10,10,4, - 4,133,10,10,4,54,78,201,63,4, - 4,4,10,48,4,10,116,10,23,142, - 207,182,222,133,169,171,173,175,177,100, - 95,108 + 127,127,4,4,127,127,127,32,198,10, + 4,10,127,127,80,10,10,10,10,4, + 4,137,10,10,4,56,80,205,65,4, + 4,4,10,50,4,10,118,10,23,146, + 211,186,226,137,173,175,177,179,181,102, + 97,110 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -898,11 +891,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeLhs { public final static char scopeLhs[] = { - 4,66,29,29,66,64,64,101,56,49, - 29,43,64,64,29,5,5,5,49,29, - 29,51,5,4,4,29,29,18,29,94, - 93,92,47,63,29,40,50,2,69,51, - 6,102,4,51,78,77,76,75,74,43, + 4,67,29,29,67,65,65,56,103,49, + 29,43,65,65,29,5,5,5,49,29, + 29,51,5,4,4,29,29,18,29,96, + 95,94,47,63,29,40,50,2,70,51, + 6,104,4,51,79,78,77,76,75,43, 41,43 }; }; @@ -911,11 +904,11 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeLa { public final static byte scopeLa[] = { - 55,55,59,59,55,55,55,95,55,50, - 59,50,55,55,18,50,50,50,50,59, - 59,75,50,50,59,4,18,68,30,59, + 51,51,59,59,51,51,51,51,95,50, + 59,50,51,51,18,50,50,50,50,59, + 59,75,50,50,59,4,18,68,31,59, 59,59,50,2,59,50,1,50,69,1, - 50,101,50,75,3,51,52,52,46,2, + 50,101,50,75,3,52,53,53,46,2, 2,2 }; }; @@ -924,7 +917,7 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeStateSet { public final static byte scopeStateSet[] = { - 36,21,25,25,21,21,21,-1,96,29, + 36,21,25,25,21,21,21,96,-1,29, 25,11,21,21,25,36,36,36,29,25, 25,5,36,36,36,25,25,70,25,19, 1,3,29,31,25,11,13,36,97,5, @@ -937,30 +930,31 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeRhs { public final static char scopeRhs[] = {0, - 152,31,0,110,0,151,2,29,0,111, - 0,151,2,28,0,151,2,27,0,197, - 114,0,31,150,0,161,179,114,32,0, - 112,0,167,114,2,154,0,167,114,2, - 0,170,2,0,159,114,0,172,0,191, - 114,31,0,9,110,0,126,30,191,114, - 31,0,69,132,110,0,126,191,114,30, - 31,0,191,114,30,31,0,132,110,0, - 126,30,31,0,126,191,114,31,0,126, - 31,0,147,0,2,0,165,111,0,2, - 111,0,167,114,2,147,0,2,0,164, - 111,0,157,2,0,159,0,161,189,114, - 32,139,51,0,161,189,114,32,51,0, - 134,0,113,0,194,114,134,0,114,134, - 0,155,113,0,165,114,32,139,53,0, - 165,114,32,139,52,0,165,114,32,53, - 0,165,114,32,52,0,186,0,149,0, - 148,0,147,0,146,0,145,0,204,94, - 0,77,2,114,111,113,0,204,127,137, - 2,98,0,53,0,0,137,78,124,0, - 29,131,0,151,2,0,111,120,0,151, - 2,17,0,161,179,114,32,127,151,2, - 0,111,3,0,118,0,112,0,193,2, - 111,0,137,31,111,0,137,2,0 + 152,32,0,110,0,151,2,29,0,111, + 0,151,2,28,0,151,2,27,0,199, + 114,0,31,150,0,161,180,114,30,171, + 0,112,0,0,167,114,2,154,0,167, + 114,2,0,170,2,0,159,114,0,172, + 0,192,114,32,0,9,110,0,126,31, + 192,114,32,0,69,132,110,0,126,192, + 114,31,32,0,192,114,31,32,0,132, + 110,0,126,31,32,0,126,192,114,32, + 0,126,32,0,147,0,2,0,165,111, + 0,2,111,0,167,114,2,147,0,2, + 0,164,111,0,157,2,0,159,0,161, + 190,114,30,139,52,0,112,0,161,190, + 114,30,52,0,134,0,113,0,195,114, + 134,0,114,134,0,155,113,0,165,114, + 30,139,54,0,165,114,30,139,53,0, + 165,114,30,54,0,165,114,30,53,0, + 187,0,149,0,148,0,147,0,146,0, + 145,0,206,94,0,77,2,114,111,113, + 0,206,127,138,2,98,0,53,0,0, + 138,78,124,0,29,131,0,151,2,0, + 111,120,0,151,2,17,0,161,180,114, + 30,127,151,2,0,111,3,0,118,0, + 112,0,194,2,111,0,138,32,111,0, + 138,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -968,16 +962,16 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface ScopeState { public final static char scopeState[] = {0, - 1285,0,514,0,1723,1786,1710,1706,1701,0, - 1536,1232,1327,1184,1276,1200,1156,0,431,0, - 1231,574,361,0,1610,1161,1158,601,1232,1416, - 1200,1156,1426,1491,0,1371,642,632,577,419, - 388,1528,1521,1513,1693,611,398,583,1164,720, - 518,1299,1419,1409,1394,1383,1335,1208,1686,1672, - 1651,772,481,1587,1580,1562,1555,1477,1447,1117, - 1098,1079,1060,1041,1021,1001,490,1136,694,674, - 554,981,961,941,921,901,881,861,841,821, - 801,781,361,752,654,732,461,534,441,0 + 519,0,492,0,1768,1803,1758,1742,1733,0, + 1530,1222,1295,385,1281,1237,1192,0,1218,0, + 587,582,364,0,1728,1611,1207,1194,1222,1600, + 1237,1192,1406,1471,0,1511,1483,1370,1339,1325, + 1289,1544,1535,1521,1720,485,401,703,588,624, + 522,502,1399,1389,1378,1346,1303,1200,1713,1706, + 1693,1502,1493,1588,1581,1574,1558,1457,720,1153, + 1134,1115,1096,1077,1057,1037,774,1172,750,728, + 559,1017,997,977,957,937,917,897,877,857, + 837,817,364,797,683,663,465,539,445,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -985,29 +979,29 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public interface InSymb { public final static char inSymb[] = {0, - 0,192,114,180,29,28,27,17,23,22, - 10,9,4,14,16,15,111,2,116,115, - 118,117,120,119,122,121,124,123,112,54, - 2,2,2,2,2,76,61,2,31,151, - 137,134,114,10,9,63,62,4,67,66, - 65,64,57,58,14,71,70,73,72,78, + 0,193,114,181,29,28,27,17,23,22, + 7,6,4,11,16,15,111,2,116,115, + 118,117,120,119,122,121,124,123,112,55, + 2,2,2,2,2,76,61,2,32,151, + 138,134,114,7,6,63,62,4,67,66, + 65,64,57,58,11,71,70,73,72,78, 77,74,88,87,86,84,85,83,82,81, - 80,79,69,151,151,151,151,151,193,137, - 127,114,31,2,155,154,181,12,182,183, - 53,52,184,51,185,186,1,3,115,115, + 80,79,69,151,151,151,151,151,194,138, + 127,114,32,2,155,154,182,13,183,184, + 54,53,185,52,186,187,1,3,115,115, 117,117,117,117,116,116,119,118,118,121, - 120,137,123,122,127,127,127,127,127,32, - 159,4,30,126,114,4,170,114,2,31, - 139,32,139,32,32,139,68,114,4,114, - 114,126,191,168,167,128,114,169,114,152, - 4,32,114,32,114,114,32,179,114,32, - 114,168,191,30,126,4,2,145,147,114, - 54,167,114,165,134,166,114,165,189,139, - 190,114,161,54,197,61,31,198,114,168, - 126,126,157,114,2,159,165,114,165,161, - 69,54,189,69,152,61,31,179,114,194, - 68,157,2,114,161,152,161,167,195,54, - 68,159,54 + 120,138,123,122,127,127,127,127,127,30, + 159,4,31,126,114,4,170,114,2,32, + 139,30,139,30,30,139,68,114,4,114, + 114,126,192,168,167,128,114,169,114,152, + 4,30,114,30,114,114,30,180,114,30, + 171,114,168,192,31,126,4,2,145,147, + 114,55,167,114,165,134,166,114,165,190, + 139,191,114,161,55,199,61,32,200,114, + 30,168,126,126,157,114,2,159,165,114, + 165,161,69,55,190,69,152,61,32,114, + 114,195,68,157,2,114,161,152,180,167, + 196,55,68,159,161,55,137 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1217,20 +1211,20 @@ public class UPCExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, UP public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 223, + NUM_STATES = 227, NT_OFFSET = 107, - LA_STATE_OFFSET = 2278, + LA_STATE_OFFSET = 2246, MAX_LA = 2, - NUM_RULES = 360, - NUM_NONTERMINALS = 120, - NUM_SYMBOLS = 227, + NUM_RULES = 363, + NUM_NONTERMINALS = 122, + NUM_SYMBOLS = 229, SEGMENT_SIZE = 8192, - START_STATE = 1747, + START_STATE = 1774, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1902, - ERROR_ACTION = 1918; + ACCEPT_ACTION = 1867, + ERROR_ACTION = 1883; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java index c9c99f54e91..48dd697416a 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCExpressionParsersym.java @@ -19,13 +19,13 @@ public interface UPCExpressionParsersym { TK_break = 90, TK_case = 91, TK_char = 38, - TK_const = 6, + TK_const = 8, TK_continue = 92, TK_default = 93, TK_do = 94, TK_double = 39, TK_else = 95, - TK_enum = 51, + TK_enum = 52, TK_extern = 34, TK_float = 40, TK_for = 96, @@ -35,19 +35,19 @@ public interface UPCExpressionParsersym { TK_int = 41, TK_long = 42, TK_register = 36, - TK_restrict = 7, + TK_restrict = 9, TK_return = 99, TK_short = 43, TK_signed = 44, TK_sizeof = 17, - TK_static = 30, - TK_struct = 52, + TK_static = 31, + TK_struct = 53, TK_switch = 100, TK_typedef = 37, - TK_union = 53, + TK_union = 54, TK_unsigned = 45, TK_void = 46, - TK_volatile = 8, + TK_volatile = 10, TK_while = 101, TK__Bool = 47, TK__Complex = 48, @@ -60,17 +60,17 @@ public interface UPCExpressionParsersym { TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 102, - TK_LeftBracket = 31, + TK_LeftBracket = 32, TK_LeftParen = 2, - TK_LeftBrace = 32, + TK_LeftBrace = 30, TK_Dot = 61, TK_Arrow = 76, TK_PlusPlus = 15, TK_MinusMinus = 16, - TK_And = 14, + TK_And = 11, TK_Star = 4, - TK_Plus = 9, - TK_Minus = 10, + TK_Plus = 6, + TK_Minus = 7, TK_Tilde = 22, TK_Bang = 23, TK_Slash = 62, @@ -101,17 +101,17 @@ public interface UPCExpressionParsersym { TK_AndAssign = 86, TK_CaretAssign = 87, TK_OrAssign = 88, - TK_Comma = 54, + TK_Comma = 55, TK_RightBracket = 59, TK_RightParen = 50, - TK_RightBrace = 55, + TK_RightBrace = 51, TK_SemiColon = 75, TK_MYTHREAD = 24, TK_THREADS = 25, TK_UPC_MAX_BLOCKSIZE = 26, - TK_relaxed = 11, - TK_shared = 12, - TK_strict = 13, + TK_relaxed = 12, + TK_shared = 13, + TK_strict = 14, TK_upc_barrier = 103, TK_upc_localsizeof = 27, TK_upc_blocksizeof = 28, @@ -130,15 +130,15 @@ public interface UPCExpressionParsersym { "Completion", "Star", "EndOfCompletion", + "Plus", + "Minus", "const", "restrict", "volatile", - "Plus", - "Minus", + "And", "relaxed", "shared", "strict", - "And", "PlusPlus", "MinusMinus", "sizeof", @@ -154,9 +154,9 @@ public interface UPCExpressionParsersym { "upc_localsizeof", "upc_blocksizeof", "upc_elemsizeof", + "LeftBrace", "static", "LeftBracket", - "LeftBrace", "auto", "extern", "inline", @@ -175,11 +175,11 @@ public interface UPCExpressionParsersym { "_Complex", "_Imaginary", "RightParen", + "RightBrace", "enum", "struct", "union", "Comma", - "RightBrace", "ERROR_TOKEN", "RightShift", "LeftShift", diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java index 2246467b429..776a747049e 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParser.java @@ -24,6 +24,7 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -32,7 +33,6 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCNoCastExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { @@ -176,8 +176,9 @@ private UPCParserAction action; public UPCNoCastExpressionParser() { // constructor } -private void initActions(IASTTranslationUnit tu) { +private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu); + action.setParserOptions(options); } @@ -187,10 +188,10 @@ public void addToken(IToken token) { } -public IASTCompletionNode parse(IASTTranslationUnit tu) { +public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) { // this has to be done, or... kaboom! setStreamLength(getSize()); - initActions(tu); + initActions(tu, options); final int errorRepairCount = -1; // -1 means full error handling parser(null, errorRepairCount); // do the actual parse @@ -596,13 +597,13 @@ public UPCNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 101: labeled_statement ::= case constant_expression : + // Rule 101: labeled_statement ::= case constant_expression : statement // case 101: { action. consumeStatementCase(); break; } // - // Rule 102: labeled_statement ::= default : + // Rule 102: labeled_statement ::= default : statement // case 102: { action. consumeStatementDefault(); break; } @@ -1160,381 +1161,399 @@ public UPCNoCastExpressionParser(String[] mapFrom) { // constructor } // - // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt } + // Rule 278: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // case 278: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 279: initializer ::= { <openscope-ast> } + // + case 279: { action. consumeInitializerList(); break; + } + + // + // Rule 280: start_initializer_list ::= $Empty + // + case 280: { action. initializerListStart(); break; + } + + // + // Rule 281: end_initializer_list ::= $Empty + // + case 281: { action. initializerListEnd(); break; + } + + // + // Rule 286: designated_initializer ::= <openscope-ast> designation = initializer // - case 283: { action. consumeInitializerDesignated(); break; + case 286: { action. consumeInitializerDesignated(); break; } // - // Rule 287: designator_base ::= [ constant_expression ] + // Rule 290: designator_base ::= [ constant_expression ] // - case 287: { action. consumeDesignatorArray(); break; + case 290: { action. consumeDesignatorArray(); break; } // - // Rule 288: designator_base ::= . identifier_or_typedefname + // Rule 291: designator_base ::= . identifier_or_typedefname // - case 288: { action. consumeDesignatorField(); break; + case 291: { action. consumeDesignatorField(); break; } // - // Rule 289: designator ::= [ constant_expression ] + // Rule 292: designator ::= [ constant_expression ] // - case 289: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 290: designator ::= . identifier_or_typedefname + // Rule 293: designator ::= . identifier_or_typedefname // - case 290: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 291: translation_unit ::= external_declaration_list + // Rule 294: translation_unit ::= external_declaration_list // - case 291: { action. consumeTranslationUnit(); break; + case 294: { action. consumeTranslationUnit(); break; } // - // Rule 292: translation_unit ::= $Empty + // Rule 295: translation_unit ::= $Empty // - case 292: { action. consumeTranslationUnit(); break; + case 295: { action. consumeTranslationUnit(); break; } // - // Rule 297: external_declaration ::= ; + // Rule 300: external_declaration ::= ; // - case 297: { action. consumeDeclarationEmpty(); break; + case 300: { action. consumeDeclarationEmpty(); break; } // - // Rule 298: external_declaration ::= ERROR_TOKEN + // Rule 301: external_declaration ::= ERROR_TOKEN // - case 298: { action. consumeDeclarationProblem(); break; + case 301: { action. consumeDeclarationProblem(); break; } // - // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 304: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 305: function_definition ::= <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 305: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 303: { action. consumeFunctionDefinitionKnR(); break; + case 306: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 304: function_body ::= { } + // Rule 307: function_body ::= { } // - case 304: { action. consumeStatementCompoundStatement(false); break; + case 307: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 305: function_body ::= { <openscope-ast> block_item_list } + // Rule 308: function_body ::= { <openscope-ast> block_item_list } // - case 305: { action. consumeStatementCompoundStatement(true); break; + case 308: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 307: no_cast_start ::= ERROR_TOKEN + // Rule 310: no_cast_start ::= ERROR_TOKEN // - case 307: { action. consumeExpressionProblem(); break; + case 310: { action. consumeExpressionProblem(); break; } // - // Rule 308: literal ::= MYTHREAD + // Rule 311: literal ::= MYTHREAD // - case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 311: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 309: literal ::= THREADS + // Rule 312: literal ::= THREADS // - case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 312: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 310: literal ::= UPC_MAX_BLOCKSIZE + // Rule 313: literal ::= UPC_MAX_BLOCKSIZE // - case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 311: unary_expression ::= upc_localsizeof unary_expression + // Rule 314: unary_expression ::= upc_localsizeof unary_expression // - case 311: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 312: unary_expression ::= upc_localsizeof ( type_name ) + // Rule 315: unary_expression ::= upc_localsizeof ( type_name ) // - case 312: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 315: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 313: unary_expression ::= upc_blocksizeof unary_expression + // Rule 316: unary_expression ::= upc_blocksizeof unary_expression // - case 313: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 314: unary_expression ::= upc_blocksizeof ( type_name ) + // Rule 317: unary_expression ::= upc_blocksizeof ( type_name ) // - case 314: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 317: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 315: unary_expression ::= upc_elemsizeof unary_expression + // Rule 318: unary_expression ::= upc_elemsizeof unary_expression // - case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 318: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 316: unary_expression ::= upc_elemsizeof ( type_name ) + // Rule 319: unary_expression ::= upc_elemsizeof ( type_name ) // - case 316: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 319: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 320: shared_type_qualifier ::= shared + // Rule 323: shared_type_qualifier ::= shared // - case 320: { action. consumeToken(); break; + case 323: { action. consumeToken(); break; } // - // Rule 321: reference_type_qualifier ::= relaxed + // Rule 324: reference_type_qualifier ::= relaxed // - case 321: { action. consumeToken(); break; + case 324: { action. consumeToken(); break; } // - // Rule 322: reference_type_qualifier ::= strict + // Rule 325: reference_type_qualifier ::= strict // - case 322: { action. consumeToken(); break; + case 325: { action. consumeToken(); break; } // - // Rule 323: layout_qualifier ::= [ constant_expression ] + // Rule 326: layout_qualifier ::= [ constant_expression ] // - case 323: { action. consumeLayoutQualifier(true, false); break; + case 326: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 324: layout_qualifier ::= [ * ] + // Rule 327: layout_qualifier ::= [ * ] // - case 324: { action. consumeLayoutQualifier(false, true); break; + case 327: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 325: layout_qualifier ::= [ ] + // Rule 328: layout_qualifier ::= [ ] // - case 325: { action. consumeLayoutQualifier(false, false); break; + case 328: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 327: synchronization_statement ::= upc_notify expression ; + // Rule 330: synchronization_statement ::= upc_notify expression ; // - case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 328: synchronization_statement ::= upc_notify ; + // Rule 331: synchronization_statement ::= upc_notify ; // - case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 329: synchronization_statement ::= upc_wait expression ; + // Rule 332: synchronization_statement ::= upc_wait expression ; // - case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 330: synchronization_statement ::= upc_wait ; + // Rule 333: synchronization_statement ::= upc_wait ; // - case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 331: synchronization_statement ::= upc_barrier expression ; + // Rule 334: synchronization_statement ::= upc_barrier expression ; // - case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 332: synchronization_statement ::= upc_barrier ; + // Rule 335: synchronization_statement ::= upc_barrier ; // - case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 333: synchronization_statement ::= upc_fence ; + // Rule 336: synchronization_statement ::= upc_fence ; // - case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 336: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 334: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 337: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 335: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 338: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 336: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 339: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 337: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 340: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 338: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 338: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 341: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 339: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 339: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 342: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 340: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 340: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 343: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 341: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 344: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 341: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 344: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 342: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 345: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 342: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 345: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 343: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 346: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 343: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 346: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 344: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 347: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 344: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 347: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 345: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 345: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 348: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 346: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 346: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 349: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 347: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 347: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 350: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 348: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 348: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 351: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 349: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 352: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 349: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 352: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 350: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 353: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 351: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 354: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 352: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 355: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 353: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 356: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 354: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 354: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 357: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 355: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 355: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 358: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 356: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 356: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 359: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 357: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 360: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 357: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 360: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 359: affinity ::= continue + // Rule 362: affinity ::= continue // - case 359: { action. consumeToken(); break; + case 362: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java index c919965ad79..e8338145b2d 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParserprs.java @@ -45,7 +45,7 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,5,1,3,3,3,3,3,3,3, 3,3,3,3,1,1,2,1,0,1, 3,1,1,1,1,1,1,1,1,3, - 3,2,2,4,1,2,1,1,1,2, + 4,3,2,4,1,2,1,1,1,2, 5,7,5,1,0,7,5,9,8,3, 2,2,2,3,2,4,2,2,2,2, 2,1,1,1,1,2,1,2,2,2, @@ -62,164 +62,165 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 6,6,3,5,1,1,2,3,4,1, 2,1,3,1,1,3,2,1,1,1, 1,2,1,2,3,1,1,1,3,1, - 2,2,2,3,4,5,1,5,1,1, - 3,3,4,1,1,2,3,2,3,2, - 1,0,1,2,1,1,1,1,1,2, - 4,3,6,2,4,1,1,1,1,1, - 2,4,2,4,2,4,1,1,2,1, - 1,1,3,3,2,1,3,2,3,2, - 3,2,2,11,10,10,9,10,9,9, - 8,10,9,9,8,9,8,8,7,10, - 9,9,8,9,8,8,7,1,1,-38, - 0,0,0,0,0,0,0,-2,0,0, - 0,0,0,0,0,0,0,0,0,-78, - -4,-87,0,0,0,0,-5,0,0,0, - 0,0,0,0,0,0,-60,0,0,0, - 0,0,0,0,-141,0,0,0,0,0, - 0,0,0,0,0,-18,0,-6,0,0, + 2,2,2,3,4,5,1,7,3,0, + 0,1,1,3,3,4,1,1,2,3, + 2,3,2,1,0,1,2,1,1,1, + 1,1,2,4,3,6,2,4,1,1, + 1,1,1,2,4,2,4,2,4,1, + 1,2,1,1,1,3,3,2,1,3, + 2,3,2,3,2,2,11,10,10,9, + 10,9,9,8,10,9,9,8,9,8, + 8,7,10,9,9,8,9,8,8,7, + 1,1,-38,0,0,0,0,0,0,-35, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-135, + 0,0,-78,-212,-87,0,0,0,0,0, + 0,-2,-4,-18,-19,0,0,0,0,-60, + 0,0,0,0,0,0,-172,0,0,0, + 0,0,0,0,0,0,0,0,-39,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-186, + 0,-20,-21,0,0,0,0,0,0,0, + 0,0,0,-135,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-193, - -9,0,0,0,0,0,0,-30,0,0, + 0,0,0,-207,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-35, - -36,0,-156,-19,-20,0,0,0,0,0, - 0,0,0,-84,0,0,0,0,0,0, - 0,0,-181,0,0,0,0,0,0,0, + 0,0,0,-61,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-79,0,0,0,0,0,0,0, + -54,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-36,-73,0,-156,-40,0, + -55,0,0,0,0,0,0,0,0,0, + 0,0,-22,0,0,0,0,-182,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-144,0,-7,0,0,0,0,0, - -57,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-21, - -81,0,0,0,0,0,0,0,0,-61, + 0,0,0,0,0,0,0,-79,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-22,-23,0,0,0, - -8,0,0,0,0,0,0,0,0,0, - -15,0,0,0,0,0,0,0,0,0, - 0,0,-3,0,0,0,0,0,0,0, - -167,0,0,0,0,0,0,0,0,0, - 0,0,-120,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-155,0,-144, + -165,-5,0,0,0,0,0,0,-23,-24, + 0,-25,-88,0,-6,0,0,0,0,0, + 0,0,0,0,0,0,-90,0,0,0, + 0,0,0,0,0,0,-85,0,0,0, + 0,0,0,0,0,0,0,0,0,-26, + 0,0,-27,-74,0,-28,0,-29,0,0, + 0,0,0,0,0,0,0,0,-77,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-127,0,0,0,0,0,0,0, - -24,0,0,0,0,0,0,0,0,0, - 0,-25,0,0,-48,0,0,0,0,0, - 0,0,-26,0,0,0,-27,-96,-140,0, + -203,0,0,0,0,0,0,-75,0,0, 0,0,0,0,0,0,0,0,0,0, + -3,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -201,0,0,0,0,0,0,0,-73,0, + -57,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,-168,0,-9,0,0, + 0,0,0,0,0,-120,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -62,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-94,-76,-127,0,0, 0,0,0,0,0,0,0,0,0,0, - -43,0,0,0,0,0,0,0,-63,0, + 0,0,0,0,0,0,0,0,0,-140, + 0,0,0,0,0,0,-97,0,0,0, + 0,0,0,0,0,0,0,0,0,-98, + 0,0,-30,0,0,0,0,0,0,-95, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-64,0, - 0,0,0,0,0,0,-74,0,0,0, - 0,0,0,0,0,0,0,0,-65,0, + 0,0,-62,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-66,0, - 0,0,0,0,0,0,-75,0,0,0, - 0,0,0,0,0,0,0,0,-67,0, + 0,0,-63,0,0,0,0,0,0,-124, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-68,0, - 0,0,0,0,0,0,-76,0,0,0, - 0,0,0,0,0,0,0,0,-69,0, + 0,0,-64,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-70,0, - 0,0,0,0,0,0,-95,0,0,0, - 0,0,0,0,0,0,0,0,-71,0, + 0,0,-65,0,0,0,0,0,0,-142, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-72,0, - 0,0,0,0,0,0,-124,0,0,0, - 0,0,0,0,0,0,0,0,-160,0, + 0,0,-66,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-161,0, - 0,0,0,0,0,0,-142,0,0,0, - 0,0,0,0,0,0,0,0,-184,0, + 0,0,-67,0,0,0,0,0,0,-170, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-198,0,0, - 0,0,0,0,0,-39,0,0,0,0, - 0,0,0,0,0,0,-16,0,0,0, - 0,0,0,-52,0,0,0,0,0,0, - 0,-28,0,-204,0,0,0,0,0,0, + 0,0,-68,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-208,0,0,0,0,0,0,0, - -40,0,0,0,0,0,0,0,0,0, - 0,-29,-77,-93,-94,-155,0,0,-53,0, - 0,0,0,0,0,0,-97,0,-218,0, + 0,0,-69,0,0,0,0,0,0,-192, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-134,0,0, - 0,0,0,0,0,-82,0,0,0,0, - 0,0,0,0,0,0,-143,-122,-88,0, - -98,0,0,-159,0,-58,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-165, - 0,0,0,0,0,-187,0,0,0,0, - 0,-85,-164,0,0,0,0,0,0,0, - 0,0,0,0,0,-99,0,0,0,0, - 0,0,0,-172,0,0,0,0,0,0, - 0,0,-171,-92,0,0,0,0,-90,0, - 0,0,0,0,0,0,-117,0,0,0, - 0,0,0,-119,0,0,0,0,0,0, - -199,0,0,-37,-195,0,0,0,0,0, - 0,0,0,-54,0,0,0,0,0,0, - 0,-217,0,0,0,0,-1,-100,0,0, - 0,0,0,0,0,-121,-101,0,0,0, + 0,0,-70,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-102,-185,0,0,0,0,0,0, - 0,0,0,0,0,-139,0,-169,0,-147, - -176,0,-55,0,0,0,0,0,0,0, - -129,0,0,0,0,0,0,0,0,-175, - 0,0,-83,-44,0,0,0,0,0,0, - 0,0,0,-56,0,0,0,0,0,0, + 0,0,-71,0,0,0,0,0,0,-217, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-72,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-161,0,0,0,0,0,0,-99, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-162,0,0,0,0,0,0,-186, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-185,0,0,0,0,0,0,-100, + 0,0,0,0,0,0,0,0,0,0, + 0,-200,0,0,0,0,0,0,-101,0, + 0,0,0,0,0,0,0,0,0,0, + -7,0,0,0,0,0,0,-48,0,0, + 0,0,0,0,-102,0,0,0,-206,0, 0,0,0,0,0,0,0,0,0,0, - -162,-188,-189,-202,0,0,0,0,0,-49, 0,0,0,0,0,0,0,-210,0,0, - -41,0,0,0,0,0,0,0,0,0, - -50,0,0,0,0,0,0,0,-211,0, - 0,-51,0,0,0,0,0,0,0,0, - 0,0,-86,-80,0,0,0,0,0,0, - 0,0,-126,-192,-131,-183,-132,0,-166,-89, - 0,0,0,0,0,0,0,0,0,-103, - -104,0,0,0,-91,0,0,0,0,-137, - 0,-190,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-8,0,0,0, + 0,0,0,-49,0,0,0,0,0,0, + -224,0,0,0,-220,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-123,0,0,0,0,0,0,-148,0, - 0,0,0,0,0,-163,0,0,0,0, - 0,0,0,-219,-136,-149,-151,-154,-180,0, - 0,-200,0,0,0,0,0,-10,0,0, - 0,0,0,0,-11,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,0,-105, - 0,0,0,0,0,0,0,-13,0,0, - 0,0,0,0,-14,0,0,0,0,0, - 0,-17,-31,-157,-213,0,-106,-215,-107,0, - 0,0,-32,-33,-168,-207,-203,-108,-42,-109, + 0,0,0,-134,0,0,0,0,0,0, + -84,0,0,0,0,0,0,0,0,0, + 0,0,-143,-213,-81,-184,-177,-82,0,0, + -58,0,0,0,0,0,0,-176,0,0, + 0,0,0,0,-15,0,0,0,0,0, + 0,-125,0,-92,-195,0,-166,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-117,0,0,0,0,0, + 0,0,0,-119,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-197,0, + 0,0,0,0,0,0,0,-173,0,-96, + 0,0,0,0,0,-219,-103,-104,0,0, + 0,0,0,-56,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-34,-125,0, + 0,0,-16,0,0,0,0,0,0,-83, + -121,-105,0,0,0,0,0,0,0,-167, + -129,-126,-131,-1,-106,0,-86,0,0,0, + 0,0,0,0,0,0,-107,-108,0,0, + 0,0,0,0,0,0,0,0,-132,0, + 0,0,0,0,0,0,0,0,-136,0, + 0,0,0,-109,0,0,0,-50,0,0, + 0,0,0,0,-110,0,0,0,-51,0, + 0,0,0,0,0,-181,0,0,0,-52, + 0,0,0,0,0,0,-89,0,0,-53, + 0,0,0,0,0,0,-80,0,0,0, + -111,-37,-91,0,0,-112,-202,-141,0,0, + 0,0,0,-139,-113,-114,0,-115,-147,0, + 0,0,0,-116,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-45,0,0,0,0,0,0,0, - 0,0,0,-194,0,-196,0,0,0,-46, - 0,0,0,0,0,0,-47,0,0,0, - 0,0,0,-138,-197,0,0,-205,-150,-110, - 0,0,-212,0,-152,0,0,-170,0,-111, - 0,-112,0,-174,-113,0,0,0,0,0, - 0,0,-191,-214,0,0,0,-114,-206,0, - 0,0,0,-115,0,0,0,-153,-146,-59, - 0,-179,-116,-128,0,-130,0,0,-118,0, - 0,0,-133,0,0,0,0,0,0,-216, - 0,-145,0,0,0,0,0,-177,0,0, - 0,0,0,0,0,0,0,0,-158,0, - -178,0,0,-182,0,-209,-220,0,0,0, - 0,0,0,0,0,0,0,0,0,-173, + -163,0,0,0,0,-128,0,0,0,0, + -43,0,0,0,0,0,0,-130,0,0, + 0,0,-133,-145,0,-44,0,0,0,0, + 0,0,-158,0,-123,0,0,0,0,0, + 0,-148,0,0,0,0,0,0,-164,0, + 0,0,0,0,0,0,-221,-149,-151,-154, + -157,-42,0,-178,0,0,0,0,0,0, + -10,0,0,0,0,0,0,-11,0,0, + 0,0,0,0,-12,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -13,0,0,0,0,0,0,-14,0,0, + 0,0,0,0,-17,-179,-31,-169,-188,-209, + -194,0,-187,0,0,0,-32,0,-33,-183, + -41,-190,-196,0,-205,0,0,0,0,0, + 0,0,-34,0,0,0,0,0,0,0, + 0,0,0,0,-218,0,0,0,0,0, + 0,0,-122,0,0,0,0,-211,-216,0, + 0,-223,0,0,0,0,-201,0,-45,0, + 0,0,0,0,0,0,0,0,0,-138, + 0,0,-46,0,0,0,0,0,0,-47, + 0,0,0,0,0,0,0,0,0,-150, + -198,-152,0,0,0,0,0,0,0,-191, + -204,-171,0,0,0,-59,0,-175,0,0, + -193,0,0,0,0,-208,0,0,0,0, + 0,0,0,0,0,0,-199,0,0,0, + 0,-146,0,-118,0,0,0,0,0,0, + 0,0,0,0,-153,-214,-215,0,0,0, + 0,-180,0,0,0,0,-222,0,0,0, + 0,0,0,0,-137,0,0,0,0,0, + 0,-159,0,0,0,0,0,0,0,0, + 0,0,-160,0,0,0,-189,0,0,0, + 0,0,-174,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0 + 0,0,0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -229,192 +230,194 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 85,8,21,21,20,20,30,30,70,70, + 86,7,21,21,20,20,29,29,71,71, 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,54,54,71, - 71,5,5,5,5,5,5,5,5,5, - 5,5,6,7,7,7,7,9,9,9, + 4,4,4,4,4,4,4,54,54,72, + 72,5,5,5,5,5,5,5,5,5, + 5,5,6,8,8,8,8,9,9,9, 10,10,10,11,11,11,11,11,12,12, 12,13,13,14,14,15,15,16,16,17, 17,18,18,19,19,19,19,19,19,19, - 19,19,19,19,19,96,31,29,86,86, - 73,73,44,97,97,97,97,97,97,97, - 98,98,98,99,99,104,104,105,105,100, - 100,101,101,101,107,107,102,102,102,102, - 103,103,103,103,103,106,106,22,22,22, - 22,22,33,33,33,79,79,74,74,74, - 74,75,75,75,76,76,76,77,77,77, - 78,78,78,108,108,109,109,110,34,36, + 19,19,19,19,19,98,31,30,87,87, + 74,74,44,99,99,99,99,99,99,99, + 100,100,100,101,101,106,106,107,107,102, + 102,103,103,103,109,109,104,104,104,104, + 105,105,105,105,105,108,108,22,22,22, + 22,22,33,33,33,80,80,75,75,75, + 75,76,76,76,77,77,77,78,78,78, + 79,79,79,110,110,111,111,112,34,36, 36,36,36,36,55,57,57,57,57,57, - 57,57,57,57,57,57,57,67,67,32, - 32,64,64,64,64,65,65,65,58,58, - 59,59,51,51,51,27,87,87,80,81, - 81,81,66,66,82,82,83,83,68,68, + 57,57,57,57,57,57,57,68,68,32, + 32,65,65,65,65,66,66,66,58,58, + 59,59,51,51,51,27,88,88,81,82, + 82,82,67,67,83,83,84,84,69,69, 23,24,24,24,35,50,50,37,37,37, - 37,40,40,42,38,38,39,43,43,111, - 111,41,112,112,88,88,28,28,28,28, - 28,28,28,28,28,84,52,52,52,52, - 61,61,60,60,60,62,62,53,53,89, - 89,49,49,63,63,63,45,45,45,46, - 47,47,47,48,48,48,48,56,56,72, - 72,72,72,69,90,91,91,92,92,93, - 93,113,113,114,114,115,115,115,115,117, - 117,116,116,116,118,118,85,85,1,1, - 1,5,5,5,5,5,5,23,23,25, - 25,26,26,94,94,94,97,119,119,119, - 119,119,119,119,102,102,102,102,102,102, - 102,102,102,102,102,102,102,102,102,102, - 102,102,102,102,102,102,102,102,120,120, - 1,14,19,15,416,1132,43,515,314,514, - 626,600,701,627,723,712,1092,727,73,90, - 105,38,182,133,210,317,318,784,14,19, - 15,416,315,135,132,134,158,752,14,19, - 15,416,42,43,515,238,514,626,600,701, - 627,723,712,1700,1734,137,67,164,816,14, - 19,15,416,313,141,144,147,150,251,210, - 317,318,1739,381,1373,1222,1453,1470,1485,1254, - 688,14,19,15,416,1132,43,515,513,514, - 626,600,701,627,723,712,1092,727,73,277, - 688,14,19,15,416,1132,43,515,513,514, - 626,600,701,627,723,712,1092,727,73,277, - 595,752,14,19,15,416,42,39,752,14, - 19,15,416,1132,43,515,279,514,626,600, - 701,627,723,712,1092,727,73,91,270,280, - 528,528,1136,516,243,307,279,216,1210,218, - 1469,220,221,226,525,265,1176,601,268,280, - 1133,16,1688,480,14,19,15,416,1132,43, - 515,513,514,626,600,701,627,723,712,1092, - 727,73,277,394,14,19,15,416,1132,43, - 515,1188,514,626,600,701,627,723,712,1092, - 727,73,1316,340,236,848,14,19,15,416, - 311,752,14,19,15,416,42,43,515,281, - 514,626,600,701,627,1618,133,210,317,318, - 72,514,282,1774,1334,285,135,132,134,158, - 752,14,19,15,416,42,43,515,319,514, - 626,600,701,627,723,1702,140,357,137,271, - 164,880,14,19,15,416,40,141,144,147, - 150,752,14,19,15,416,33,1373,1222,1453, - 1470,1485,1254,752,14,19,15,416,1132,43, - 515,105,514,626,600,701,627,723,712,1092, - 727,73,90,912,14,19,15,416,1132,43, - 515,1684,514,626,600,701,627,723,712,1092, - 727,73,1346,605,14,19,15,416,42,43, - 515,71,514,626,600,701,627,723,712,1092, - 727,92,126,480,325,752,14,19,15,416, - 42,43,515,228,514,1236,381,287,598,437, - 14,19,15,416,1132,43,515,1350,514,626, - 600,701,627,723,712,1092,727,73,1401,20, - 237,720,14,19,15,416,1132,43,515,528, - 514,626,600,701,627,723,712,1092,727,73, - 277,752,14,19,15,416,1132,43,515,1705, - 514,626,600,701,627,723,712,1092,727,73, - 84,752,14,19,15,416,42,43,1147,752, - 14,19,15,416,1132,43,515,283,514,626, - 600,701,627,723,712,1092,727,73,83,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,82,752, - 14,19,15,416,1132,43,515,1718,514,626, - 600,701,627,723,712,1092,727,73,81,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,80,752, - 14,19,15,416,1132,43,515,1724,514,626, - 600,701,627,723,712,1092,727,73,79,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,78,752, - 14,19,15,416,1132,43,515,1733,514,626, - 600,701,627,723,712,1092,727,73,77,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,76,752, - 14,19,15,416,1132,43,515,21,514,626, - 600,701,627,723,712,1092,727,73,75,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,74,752, - 14,19,15,416,1132,43,515,269,514,626, - 600,701,627,723,712,1092,727,73,1402,752, - 14,19,15,416,1132,43,515,528,514,626, - 600,701,627,723,712,1092,727,73,1403,752, - 14,19,15,416,42,43,515,275,514,626, - 600,701,627,723,712,1092,727,92,752,14, - 19,15,416,42,43,515,353,514,626,600, - 701,627,723,712,1092,727,92,752,14,19, - 15,416,32,1404,752,14,19,15,416,42, - 43,515,51,1480,752,14,19,15,416,42, - 43,515,209,514,626,600,701,627,723,712, - 1092,727,92,752,14,19,15,416,42,43, - 515,353,514,626,600,701,627,723,712,1092, - 727,92,887,531,944,981,495,23,1605,752, - 14,19,15,416,42,43,515,426,1481,752, - 14,19,15,416,42,43,515,200,514,626, - 600,701,627,723,712,1092,727,92,752,14, - 19,15,416,42,43,515,57,514,626,600, - 701,627,723,712,1092,727,72,471,124,239, - 1549,538,22,201,295,661,752,14,19,15, - 416,42,43,515,272,514,626,600,701,1620, - 1006,250,210,317,318,270,352,251,210,317, - 318,1736,993,427,215,1210,218,1469,220,221, - 226,1713,263,1176,601,268,344,259,225,251, - 210,317,318,273,529,133,210,317,318,405, - 260,270,1285,1005,340,143,132,134,158,296, - 215,1210,218,1469,220,221,226,6,263,1176, - 601,268,729,1492,68,440,257,133,210,317, - 318,726,1490,182,431,366,987,136,132,134, - 158,1743,380,1439,752,14,19,15,416,42, - 43,515,366,514,626,600,1580,648,513,138, - 1439,164,270,1758,193,653,598,515,142,145, - 148,151,215,1210,218,1469,220,221,226,263, - 1176,601,268,638,982,1776,86,238,306,215, - 1210,218,1469,220,221,226,598,262,528,207, - 598,640,1776,752,14,19,15,416,42,43, - 515,6,514,626,1607,196,198,240,276,1689, - 1005,323,1616,512,752,14,19,15,416,42, - 43,1191,197,198,752,14,19,15,416,42, - 43,515,368,514,626,1609,133,210,317,318, - 181,598,598,598,598,1685,140,132,134,158, - 752,14,19,15,416,42,43,515,80,514, - 1308,680,239,241,242,287,1439,286,139,653, - 164,752,14,19,15,416,42,43,515,105, - 514,1317,752,14,19,15,416,42,43,515, - 88,514,1333,1030,474,215,1210,218,1469,220, - 221,226,1639,681,681,6,726,6,1492,945, - 1042,1729,1719,1695,273,1728,133,210,317,318, - 602,642,270,274,228,1073,146,132,134,158, - 124,1544,528,133,210,317,318,224,288,263, - 1176,601,268,149,132,134,158,947,133,210, - 317,318,222,250,210,317,318,987,152,132, - 134,158,562,14,19,15,416,42,35,562, - 14,19,15,416,42,35,562,14,19,15, - 416,42,35,243,308,181,6,6,6,1005, - 324,1194,640,1769,1698,1704,1732,244,752,14, - 19,15,416,42,38,752,14,19,15,416, - 42,37,752,14,19,15,416,42,36,26, - 612,216,1210,218,1469,220,221,226,752,14, - 19,15,416,42,35,752,14,19,15,416, - 42,34,6,6,6,598,1693,129,528,186, - 360,360,460,6,6,793,957,726,656,6, - 390,360,360,573,195,195,289,653,227,1284, - 1284,86,86,511,511,195,195,1187,6,643, - 1284,1284,86,86,511,511,360,573,86,290, - 728,510,759,752,14,19,15,416,42,46, - 195,1187,827,867,1005,1284,1005,86,256,511, - 752,14,19,15,416,42,45,752,14,19, - 15,416,42,44,124,1005,192,907,495,55, - 162,1739,255,1005,184,112,183,573,169,1027, - 149,1752,337,573,283,763,573,250,210,317, - 318,195,573,643,1005,202,1244,195,789,698, - 195,573,1244,203,790,1244,195,573,445,285, - 6,1244,445,794,795,1187,821,573,653,637, - 190,1187,1714,822,278,405,190,1253,1790,190, - 486,1187,200,1370,1790,190,1664,1790,17,86, - 1758,1690,1666,1790,1758,480,255,270,999,124, - 231,863,255,1027,400,1752,526,644,1859,1608, - 1859,1752,255,1859,265,1176,601,268,1859,1348, - 226,1752,250,210,317,318,206,1859,573,1859, - 206,1859,1859,1859,1859,1859,1859,1750,1859,1859, - 1351,1771,195,1859,1552,1771,1859,1244,1859,1859, - 1859,1859,1859,1859,1859,1859,1859,1859,1859,1859, - 1216,1859,1859,1859,1859,1859,1859,1859,1859,1859, - 1859,191,1859,0,320,693,0,17,178,0, - 18,177,0,1,2082,0,1,2093,0 + 37,40,40,42,38,38,39,43,43,113, + 113,41,114,114,89,89,28,28,28,28, + 28,28,28,28,28,85,52,52,52,52, + 61,61,60,60,60,62,62,53,53,90, + 90,49,49,63,63,63,45,45,45,46, + 47,47,47,48,48,48,48,56,56,56, + 64,91,73,73,73,73,70,92,93,93, + 94,94,95,95,115,115,116,116,117,117, + 117,117,119,119,118,118,118,120,120,86, + 86,1,1,1,5,5,5,5,5,5, + 23,23,25,25,26,26,96,96,96,99, + 121,121,121,121,121,121,121,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,122,122,1,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,90,558,693,196,133,210,320,321, + 649,1224,353,466,1115,172,135,132,134,158, + 753,14,19,15,394,42,43,692,432,395, + 533,433,590,589,630,592,1451,1496,137,241, + 164,215,1257,218,1360,220,221,226,141,144, + 147,150,139,6,960,1744,182,393,1350,617, + 1367,1437,1453,1254,654,14,19,15,394,638, + 43,518,432,395,533,433,590,589,630,592, + 636,633,73,277,720,14,19,15,394,638, + 43,518,432,395,533,433,590,589,630,592, + 636,633,73,277,753,14,19,15,394,42, + 43,23,432,395,533,433,590,589,630,1456, + 282,753,14,19,15,394,42,43,1523,432, + 395,533,433,1352,283,296,296,578,369,241, + 282,753,14,19,15,394,42,43,1523,432, + 395,533,1365,24,283,16,1465,1659,467,14, + 19,15,394,638,43,518,432,395,533,433, + 590,589,630,592,636,633,73,277,396,14, + 19,15,394,638,43,1653,432,395,533,433, + 590,589,630,592,636,633,73,1351,908,236, + 341,991,786,14,19,15,394,318,1721,168, + 229,22,239,310,284,819,14,19,15,394, + 316,273,1523,133,210,320,321,367,285,270, + 1620,1060,288,135,132,134,158,1009,215,1257, + 218,1360,220,221,226,1508,263,1228,1225,268, + 559,960,1426,454,296,137,402,164,1026,1513, + 133,210,320,321,840,141,144,147,150,231, + 143,132,134,158,1466,1350,617,1367,1437,1453, + 1254,687,14,19,15,394,638,43,296,432, + 395,533,433,590,589,630,592,636,633,73, + 277,753,14,19,15,394,638,43,1468,432, + 395,533,433,590,589,630,592,636,633,73, + 90,753,14,19,15,394,42,43,951,432, + 395,533,433,590,589,1378,558,286,753,14, + 19,15,394,42,39,1523,918,14,19,15, + 394,638,43,1680,432,395,533,433,590,589, + 630,592,636,633,73,1464,971,296,586,14, + 19,15,394,42,43,393,432,395,533,433, + 590,589,630,592,636,633,92,1474,1255,328, + 431,14,19,15,394,638,43,253,432,395, + 533,433,590,589,630,592,636,633,73,1491, + 522,237,1469,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,91,753,14,19,15,394,638,43, + 21,432,395,533,433,590,589,630,592,636, + 633,73,84,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,83,753,14,19,15,394,638,43, + 269,432,395,533,433,590,589,630,592,636, + 633,73,82,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,81,753,14,19,15,394,638,43, + 275,432,395,533,433,590,589,630,592,636, + 633,73,80,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,79,753,14,19,15,394,638,43, + 276,432,395,533,433,590,589,630,592,636, + 633,73,78,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,77,753,14,19,15,394,638,43, + 222,432,395,533,433,590,589,630,592,636, + 633,73,76,753,14,19,15,394,638,43, + 296,432,395,533,433,590,589,630,592,636, + 633,73,75,753,14,19,15,394,638,43, + 227,432,395,533,433,590,589,630,592,636, + 633,73,74,753,14,19,15,394,638,43, + 298,432,395,533,433,590,589,630,592,636, + 633,73,1622,753,14,19,15,394,638,43, + 569,432,395,533,433,590,589,630,592,636, + 633,73,1710,753,14,19,15,394,42,43, + 314,432,395,533,433,590,589,630,592,636, + 633,92,753,14,19,15,394,42,43,407, + 432,395,533,433,590,589,630,592,636,633, + 92,852,14,19,15,394,314,1711,753,14, + 19,15,394,42,43,503,432,395,1040,753, + 14,19,15,394,42,43,209,432,395,533, + 433,590,589,630,592,636,633,92,753,14, + 19,15,394,42,43,289,432,395,533,433, + 590,589,630,592,636,633,92,885,14,19, + 15,394,40,1757,753,14,19,15,394,42, + 43,58,432,395,1080,753,14,19,15,394, + 42,43,200,432,395,533,433,590,589,630, + 592,636,633,92,753,14,19,15,394,42, + 43,343,432,395,533,433,590,589,630,592, + 636,633,72,83,558,259,527,909,115,201, + 716,753,14,19,15,394,42,43,692,432, + 395,533,433,590,1404,753,14,19,15,394, + 33,270,892,271,341,140,272,639,291,580, + 215,1257,218,1360,220,221,226,181,263,1228, + 1225,268,278,259,1223,25,1547,133,210,320, + 321,1737,444,270,69,225,260,136,132,134, + 158,1775,216,1257,218,1360,220,221,226,127, + 265,1228,1225,268,1744,255,1224,322,125,138, + 604,164,880,257,1514,1299,127,174,345,142, + 145,148,151,1224,753,14,19,15,394,42, + 43,20,432,395,533,1377,215,1257,218,1360, + 220,221,226,753,14,19,15,394,32,1658, + 501,604,557,215,1257,218,1360,220,221,226, + 286,25,660,25,621,339,1658,1022,1700,1742, + 1702,681,238,133,210,320,321,373,626,193, + 196,198,274,140,132,134,158,1610,224,25, + 133,210,320,321,86,309,1755,197,198,183, + 146,132,134,158,763,139,1782,164,753,14, + 19,15,394,42,43,659,432,395,1099,753, + 14,19,15,394,42,43,692,432,395,1125, + 753,14,19,15,394,42,43,1054,432,1317, + 753,14,19,15,394,42,43,1047,432,1318, + 392,441,254,1067,1252,26,632,909,240,383, + 133,210,320,321,604,620,672,273,738,604, + 149,132,134,158,771,270,133,210,320,321, + 270,251,210,320,321,240,152,132,134,158, + 326,604,263,1228,1225,268,804,263,1228,1225, + 268,753,14,19,15,394,42,43,837,777, + 840,1756,239,870,478,262,753,14,19,15, + 394,42,43,903,790,551,14,19,15,394, + 42,35,551,14,19,15,394,42,35,551, + 14,19,15,394,42,35,243,473,25,25, + 25,25,25,327,728,1712,1718,1762,1613,681, + 244,753,14,19,15,394,42,38,753,14, + 19,15,394,42,37,753,14,19,15,394, + 42,36,86,1310,216,1257,218,1360,220,221, + 226,753,14,19,15,394,42,35,753,14, + 19,15,394,42,34,25,928,25,764,25, + 520,660,363,692,363,580,464,25,1726,25, + 758,524,604,692,363,527,363,195,681,195, + 1223,228,1452,25,1452,86,515,86,515,195, + 363,195,279,241,1452,998,1452,86,515,86, + 515,88,184,126,370,195,516,293,661,908, + 1452,256,419,86,515,231,634,527,668,753, + 14,19,15,394,42,46,250,210,320,321, + 126,192,747,753,14,19,15,394,42,45, + 753,14,19,15,394,42,44,1872,1872,1554, + 56,692,113,250,210,320,321,580,800,580, + 604,604,170,1767,1458,1872,25,1872,284,580, + 1872,892,195,681,195,580,51,1308,580,1308, + 183,242,290,580,195,1872,207,692,770,1308, + 195,1458,731,1223,500,1308,86,1415,1223,580, + 1872,190,1872,190,1872,513,692,604,407,1803, + 1238,1803,513,190,1223,1033,202,692,1872,190, + 1623,1803,270,1255,255,126,1701,1803,292,255, + 1872,880,126,1514,1872,203,1000,1554,1514,265, + 1228,1225,268,297,1554,255,1181,354,250,210, + 320,321,920,227,1514,250,210,320,321,1872, + 580,1872,1872,1872,1872,1645,251,210,320,321, + 251,210,320,321,206,195,1872,1872,1872,1872, + 1308,206,1872,1872,1872,1872,1793,1872,1227,1606, + 1872,1872,1872,1797,1872,1457,1606,1872,1872,1872, + 1872,1872,1872,1872,191,1872,0,323,748,0, + 17,178,0,18,177,0,1,2095,0,1, + 2106,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -425,123 +428,128 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, 0,1,2,3,4,0,6,7,8,9, - 10,11,12,13,14,15,0,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,0,38,39, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,0,0,25,26,27,28,29, + 30,31,32,33,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 0,51,52,53,0,1,0,3,2,5, - 6,7,8,9,10,11,0,0,2,15, - 0,0,16,6,7,8,9,10,11,0, - 1,2,16,17,18,69,32,33,34,35, - 36,54,38,39,40,41,42,43,44,45, - 46,47,48,49,0,51,52,53,4,55, - 56,0,1,0,3,0,5,6,7,8, - 9,10,11,0,74,0,15,61,0,6, - 7,8,9,10,11,64,65,66,67,0, - 70,71,76,32,33,34,35,36,0,38, - 39,40,41,42,43,44,45,46,47,48, - 49,0,51,52,53,0,55,56,0,1, - 0,3,0,5,6,7,8,9,10,11, - 0,0,1,15,3,0,6,7,8,9, - 10,11,64,65,66,67,57,58,73,0, - 32,33,34,35,36,0,38,39,40,41, - 42,43,44,45,46,47,48,49,37,51, - 52,53,74,55,56,0,1,0,3,68, - 5,6,7,8,9,10,11,0,0,1, - 15,3,0,6,7,8,9,10,11,64, - 65,66,67,54,12,13,0,32,33,34, - 35,36,0,38,39,40,41,42,43,44, - 45,46,47,48,49,37,51,52,53,0, - 55,56,0,1,0,3,0,5,6,7, - 8,9,10,11,0,0,1,15,3,72, - 6,7,8,9,10,11,0,0,1,2, - 4,4,0,0,32,33,34,35,36,0, + 0,1,52,53,54,0,1,0,3,0, + 5,6,7,8,9,10,11,0,0,64, + 65,66,67,18,6,7,8,9,10,11, + 57,58,0,1,2,0,4,0,33,34, + 35,36,37,38,39,40,41,42,43,44, + 45,46,47,48,49,23,51,52,53,54, + 60,56,0,1,0,3,2,5,6,7, + 8,9,10,11,0,0,0,1,2,5, + 18,6,7,8,9,10,11,23,0,0, + 1,2,4,4,0,33,34,35,36,37, 38,39,40,41,42,43,44,45,46,47, - 48,49,37,51,52,53,0,55,56,0, - 1,0,3,0,60,6,7,8,9,10, - 11,0,0,1,15,3,0,6,7,8, - 9,10,11,77,78,0,1,2,62,63, - 14,32,33,34,35,36,0,38,39,40, - 41,42,43,44,45,46,47,48,49,0, - 51,52,53,0,1,2,3,4,5,0, - 57,58,89,14,0,12,13,14,15,73, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,0,0,1,2,4, - 0,5,2,68,4,0,0,1,2,3, - 4,5,16,0,0,1,16,3,12,13, - 14,15,59,17,18,19,20,21,22,23, - 24,25,26,27,28,29,30,31,69,0, - 0,1,2,0,4,2,50,0,5,0, - 1,2,3,4,5,0,16,62,63,16, - 5,12,13,14,0,59,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,0,0,0,0,0,37,6,7,8, - 9,10,11,50,0,0,15,0,0,16, - 0,16,5,5,55,50,0,0,0,54, - 16,4,0,32,33,34,35,36,54,38, - 39,40,41,42,43,44,45,46,47,48, - 49,0,1,2,3,4,5,37,0,57, - 58,57,58,12,13,14,61,50,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,68,0,1,2,0,4,62, - 63,0,5,75,0,1,2,3,4,5, - 16,0,0,12,13,0,12,13,14,0, - 59,17,18,19,20,21,22,23,24,25, - 26,27,28,29,30,31,0,0,2,0, - 4,0,0,0,1,0,4,0,1,2, - 3,4,16,12,13,0,59,0,0,12, - 13,14,0,59,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,0, - 0,70,71,0,5,5,0,0,1,2, - 3,4,0,54,57,58,0,0,1,12, - 13,14,60,56,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,0, - 1,2,3,4,37,0,1,72,3,50, - 50,12,13,14,0,0,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,0,1,2,3,4,37,60,0,1, - 0,3,0,12,13,14,0,0,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,0,1,2,3,4,0,0, - 0,0,0,0,0,12,13,14,0,37, - 17,18,19,20,21,22,23,24,25,26, - 27,28,29,30,31,0,1,2,3,4, - 0,0,0,0,0,37,37,12,13,14, - 37,37,17,18,19,20,21,22,23,24, - 25,26,27,28,29,30,31,0,1,2, - 3,4,60,0,0,0,0,37,37,12, - 13,14,0,0,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,31,0, - 1,2,3,4,0,0,0,0,0,0, - 0,12,13,14,0,0,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 31,0,1,2,3,4,54,0,0,0, - 0,0,0,12,13,14,0,0,17,18, - 19,20,21,22,23,24,25,26,27,28, - 29,30,31,0,0,2,2,4,5,6, - 7,8,9,10,11,69,0,0,15,16, - 16,5,0,0,0,79,80,81,82,83, - 84,85,86,87,88,32,33,34,35,36, - 0,0,2,0,4,5,6,7,8,9, - 10,11,0,50,0,15,16,16,6,7, - 8,9,10,11,0,0,0,15,0,5, - 54,0,32,33,34,35,36,0,0,0, - 0,16,0,0,32,33,34,35,36,0, - 50,75,0,0,0,6,7,8,9,10, - 11,0,61,0,15,0,0,6,7,8, - 9,10,11,0,0,0,15,0,0,55, - 0,32,33,34,35,36,0,0,0,0, - 0,0,0,32,33,34,35,36,6,7, - 8,9,10,11,0,0,0,15,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,32,33,34,35,36,0, + 48,49,23,51,52,53,54,0,56,0, + 1,0,3,0,5,6,7,8,9,10, + 11,14,0,12,13,12,13,18,6,7, + 8,9,10,11,68,0,1,0,3,75, + 62,63,33,34,35,36,37,38,39,40, + 41,42,43,44,45,46,47,48,49,24, + 51,52,53,54,0,56,0,1,0,3, + 0,5,6,7,8,9,10,11,0,0, + 0,1,0,3,18,6,7,8,9,10, + 11,0,0,0,24,2,4,4,0,33, + 34,35,36,37,38,39,40,41,42,43, + 44,45,46,47,48,49,23,51,52,53, + 54,23,56,0,1,0,3,2,5,6, + 7,8,9,10,11,0,0,0,70,71, + 5,18,6,7,8,9,10,11,23,0, + 1,73,3,0,62,63,33,34,35,36, + 37,38,39,40,41,42,43,44,45,46, + 47,48,49,24,51,52,53,54,0,56, + 0,1,0,3,0,50,6,7,8,9, + 10,11,0,0,57,58,12,13,18,6, + 7,8,9,10,11,23,0,1,0,3, + 57,58,0,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,49, + 24,23,52,53,54,0,1,2,3,4, + 5,0,64,65,66,67,0,12,13,14, + 15,16,17,18,19,20,21,22,0,1, + 25,26,27,28,29,30,31,32,0,61, + 0,1,2,3,4,5,64,65,66,67, + 0,89,12,13,14,15,16,17,18,19, + 20,21,22,0,59,25,26,27,28,29, + 30,31,32,57,58,0,0,1,2,3, + 4,5,0,1,2,74,4,0,12,13, + 14,15,16,17,0,19,20,21,22,59, + 24,25,26,27,28,29,30,31,32,0, + 0,2,0,4,0,0,6,7,8,9, + 10,11,0,1,74,3,0,51,18,0, + 55,0,23,0,5,4,0,1,5,3, + 77,78,55,33,34,35,36,37,38,39, + 40,41,42,43,44,45,46,47,48,49, + 0,1,2,3,4,5,0,0,0,57, + 58,4,12,13,14,15,16,17,0,19, + 20,21,22,50,55,25,26,27,28,29, + 30,31,32,62,63,0,1,2,3,4, + 5,23,0,1,75,3,0,12,13,14, + 15,16,17,0,19,20,21,22,5,59, + 25,26,27,28,29,30,31,32,0,0, + 0,1,2,3,4,0,70,71,0,61, + 72,0,12,13,14,15,16,17,0,19, + 20,21,22,24,59,25,26,27,28,29, + 30,31,32,0,1,2,3,4,0,0, + 0,23,59,0,5,12,13,14,15,16, + 17,0,19,20,21,22,56,24,25,26, + 27,28,29,30,31,32,0,1,2,3, + 4,0,0,1,2,24,5,72,12,13, + 14,15,16,17,73,19,20,21,22,50, + 24,25,26,27,28,29,30,31,32,0, + 1,2,3,4,0,0,68,0,68,5, + 0,12,13,14,15,16,17,0,19,20, + 21,22,51,24,25,26,27,28,29,30, + 31,32,0,1,2,3,4,0,0,0, + 0,24,0,0,12,13,14,15,16,17, + 0,19,20,21,22,51,14,25,26,27, + 28,29,30,31,32,0,1,2,3,4, + 60,0,0,0,24,0,69,12,13,14, + 15,16,17,0,19,20,21,22,0,0, + 25,26,27,28,29,30,31,32,0,1, + 2,3,4,60,0,0,69,24,0,0, + 12,13,14,15,16,17,0,19,20,21, + 22,0,0,25,26,27,28,29,30,31, + 32,0,1,2,3,4,0,0,0,0, + 24,0,0,12,13,14,15,16,17,0, + 19,20,21,22,0,0,25,26,27,28, + 29,30,31,32,0,1,2,3,4,0, + 0,0,0,24,0,4,12,13,14,15, + 16,17,0,19,20,21,22,0,0,25, + 26,27,28,29,30,31,32,0,1,2, + 3,4,0,0,0,0,24,0,0,12, + 13,14,15,16,17,0,19,20,21,22, + 0,0,25,26,27,28,29,30,31,32, + 0,60,2,0,4,5,6,7,8,9, + 10,11,55,55,0,0,0,0,18,0, + 0,0,2,23,4,5,6,7,8,9, + 10,11,55,33,34,35,36,37,18,0, + 0,1,2,23,0,5,0,0,0,0, + 50,0,5,33,34,35,36,37,0,0, + 0,0,0,23,6,7,8,9,10,11, + 50,0,0,0,0,0,18,6,7,8, + 9,10,11,0,0,0,0,0,0,18, + 50,33,34,35,36,37,0,50,2,0, + 0,5,55,0,33,34,35,36,37,6, + 7,8,9,10,11,0,0,0,0,23, + 0,18,6,7,8,9,10,11,0,0, + 0,0,0,0,18,0,33,34,35,36, + 37,0,0,0,69,0,50,0,0,33, + 34,35,36,37,79,80,81,82,83,84, + 85,86,87,88,0,0,2,0,0,0, + 0,0,0,0,0,0,0,0,0,15, + 16,0,0,0,0,0,0,23,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,61,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 76,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -549,117 +557,126 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1859,1134,1602,1135,1588,1,2070,2071,2072,2180, - 524,2181,1572,1565,1595,2020,208,1077,641,631, - 1869,1870,1871,1872,1558,481,2167,2168,2169,575, - 418,387,2021,2019,2073,2022,2018,87,2025,2030, - 2029,2027,2028,2026,2031,2032,2024,2033,2034,2035, - 69,1259,1189,382,1859,1,266,1,1463,189, - 1,1,1,1,1,1,31,246,1421,1, - 61,58,553,1,1,1,1,1,1,1, - 2082,1418,1619,1883,1884,1058,1,1,1,1, - 1,488,1,1,1,1,1,1,1,1, - 1,1,1,1,1859,1,1,1,1274,189, - 2053,1859,1,1859,1,1859,189,1,1,1, - 1,1,1,1859,610,67,1,1121,60,2070, - 2071,2072,2180,524,2181,1442,1431,1410,715,53, - 1384,1353,1066,1,1,1,1,1,70,1, + 1872,708,1605,746,1591,58,2083,2084,2085,2196, + 1211,2197,1575,1568,1598,1343,1245,1167,2033,1882, + 1883,1884,1885,53,1,1561,718,2183,2184,2185, + 1111,595,582,2034,2032,2086,2035,2031,2038,2043, + 2042,2040,2041,2039,2044,2045,2037,2046,2047,2048, + 1,1869,607,593,385,1872,1,281,1,1872, + 189,1,1,1,1,1,1,1872,246,1419, + 1408,1174,1118,1,1,1,1,1,1,1, + 1430,1440,258,2095,581,1872,1,1872,1,1, + 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,558,189,1,1,1, + 2126,2066,1872,1,266,1,1362,189,1,1, + 1,1,1,1,1,1872,1,2095,384,1881, + 1,2083,2084,2085,2196,1211,2197,558,47,264, + 2095,581,1690,1399,1872,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1859,1,1,1,1859,189,2053,1859,1, - 1859,1,1859,189,1,1,1,1,1,1, - 247,1859,2038,1,2039,59,1,1,1,1, - 1,1,1442,1431,1410,715,1084,1139,581,252, - 1,1,1,1,1,1859,1,1,1,1, - 1,1,1,1,1,1,1,1,1361,1, - 1,1,610,189,2053,1859,1,65,1,1168, - 188,1,1,1,1,1,1,245,1859,2038, - 1,2039,50,2070,2071,2072,2180,524,2181,1442, - 1431,1410,715,1615,1374,791,1859,1,1,1, - 1,1,1859,1,1,1,1,1,1,1, - 1,1,1,1,1,1465,1,1,1,1859, - 188,2053,1859,1,1,1,71,189,1,1, - 1,1,1,1,248,1859,2038,1,2039,1196, - 2070,2071,2072,2180,524,2181,47,1859,2082,1418, - 1677,1545,1859,1859,1,1,1,1,1,1859, + 1,1,558,189,1,1,1,63,2066,1872, + 1,50,1,52,189,1,1,1,1,1, + 1,501,247,1516,1501,1516,1501,1,1,1, + 1,1,1,1,1148,1872,2051,1872,2052,1880, + 1683,1669,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1361, + 189,1,1,1,1872,2066,1872,1,61,1, + 1872,188,1,1,1,1,1,1,67,245, + 1872,1901,1872,1902,1,2083,2084,2085,2196,1211, + 2197,1872,49,261,1275,1447,1690,1,267,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1467,1,1,1,68,189,2053,1859, - 2037,1859,2036,57,2113,2070,2071,2072,2180,524, - 2181,249,1859,1888,2020,1889,63,2070,2071,2072, - 2180,524,2181,397,1730,1,2082,1418,1670,1653, - 1294,2021,2019,2073,2022,2018,1859,2025,2030,2029, - 2027,2028,2026,2031,2032,2024,2033,2034,2035,64, - 1259,1189,382,1,1876,1602,1877,1522,1862,1859, - 1084,1139,1843,1294,1859,1572,1565,1595,673,581, - 1077,641,631,1869,1870,1871,1872,1558,481,2167, - 2168,2169,575,418,387,49,1,1853,1223,1677, - 261,1864,1454,1113,1,1859,1859,1876,1602,1877, - 1536,1862,553,1859,205,2038,553,2039,1572,1565, - 1595,1019,1861,1077,641,631,1869,1870,1871,1872, - 1558,481,2167,2168,2169,575,418,387,751,1859, - 258,2082,1223,1,1,1454,1863,1859,1864,1, - 1876,1602,1877,1588,27,1859,553,1670,1653,553, - 1864,1572,1565,1595,28,1861,1077,641,631,1869, - 1870,1871,1872,1558,481,2167,2168,2169,575,418, - 387,127,56,267,55,1859,1604,2070,2071,2072, - 2180,524,2181,1863,320,199,2020,1859,1,553, - 1859,1039,1864,1868,27,1863,1859,48,1859,1777, - 1844,1677,1859,2021,2019,2073,2022,2018,533,2025, - 2030,2029,2027,2028,2026,2031,2032,2024,2033,2034, - 2035,1859,1876,1602,1877,1588,1862,1267,1859,1084, - 1139,1084,1139,1572,1565,1595,1466,1863,1077,641, - 631,1869,1870,1871,1872,1558,481,2167,2168,2169, - 575,418,387,1149,264,2082,1223,1859,1545,1670, - 1653,52,1862,1867,1859,1876,1602,1877,1529,1862, - 553,62,1859,1374,791,1859,1572,1565,1595,1859, - 1861,1077,641,631,1869,1870,1871,1872,1558,481, - 2167,2168,2169,575,418,387,264,54,1454,28, - 1545,51,1,1859,2094,1859,1274,1859,1,1, - 1,1,553,1374,791,66,1861,1859,1859,1, - 1,1,1859,1861,1,1,1,1,1,1, + 1,1,1,1,1,1,558,188,1,1, + 1,558,2066,1872,1,219,1,1611,189,1, + 1,1,1,1,1,1872,248,57,1324,521, + 1877,1,2083,2084,2085,2196,1211,2197,558,1872, + 2051,701,2052,56,1683,1669,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1384,1353,1859,89,1864,1859,1,1876,1602, - 1877,1588,1859,1886,1084,1139,1859,1,1856,1572, - 1565,1595,2113,2166,1077,641,631,1869,1870,1871, - 1872,1558,481,2167,2168,2169,575,418,387,1859, - 1876,1602,1877,1588,1604,1859,2038,1196,2039,89, - 1863,1572,1565,1595,1859,1859,1077,641,631,1869, - 1870,1871,1872,1558,481,2167,2168,2169,575,418, - 387,1859,1876,1602,1877,1588,1604,2113,204,1281, - 1859,1281,316,1572,1565,1595,1859,1859,1077,641, - 631,1869,1870,1871,1872,1558,481,2167,2168,2169, - 575,418,387,1859,1876,1603,1877,1588,314,312, - 1859,1859,1,41,186,1572,1565,1595,1859,1267, - 1077,641,631,1869,1870,1871,1872,1558,481,2167, - 2168,2169,575,418,387,1859,1876,1613,1877,1588, - 185,187,1859,1859,1859,1267,1267,1572,1565,1595, - 1267,1546,1077,641,631,1869,1870,1871,1872,1558, - 481,2167,2168,2169,575,418,387,1859,1876,1614, - 1877,1588,2112,1859,1859,1859,1859,1547,1548,1572, - 1565,1595,204,1859,1077,641,631,1869,1870,1871, - 1872,1558,481,2167,2168,2169,575,418,387,1859, - 1876,1638,1877,1588,1859,1859,42,1859,1859,1859, - 1859,1572,1565,1595,1859,1859,1077,641,631,1869, - 1870,1871,1872,1558,481,2167,2168,2169,575,418, - 387,1,1876,1602,1877,1588,2977,1859,1859,1859, - 1859,1859,1859,1572,1565,1595,1859,1859,1077,641, - 631,1869,1870,1871,1872,1558,481,2167,2168,2169, - 575,418,387,17,219,1847,1464,1847,1847,178, - 178,178,178,178,178,979,1859,1859,178,1847, - 553,1868,1859,1859,1859,959,939,919,899,879, - 839,859,819,799,771,178,178,178,178,178, - 18,284,1850,1859,1850,1850,177,177,177,177, - 177,177,128,1847,1859,177,1850,1094,2070,2071, - 2072,2180,524,2181,1859,217,1859,2020,1859,1866, - 1302,1859,177,177,177,177,177,1859,1859,1859, - 1859,553,1859,1859,2021,2019,2073,2022,2018,129, - 1850,1867,1859,1859,1859,2070,2071,2072,2180,524, - 2181,130,1617,1859,2020,1859,1859,2070,2071,2072, - 2180,524,2181,1859,1859,1859,2020,1859,1859,1865, - 1859,2021,2019,2073,2022,2018,1859,1859,1859,1859, - 1859,1859,131,2021,2019,2073,2022,2018,2070,2071, - 2072,2180,524,2181,1859,1859,1859,2020,1859,1859, - 1859,1859,1859,1859,1859,1859,1859,1859,1859,1859, - 1859,1859,1859,1859,2021,2019,2073,2022,2018 + 1,1,1,1363,189,1,1,1,60,2066, + 1872,2050,323,2049,51,1876,2083,2084,2085,2196, + 1211,2197,1872,249,1430,1440,1516,1501,2033,2083, + 2084,2085,2196,1211,2197,1857,1872,2051,1872,2052, + 1430,1440,59,2034,2032,2086,2035,2031,2038,2043, + 2042,2040,2041,2039,2044,2045,2037,2046,2047,2048, + 1389,1073,607,593,385,1,1889,1605,1890,1525, + 1875,69,1419,1408,1174,1118,55,1575,1568,1598, + 1343,1245,1167,726,1882,1883,1884,1885,1872,2107, + 1561,718,2183,2184,2185,1111,595,582,1872,1226, + 1872,1889,1605,1890,1539,1875,1419,1408,1174,1118, + 70,1856,1575,1568,1598,1343,1245,1167,1053,1882, + 1883,1884,1885,71,1874,1561,718,2183,2184,2185, + 1111,595,582,1430,1440,87,1,1889,1605,1890, + 1591,27,1872,2095,384,484,1399,252,1575,1568, + 1598,1343,1245,1167,1872,1882,1883,1884,1885,1874, + 2959,1561,718,2183,2184,2185,1111,595,582,264, + 127,1447,54,1399,1872,1872,2083,2084,2085,2196, + 1211,2197,205,2051,484,2052,1872,27,2033,1872, + 793,48,558,1,1881,1690,1872,2051,89,2052, + 400,1716,1608,2034,2032,2086,2035,2031,2038,2043, + 2042,2040,2041,2039,2044,2045,2037,2046,2047,2048, + 1872,1889,1605,1890,1591,1875,62,1872,65,1430, + 1440,1284,1575,1568,1598,1343,1245,1167,287,1882, + 1883,1884,1885,89,1316,1561,718,2183,2184,2185, + 1111,595,582,1683,1669,1872,1889,1605,1890,1532, + 1875,1129,204,1667,1880,1667,1872,1575,1568,1598, + 1343,1245,1167,1872,1882,1883,1884,1885,1875,1874, + 1561,718,2183,2184,2185,1111,595,582,1872,319, + 1872,1,1,1,1,66,1324,521,1872,1625, + 1231,68,1,1,1,1,1,1,217,1, + 1,1,1,1275,1874,1,1,1,1,1, + 1,1,1,1,1889,1605,1890,1591,1872,1, + 199,558,1874,1872,1877,1575,1568,1598,1343,1245, + 1167,317,1882,1883,1884,1885,2182,2959,1561,718, + 2183,2184,2185,1111,595,582,1872,1889,1605,1890, + 1591,1872,1,2095,384,1275,1879,1231,1575,1568, + 1598,1343,1245,1167,701,1882,1883,1884,1885,1876, + 2959,1561,718,2183,2184,2185,1111,595,582,1, + 1889,1605,1890,1591,280,1872,1204,208,1185,1551, + 1,1575,1568,1598,1343,1245,1167,315,1882,1883, + 1884,1885,1878,2959,1561,718,2183,2184,2185,1111, + 595,582,1872,1889,1605,1890,1591,1872,1872,1872, + 1872,1275,64,1,1575,1568,1598,1343,1245,1167, + 41,1882,1883,1884,1885,1551,501,1561,718,2183, + 2184,2185,1111,595,582,1872,1889,1607,1890,1591, + 2126,1872,1872,1872,1275,1872,1092,1575,1568,1598, + 1343,1245,1167,186,1882,1883,1884,1885,1872,1872, + 1561,718,2183,2184,2185,1111,595,582,1872,1889, + 1617,1890,1591,2125,1872,1872,661,1548,1872,1872, + 1575,1568,1598,1343,1245,1167,185,1882,1883,1884, + 1885,1872,1872,1561,718,2183,2184,2185,1111,595, + 582,1872,1889,1619,1890,1591,1872,1872,1872,1872, + 1549,1872,1872,1575,1568,1598,1343,1245,1167,187, + 1882,1883,1884,1885,1872,1872,1561,718,2183,2184, + 2185,1111,595,582,1872,1889,1633,1890,1591,1872, + 1872,1,1872,1550,1872,1284,1575,1568,1598,1343, + 1245,1167,1872,1882,1883,1884,1885,28,28,1561, + 718,2183,2184,2185,1111,595,582,1,1889,1605, + 1890,1591,1872,1872,1872,1872,1609,204,1872,1575, + 1568,1598,1343,1245,1167,1872,1882,1883,1884,1885, + 1872,1872,1561,718,2183,2184,2185,1111,595,582, + 17,2126,1860,1872,1860,1860,178,178,178,178, + 178,178,538,1899,1872,1872,1872,1872,178,1872, + 18,1872,1863,1860,1863,1863,177,177,177,177, + 177,177,2827,178,178,178,178,178,177,1872, + 1,1866,581,1863,1872,1877,1872,1872,1872,1872, + 1860,1872,1877,177,177,177,177,177,128,1872, + 1872,1872,1872,558,2083,2084,2085,2196,1211,2197, + 1863,129,1872,1872,1872,42,2033,2083,2084,2085, + 2196,1211,2197,1872,1872,1872,1872,1872,1872,2033, + 1876,2034,2032,2086,2035,2031,1,1876,1447,1872, + 1872,1877,1662,130,2034,2032,2086,2035,2031,2083, + 2084,2085,2196,1211,2197,1872,131,1872,1872,558, + 1872,2033,2083,2084,2085,2196,1211,2197,1872,1872, + 1872,1872,1872,1872,2033,1872,2034,2032,2086,2035, + 2031,1872,1872,1872,1013,1872,1876,1872,1872,2034, + 2032,2086,2035,2031,993,973,953,933,913,873, + 893,853,833,813,31,1872,1621,1872,1872,1872, + 1872,1872,1872,1872,1872,1872,1872,1872,1872,1896, + 1897,1872,1872,1872,1872,1872,1872,1552,1872,1872, + 1872,1872,1872,1872,1872,1872,1872,1872,1872,1872, + 1872,1872,1872,1872,1872,1872,1872,1872,1872,1872, + 1872,1872,1872,1872,1872,1872,1872,1872,1872,1872, + 1872,1872,1872,1872,1872,519,1872,1872,1872,1872, + 1872,1872,1872,1872,1872,1872,1872,1872,1872,1872, + 419 }; }; public final static char termAction[] = TermAction.termAction; @@ -667,28 +684,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 250,1,142,41,142,142,142,142,142,142, - 142,142,142,142,142,142,55,3,459,456, - 463,461,469,467,471,470,473,472,10,142, - 55,55,55,55,240,240,339,55,403,403, - 345,142,142,142,142,142,142,142,142,142, - 142,142,142,142,142,142,142,142,142,142, - 142,142,142,142,142,142,142,142,142,142, - 142,142,240,240,240,240,131,343,133,370, - 238,237,311,48,323,323,129,129,323,129, - 323,75,191,191,240,45,456,456,461,461, - 461,461,459,459,467,463,463,470,469,505, - 472,471,444,444,444,444,107,339,331,136, - 45,98,166,240,412,373,166,484,278,484, - 278,406,484,142,107,331,98,98,45,165, - 133,240,337,75,239,375,45,166,278,278, - 278,278,406,406,408,275,107,98,331,142, - 142,45,166,370,500,499,343,375,240,278, - 308,243,278,278,308,408,507,408,406,308, - 105,510,403,142,274,107,331,45,45,240, - 412,373,337,308,245,308,308,142,403,408, - 109,45,403,142,408,375,480,142,479,161, - 343,308,45,308,240,239,245,142,161,404 + 353,1,85,41,85,85,85,85,85,85, + 85,85,85,85,85,85,197,3,434,431, + 438,436,444,442,446,445,448,447,10,85, + 197,197,197,197,157,157,314,197,416,416, + 487,85,85,85,85,85,85,85,85,85, + 85,85,85,85,85,85,85,85,85,85, + 85,85,85,85,85,85,85,85,85,85, + 85,85,157,157,157,157,74,318,76,383, + 155,154,286,190,298,298,72,72,298,72, + 298,217,108,108,157,45,431,431,436,436, + 436,436,434,434,442,438,438,445,444,480, + 447,446,419,419,419,419,50,314,306,79, + 45,240,161,157,247,386,161,459,320,459, + 320,377,459,85,50,306,240,240,45,160, + 76,157,312,217,156,388,45,161,320,320, + 320,320,377,377,379,187,350,74,240,306, + 85,85,45,161,383,475,474,318,388,157, + 320,350,279,320,320,350,379,482,379,377, + 350,48,485,416,85,186,350,50,306,45, + 45,157,247,386,312,350,281,350,350,85, + 416,379,52,45,416,85,50,388,455,85, + 454,104,318,350,45,379,157,156,281,85, + 104,350,417,379 }; }; public final static char asb[] = Asb.asb; @@ -696,57 +714,57 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 89,0,75,16,2,61,76,17,18,14, + 89,0,75,23,2,61,76,15,16,14, 4,12,13,62,63,57,58,64,65,66, - 67,70,71,72,73,74,77,78,55,69, + 67,70,71,72,73,74,77,78,51,69, 79,80,81,82,83,85,84,86,87,88, - 68,50,89,54,59,5,0,5,68,54, - 59,50,75,16,19,20,21,22,23,2, - 17,18,14,4,12,13,24,25,26,27, - 28,29,30,31,3,1,51,52,53,46, - 38,43,41,42,40,39,44,45,47,48, - 49,36,33,15,32,35,34,6,7,8, - 10,9,11,0,5,55,16,61,17,18, - 14,4,12,13,24,25,19,29,30,31, - 2,20,21,22,23,26,27,28,1,3, - 37,0,59,5,15,6,7,8,9,10, - 11,20,21,22,23,26,27,28,3,17, - 18,14,12,13,24,25,19,29,30,31, - 4,2,1,0,15,59,5,17,18,14, - 4,12,13,24,25,19,29,30,31,2, - 1,3,20,21,22,23,26,27,28,0, - 7,15,36,8,35,34,33,6,32,9, - 10,11,61,76,17,18,14,12,13,62, - 63,57,58,64,65,66,67,70,71,72, - 73,74,77,78,69,79,80,81,82,83, - 84,85,86,87,88,4,2,16,54,50, - 5,0,75,5,4,1,2,68,0,19, - 20,21,22,23,1,3,2,17,18,14, - 4,12,13,24,25,26,27,28,29,30, - 31,56,0,69,16,61,0,32,38,6, - 39,51,33,40,34,41,42,35,7,43, - 44,15,52,36,53,45,46,8,47,48, - 49,1,3,9,10,11,56,55,5,0, - 46,38,43,41,42,40,39,44,45,47, - 48,49,68,75,36,33,15,32,35,34, - 6,7,8,9,10,11,54,1,5,50, - 2,16,4,0,5,50,19,20,21,22, - 23,1,3,2,17,18,14,4,12,13, - 24,25,26,27,28,29,30,31,0,4, - 2,16,50,5,32,38,6,39,51,33, - 40,34,41,42,35,7,43,44,15,52, - 36,53,45,46,8,47,48,49,9,10, - 11,60,3,1,0,1,3,5,55,54, - 0,32,38,6,39,51,33,40,34,41, - 42,35,7,43,44,15,52,36,53,45, - 46,8,47,48,49,1,3,9,10,11, - 60,4,0,69,79,80,81,82,83,84, - 85,86,87,88,37,4,62,63,12,13, - 58,57,64,65,66,67,70,71,14,72, - 73,74,59,50,55,89,77,78,68,75, - 5,54,0,32,6,33,34,35,7,15, - 36,8,1,4,9,10,11,37,2,5, - 54,50,75,16,68,0,5,54,55,69, + 68,50,89,55,59,5,0,5,51,23, + 61,15,16,14,4,12,13,25,26,17, + 30,31,32,2,19,20,21,22,27,28, + 29,1,3,24,0,59,5,18,6,7, + 8,9,10,11,19,20,21,22,27,28, + 29,3,15,16,14,12,13,25,26,17, + 30,31,32,4,2,1,0,7,18,37, + 8,36,35,34,6,33,9,10,11,61, + 76,15,16,14,12,13,62,63,57,58, + 64,65,66,67,70,71,72,73,74,77, + 78,69,79,80,81,82,83,84,85,86, + 87,88,4,2,23,55,50,5,0,18, + 59,5,15,16,14,4,12,13,25,26, + 17,30,31,32,2,1,3,19,20,21, + 22,27,28,29,0,69,23,61,0,5, + 68,55,59,50,75,23,17,19,20,21, + 22,2,15,16,14,4,12,13,25,26, + 27,28,29,30,31,32,3,1,52,53, + 54,46,38,43,41,42,40,39,44,45, + 47,48,49,37,34,18,33,36,35,6, + 7,8,10,9,11,0,33,38,6,39, + 52,34,40,35,41,42,36,7,43,44, + 18,53,37,54,45,46,8,47,48,49, + 1,3,9,10,11,60,4,0,75,5, + 4,1,2,68,0,46,38,43,41,42, + 40,39,44,45,47,48,49,68,75,37, + 34,18,33,36,35,6,7,8,9,10, + 11,55,1,5,50,2,23,4,0,33, + 38,6,39,52,34,40,35,41,42,36, + 7,43,44,18,53,37,54,45,46,8, + 47,48,49,1,3,9,10,11,56,5, + 51,0,17,19,20,21,22,1,3,2, + 15,16,14,4,12,13,25,26,27,28, + 29,30,31,32,56,0,1,3,5,51, + 55,0,4,2,23,50,5,33,38,6, + 39,52,34,40,35,41,42,36,7,43, + 44,18,53,37,54,45,46,8,47,48, + 49,9,10,11,60,3,1,0,69,79, + 80,81,82,83,84,85,86,87,88,24, + 4,62,63,12,13,58,57,64,65,66, + 67,70,71,14,72,73,74,59,50,51, + 89,77,78,68,75,5,55,0,33,6, + 34,35,36,7,18,37,8,1,4,9, + 10,11,24,2,5,55,50,75,23,68, + 0,5,55,51,69,0,5,50,17,19, + 20,21,22,1,3,2,15,16,14,4, + 12,13,25,26,27,28,29,30,31,32, 0 }; }; @@ -755,28 +773,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static byte nasb[] = {0, - 56,8,19,8,19,19,19,19,19,19, - 19,19,19,19,19,19,72,8,8,8, - 8,8,8,8,8,8,8,8,8,19, - 72,72,72,72,70,70,65,1,27,27, - 61,73,19,19,19,19,19,19,19,19, - 19,19,19,19,19,19,19,19,73,19, - 19,19,19,19,19,19,19,19,19,19, - 19,19,70,70,70,70,8,78,21,64, - 25,25,49,15,50,50,9,9,50,9, - 50,45,8,8,70,23,8,8,8,8, + 67,8,20,8,20,20,20,20,20,20, + 20,20,20,20,20,20,77,8,8,8, + 8,8,8,8,8,8,8,8,8,20, + 77,77,77,77,65,65,71,1,13,13, + 81,78,20,20,20,20,20,20,20,20, + 20,20,20,20,20,20,20,20,78,20, + 20,20,20,20,20,20,20,20,20,20, + 20,20,65,65,65,65,8,48,22,70, + 44,44,54,42,55,55,9,9,55,9, + 55,50,8,8,65,24,8,8,8,8, 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,86,66,86,18, - 23,31,22,70,76,69,22,8,86,8, - 86,86,8,19,18,86,31,31,23,22, - 11,70,34,2,8,85,23,22,86,80, - 86,80,9,86,29,13,86,31,11,19, - 19,23,22,33,25,25,78,85,70,80, - 43,40,88,80,43,29,8,8,9,43, - 17,8,9,19,59,18,11,23,23,70, - 76,69,35,43,52,43,43,19,9,29, - 19,23,9,19,29,84,41,19,8,52, - 78,43,23,43,70,70,52,19,37,8 + 8,8,8,8,8,8,92,72,92,35, + 24,84,23,65,46,64,23,8,92,8, + 92,92,8,20,18,92,84,84,24,23, + 75,65,29,2,8,91,24,23,92,86, + 92,86,9,92,26,15,92,8,84,75, + 20,20,24,23,28,44,44,48,91,65, + 86,11,61,94,86,11,26,8,8,9, + 11,17,8,9,20,38,11,92,75,24, + 24,65,46,64,30,11,57,11,11,20, + 9,26,19,24,9,20,18,90,62,20, + 8,57,48,11,24,26,65,65,57,20, + 32,11,8,40 }; }; public final static byte nasb[] = Nasb.nasb; @@ -784,16 +803,16 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,75,74,0,32,0, - 23,0,91,0,94,0,69,8,4,0, - 8,4,21,0,28,0,71,0,54,0, - 61,0,20,8,47,46,40,38,0,8, - 70,0,30,0,64,65,66,67,55,33, - 0,8,40,38,0,8,85,0,93,0, - 8,86,0,20,8,47,46,0,8,20, - 0,27,8,31,0,8,22,52,0,59, - 8,27,0,88,22,8,0,8,27,51, - 0 + 4,80,79,78,77,76,75,0,32,0, + 29,0,72,0,93,0,70,7,64,4, + 0,7,4,21,0,54,0,20,7,47, + 46,40,38,0,4,7,0,95,0,91, + 0,96,0,28,0,7,22,52,0,65, + 66,67,68,55,33,0,7,40,38,0, + 7,71,0,7,20,0,7,86,0,20, + 7,47,46,0,23,0,27,7,31,0, + 7,87,0,61,0,59,7,27,0,89, + 22,7,0,7,27,51,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -802,11 +821,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, 85,2,86,9,87,48,64,76,96,97, - 98,10,11,8,69,1,6,7,68,81, - 82,83,84,12,13,93,94,95,100,101, - 102,44,55,60,63,72,3,47,52,56, + 98,10,11,8,6,7,68,69,81,82, + 83,84,1,3,12,13,93,94,95,100, + 101,102,44,55,60,63,72,47,52,56, 61,62,66,67,74,75,78,79,80,90, - 54,70,73,42,91,107,16,17,89,30, + 91,54,70,73,42,107,16,17,89,30, 4,14,15,18,19,20,21,29,31,22, 23,24,25,26,92,5,27,28,32,33, 34,35,36,37,38,39,40,41,108,45, @@ -819,18 +838,19 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 0,0,0,115,119,120,121,0,122,123, + 0,0,0,115,119,120,0,121,122,123, 124,125,126,127,128,129,130,131,132,111, - 110,136,143,0,0,0,154,163,0,112, + 110,136,143,0,0,0,154,163,112,0, 114,135,142,0,0,0,159,161,0,162, 0,0,0,134,172,173,174,0,117,151, 153,160,169,0,145,150,0,0,152,164, - 167,168,171,146,147,148,149,158,175,113, - 116,118,133,137,138,139,140,141,144,156, - 0,0,157,166,109,0,155,165,170,176, - 177,0,178,179,0,0,0,0,0,0, + 167,168,171,0,146,147,148,149,158,175, + 113,116,118,133,137,138,139,140,141,144, + 156,0,0,157,166,109,0,155,165,170, + 0,176,177,0,178,179,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -838,12 +858,12 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 208,118,57,67,125,145,151,188,26,33, - 85,103,157,162,73,6,12,16,38,81, - 50,135,204,226,230,50,50,197,50,1, - 1,1,42,45,90,113,45,234,20,139, - 179,216,131,167,167,167,167,167,93,93, - 93 + 212,120,59,69,129,149,155,26,192,35, + 87,105,161,166,75,6,12,16,40,83, + 52,139,208,230,234,52,52,201,52,1, + 1,1,44,47,92,115,47,238,20,143, + 183,220,135,171,171,171,171,171,95,95, + 95 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -851,12 +871,12 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 31,31,4,4,31,31,31,194,31,10, - 4,10,31,31,78,10,10,10,10,4, - 4,133,10,10,4,54,78,201,63,4, - 4,4,10,48,4,10,116,10,23,142, - 182,219,133,169,171,173,175,177,100,95, - 108 + 127,127,4,4,127,127,127,32,198,10, + 4,10,127,127,80,10,10,10,10,4, + 4,137,10,10,4,56,80,205,65,4, + 4,4,10,50,4,10,118,10,23,146, + 186,223,137,173,175,177,179,181,102,97, + 110 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -864,11 +884,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 4,66,28,28,66,64,64,101,56,48, - 28,43,64,64,28,5,5,5,48,28, - 28,51,5,4,4,28,28,18,28,94, - 93,92,46,63,28,40,50,2,69,51, - 102,4,51,78,77,76,75,74,43,41, + 4,67,28,28,67,65,65,56,103,48, + 28,43,65,65,28,5,5,5,48,28, + 28,51,5,4,4,28,28,18,28,96, + 95,94,46,63,28,40,50,2,70,51, + 104,4,51,79,78,77,76,75,43,41, 43 }; }; @@ -877,11 +897,11 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 55,55,59,59,55,55,55,95,55,50, - 59,50,55,55,20,50,50,50,50,59, - 59,75,50,50,59,4,20,68,15,59, + 51,51,59,59,51,51,51,51,95,50, + 59,50,51,51,19,50,50,50,50,59, + 59,75,50,50,59,4,19,68,18,59, 59,59,50,2,59,50,1,50,69,1, - 101,50,75,3,51,52,52,46,2,2, + 101,50,75,3,52,53,53,46,2,2, 2 }; }; @@ -890,7 +910,7 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static byte scopeStateSet[] = { - 36,21,25,25,21,21,21,-1,95,29, + 36,21,25,25,21,21,21,95,-1,29, 25,11,21,21,25,36,36,36,29,25, 25,5,36,36,36,25,25,69,25,19, 1,3,29,31,25,11,13,36,96,5, @@ -903,30 +923,30 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 151,16,0,110,0,156,2,31,0,111, - 0,156,2,30,0,156,2,29,0,197, - 115,0,31,150,0,161,179,115,37,0, - 112,0,167,115,2,153,0,167,115,2, - 0,170,2,0,159,115,0,172,0,191, - 115,16,0,9,110,0,126,15,191,115, - 16,0,69,132,110,0,126,191,115,15, - 16,0,191,115,15,16,0,132,110,0, - 126,15,16,0,126,191,115,16,0,126, - 16,0,147,0,2,0,165,111,0,2, - 111,0,167,115,2,147,0,2,0,164, - 111,0,157,2,0,159,0,161,189,115, - 37,139,51,0,161,189,115,37,51,0, - 134,0,113,0,194,115,134,0,115,134, - 0,155,113,0,165,115,37,139,53,0, - 165,115,37,139,52,0,165,115,37,53, - 0,165,115,37,52,0,186,0,149,0, - 148,0,147,0,146,0,145,0,204,94, - 0,77,2,114,111,113,0,204,127,138, - 2,98,0,53,0,0,138,78,124,0, - 29,131,0,156,2,19,0,161,179,115, - 37,127,156,2,0,156,2,0,111,3, - 0,118,0,112,0,193,2,111,0,138, - 16,111,0,138,2,0 + 151,23,0,110,0,156,2,32,0,111, + 0,156,2,31,0,156,2,30,0,199, + 114,0,31,150,0,161,180,114,24,171, + 0,112,0,0,167,114,2,153,0,167, + 114,2,0,170,2,0,159,114,0,172, + 0,192,114,23,0,9,110,0,126,18, + 192,114,23,0,69,132,110,0,126,192, + 114,18,23,0,192,114,18,23,0,132, + 110,0,126,18,23,0,126,192,114,23, + 0,126,23,0,147,0,2,0,165,111, + 0,2,111,0,167,114,2,147,0,2, + 0,164,111,0,157,2,0,159,0,161, + 190,114,24,139,52,0,112,0,161,190, + 114,24,52,0,134,0,113,0,195,114, + 134,0,114,134,0,155,113,0,165,114, + 24,139,54,0,165,114,24,139,53,0, + 165,114,24,54,0,165,114,24,53,0, + 187,0,149,0,148,0,147,0,146,0, + 145,0,206,94,0,77,2,114,111,113, + 0,206,127,138,2,98,0,53,0,0, + 138,78,124,0,29,131,0,156,2,17, + 0,161,180,114,24,127,156,2,0,156, + 2,0,111,3,0,118,0,112,0,194, + 2,111,0,138,23,111,0,138,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -934,16 +954,16 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1334,0,513,0,1704,1790,1698,1695,1689,0, - 1544,480,1302,1418,1285,1223,1187,0,524,0, - 1254,573,360,0,1469,1210,1176,601,480,1739, - 1223,1187,1454,1284,0,1536,1529,1522,610,397, - 1196,581,1384,1353,1294,1139,1084,1442,1431,1410, - 715,1677,1670,1653,1374,791,1077,641,1595,1588, - 1572,1565,1558,481,631,575,418,387,1149,1113, - 1094,1058,1039,1019,999,729,1168,693,673,553, - 979,959,939,919,899,879,859,839,819,799, - 771,360,488,653,751,460,533,440,0 + 1060,0,518,0,1718,1803,1712,1702,1700,0, + 1547,1255,1316,384,1299,581,1223,0,1211,0, + 1254,580,363,0,1360,1257,1228,1225,1255,1744, + 581,1223,1447,1452,0,1539,1532,1525,484,400, + 1231,701,1324,521,501,1440,1430,1419,1408,1174, + 1118,1690,1683,1669,1516,1501,1343,1245,1598,1591, + 1575,1568,1561,718,1167,1111,595,582,1185,1148, + 1129,1092,1073,1053,1033,770,1204,748,726,558, + 1013,993,973,953,933,913,893,873,853,833, + 813,363,793,681,661,464,538,444,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -951,28 +971,29 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,192,115,180,31,30,29,19,25,24, - 13,12,4,14,18,17,2,111,116,114, - 118,117,120,119,122,121,124,123,112,54, - 2,2,2,2,156,138,134,115,76,61, - 2,16,13,12,63,62,4,67,66,65, + 0,193,114,181,32,31,30,17,26,25, + 13,12,4,14,16,15,2,111,116,115, + 118,117,120,119,122,121,124,123,112,55, + 2,2,2,2,156,138,134,114,76,61, + 2,23,13,12,63,62,4,67,66,65, 64,57,58,14,71,70,73,72,78,77, 74,88,87,86,84,85,83,82,81,80, - 79,69,156,156,156,156,127,115,16,2, - 154,153,181,10,182,183,53,52,184,51, - 185,186,1,3,193,138,114,114,117,117, + 79,69,156,156,156,156,127,114,23,2, + 154,153,182,10,183,184,54,53,185,52, + 186,187,1,3,194,138,115,115,117,117, 117,117,116,116,119,118,118,121,120,138, - 123,122,127,127,127,127,37,159,4,15, - 126,115,4,170,115,2,16,139,37,139, - 37,37,139,68,115,4,115,115,126,191, - 168,167,129,115,169,115,151,4,37,115, - 37,115,115,37,179,115,37,115,168,191, - 15,126,4,2,145,147,115,54,167,115, - 165,134,166,115,165,189,139,190,115,161, - 54,197,61,16,198,115,168,126,126,157, - 115,2,159,165,115,165,161,69,54,189, - 69,151,61,16,179,115,194,68,157,2, - 115,161,151,161,167,195,54,68,159,54 + 123,122,127,127,127,127,24,159,4,18, + 126,114,4,170,114,2,23,139,24,139, + 24,24,139,68,114,4,114,114,126,192, + 168,167,129,114,169,114,151,4,24,114, + 24,114,114,24,180,114,24,171,114,168, + 192,18,126,4,2,145,147,114,55,167, + 114,165,134,166,114,165,190,139,191,114, + 161,55,199,61,23,200,114,24,168,126, + 126,157,114,2,159,165,114,165,161,69, + 55,190,69,151,61,23,114,114,195,68, + 157,2,114,161,151,180,167,196,55,68, + 159,161,55,136 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1182,20 +1203,20 @@ public class UPCNoCastExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 220, + NUM_STATES = 224, NT_OFFSET = 107, - LA_STATE_OFFSET = 2218, + LA_STATE_OFFSET = 2234, MAX_LA = 2, - NUM_RULES = 359, - NUM_NONTERMINALS = 120, - NUM_SYMBOLS = 227, + NUM_RULES = 362, + NUM_NONTERMINALS = 122, + NUM_SYMBOLS = 229, SEGMENT_SIZE = 8192, - START_STATE = 1307, + START_STATE = 1364, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1843, - ERROR_ACTION = 1859; + ACCEPT_ACTION = 1856, + ERROR_ACTION = 1872; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java index 7ff98639ba5..bcd5881f4ff 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCNoCastExpressionParsersym.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.internal.core.dom.parser.upc; public interface UPCNoCastExpressionParsersym { public final static int - TK_auto = 32, + TK_auto = 33, TK_break = 90, TK_case = 91, TK_char = 38, @@ -25,26 +25,26 @@ public interface UPCNoCastExpressionParsersym { TK_do = 94, TK_double = 39, TK_else = 95, - TK_enum = 51, - TK_extern = 33, + TK_enum = 52, + TK_extern = 34, TK_float = 40, TK_for = 96, TK_goto = 97, TK_if = 98, - TK_inline = 34, + TK_inline = 35, TK_int = 41, TK_long = 42, - TK_register = 35, + TK_register = 36, TK_restrict = 7, TK_return = 99, TK_short = 43, TK_signed = 44, - TK_sizeof = 19, - TK_static = 15, - TK_struct = 52, + TK_sizeof = 17, + TK_static = 18, + TK_struct = 53, TK_switch = 100, - TK_typedef = 36, - TK_union = 53, + TK_typedef = 37, + TK_union = 54, TK_unsigned = 45, TK_void = 46, TK_volatile = 8, @@ -52,27 +52,27 @@ public interface UPCNoCastExpressionParsersym { TK__Bool = 47, TK__Complex = 48, TK__Imaginary = 49, - TK_integer = 20, - TK_floating = 21, - TK_charconst = 22, - TK_stringlit = 23, + TK_integer = 19, + TK_floating = 20, + TK_charconst = 21, + TK_stringlit = 22, TK_identifier = 1, TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 102, - TK_LeftBracket = 16, + TK_LeftBracket = 23, TK_LeftParen = 2, - TK_LeftBrace = 37, + TK_LeftBrace = 24, TK_Dot = 61, TK_Arrow = 76, - TK_PlusPlus = 17, - TK_MinusMinus = 18, + TK_PlusPlus = 15, + TK_MinusMinus = 16, TK_And = 14, TK_Star = 4, TK_Plus = 12, TK_Minus = 13, - TK_Tilde = 24, - TK_Bang = 25, + TK_Tilde = 25, + TK_Bang = 26, TK_Slash = 62, TK_Percent = 63, TK_RightShift = 57, @@ -101,21 +101,21 @@ public interface UPCNoCastExpressionParsersym { TK_AndAssign = 86, TK_CaretAssign = 87, TK_OrAssign = 88, - TK_Comma = 54, + TK_Comma = 55, TK_RightBracket = 59, TK_RightParen = 50, - TK_RightBrace = 55, + TK_RightBrace = 51, TK_SemiColon = 75, - TK_MYTHREAD = 26, - TK_THREADS = 27, - TK_UPC_MAX_BLOCKSIZE = 28, + TK_MYTHREAD = 27, + TK_THREADS = 28, + TK_UPC_MAX_BLOCKSIZE = 29, TK_relaxed = 9, TK_shared = 10, TK_strict = 11, TK_upc_barrier = 103, - TK_upc_localsizeof = 29, - TK_upc_blocksizeof = 30, - TK_upc_elemsizeof = 31, + TK_upc_localsizeof = 30, + TK_upc_blocksizeof = 31, + TK_upc_elemsizeof = 32, TK_upc_notify = 104, TK_upc_fence = 105, TK_upc_wait = 106, @@ -139,15 +139,16 @@ public interface UPCNoCastExpressionParsersym { "Plus", "Minus", "And", - "static", - "LeftBracket", "PlusPlus", "MinusMinus", "sizeof", + "static", "integer", "floating", "charconst", "stringlit", + "LeftBracket", + "LeftBrace", "Tilde", "Bang", "MYTHREAD", @@ -161,7 +162,6 @@ public interface UPCNoCastExpressionParsersym { "inline", "register", "typedef", - "LeftBrace", "char", "double", "float", @@ -175,11 +175,11 @@ public interface UPCNoCastExpressionParsersym { "_Complex", "_Imaginary", "RightParen", + "RightBrace", "enum", "struct", "union", "Comma", - "RightBrace", "ERROR_TOKEN", "RightShift", "LeftShift", diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java index 7e0ebad6e12..46ce1b9fe3e 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParser.java @@ -24,6 +24,7 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -32,7 +33,6 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { @@ -176,8 +176,9 @@ private UPCParserAction action; public UPCParser() { // constructor } -private void initActions(IASTTranslationUnit tu) { +private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu); + action.setParserOptions(options); } @@ -187,10 +188,10 @@ public void addToken(IToken token) { } -public IASTCompletionNode parse(IASTTranslationUnit tu) { +public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) { // this has to be done, or... kaboom! setStreamLength(getSize()); - initActions(tu); + initActions(tu, options); final int errorRepairCount = -1; // -1 means full error handling parser(null, errorRepairCount); // do the actual parse @@ -602,13 +603,13 @@ public UPCParser(String[] mapFrom) { // constructor } // - // Rule 102: labeled_statement ::= case constant_expression : + // Rule 102: labeled_statement ::= case constant_expression : statement // case 102: { action. consumeStatementCase(); break; } // - // Rule 103: labeled_statement ::= default : + // Rule 103: labeled_statement ::= default : statement // case 103: { action. consumeStatementDefault(); break; } @@ -1166,375 +1167,393 @@ public UPCParser(String[] mapFrom) { // constructor } // - // Rule 279: initializer ::= { <openscope-ast> initializer_list comma_opt } + // Rule 279: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // case 279: { action. consumeInitializerList(); break; } // - // Rule 284: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 280: initializer ::= { <openscope-ast> } + // + case 280: { action. consumeInitializerList(); break; + } + + // + // Rule 281: start_initializer_list ::= $Empty + // + case 281: { action. initializerListStart(); break; + } + + // + // Rule 282: end_initializer_list ::= $Empty + // + case 282: { action. initializerListEnd(); break; + } + + // + // Rule 287: designated_initializer ::= <openscope-ast> designation = initializer // - case 284: { action. consumeInitializerDesignated(); break; + case 287: { action. consumeInitializerDesignated(); break; } // - // Rule 288: designator_base ::= [ constant_expression ] + // Rule 291: designator_base ::= [ constant_expression ] // - case 288: { action. consumeDesignatorArray(); break; + case 291: { action. consumeDesignatorArray(); break; } // - // Rule 289: designator_base ::= . identifier_or_typedefname + // Rule 292: designator_base ::= . identifier_or_typedefname // - case 289: { action. consumeDesignatorField(); break; + case 292: { action. consumeDesignatorField(); break; } // - // Rule 290: designator ::= [ constant_expression ] + // Rule 293: designator ::= [ constant_expression ] // - case 290: { action. consumeDesignatorArray(); break; + case 293: { action. consumeDesignatorArray(); break; } // - // Rule 291: designator ::= . identifier_or_typedefname + // Rule 294: designator ::= . identifier_or_typedefname // - case 291: { action. consumeDesignatorField(); break; + case 294: { action. consumeDesignatorField(); break; } // - // Rule 292: translation_unit ::= external_declaration_list + // Rule 295: translation_unit ::= external_declaration_list // - case 292: { action. consumeTranslationUnit(); break; + case 295: { action. consumeTranslationUnit(); break; } // - // Rule 293: translation_unit ::= $Empty + // Rule 296: translation_unit ::= $Empty // - case 293: { action. consumeTranslationUnit(); break; + case 296: { action. consumeTranslationUnit(); break; } // - // Rule 298: external_declaration ::= ; + // Rule 301: external_declaration ::= ; // - case 298: { action. consumeDeclarationEmpty(); break; + case 301: { action. consumeDeclarationEmpty(); break; } // - // Rule 299: external_declaration ::= ERROR_TOKEN + // Rule 302: external_declaration ::= ERROR_TOKEN // - case 299: { action. consumeDeclarationProblem(); break; + case 302: { action. consumeDeclarationProblem(); break; } // - // Rule 302: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 305: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(true); break; + case 305: { action. consumeFunctionDefinition(true); break; } // - // Rule 303: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 306: function_definition ::= <openscope-ast> function_declarator function_body // - case 303: { action. consumeFunctionDefinition(false); break; + case 306: { action. consumeFunctionDefinition(false); break; } // - // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 307: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 304: { action. consumeFunctionDefinitionKnR(); break; + case 307: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 305: function_body ::= { } + // Rule 308: function_body ::= { } // - case 305: { action. consumeStatementCompoundStatement(false); break; + case 308: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 306: function_body ::= { <openscope-ast> block_item_list } + // Rule 309: function_body ::= { <openscope-ast> block_item_list } // - case 306: { action. consumeStatementCompoundStatement(true); break; + case 309: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 307: literal ::= MYTHREAD + // Rule 310: literal ::= MYTHREAD // - case 307: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 308: literal ::= THREADS + // Rule 311: literal ::= THREADS // - case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 311: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 309: literal ::= UPC_MAX_BLOCKSIZE + // Rule 312: literal ::= UPC_MAX_BLOCKSIZE // - case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 312: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 310: unary_expression ::= upc_localsizeof unary_expression + // Rule 313: unary_expression ::= upc_localsizeof unary_expression // - case 310: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 313: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 311: unary_expression ::= upc_localsizeof ( type_name ) + // Rule 314: unary_expression ::= upc_localsizeof ( type_name ) // - case 311: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 314: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 312: unary_expression ::= upc_blocksizeof unary_expression + // Rule 315: unary_expression ::= upc_blocksizeof unary_expression // - case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 313: unary_expression ::= upc_blocksizeof ( type_name ) + // Rule 316: unary_expression ::= upc_blocksizeof ( type_name ) // - case 313: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 316: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 314: unary_expression ::= upc_elemsizeof unary_expression + // Rule 317: unary_expression ::= upc_elemsizeof unary_expression // - case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 317: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 315: unary_expression ::= upc_elemsizeof ( type_name ) + // Rule 318: unary_expression ::= upc_elemsizeof ( type_name ) // - case 315: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 318: { action. consumeExpressionSizeofTypeId(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 319: shared_type_qualifier ::= shared + // Rule 322: shared_type_qualifier ::= shared // - case 319: { action. consumeToken(); break; + case 322: { action. consumeToken(); break; } // - // Rule 320: reference_type_qualifier ::= relaxed + // Rule 323: reference_type_qualifier ::= relaxed // - case 320: { action. consumeToken(); break; + case 323: { action. consumeToken(); break; } // - // Rule 321: reference_type_qualifier ::= strict + // Rule 324: reference_type_qualifier ::= strict // - case 321: { action. consumeToken(); break; + case 324: { action. consumeToken(); break; } // - // Rule 322: layout_qualifier ::= [ constant_expression ] + // Rule 325: layout_qualifier ::= [ constant_expression ] // - case 322: { action. consumeLayoutQualifier(true, false); break; + case 325: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 323: layout_qualifier ::= [ * ] + // Rule 326: layout_qualifier ::= [ * ] // - case 323: { action. consumeLayoutQualifier(false, true); break; + case 326: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 324: layout_qualifier ::= [ ] + // Rule 327: layout_qualifier ::= [ ] // - case 324: { action. consumeLayoutQualifier(false, false); break; + case 327: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 326: synchronization_statement ::= upc_notify expression ; + // Rule 329: synchronization_statement ::= upc_notify expression ; // - case 326: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 327: synchronization_statement ::= upc_notify ; + // Rule 330: synchronization_statement ::= upc_notify ; // - case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 328: synchronization_statement ::= upc_wait expression ; + // Rule 331: synchronization_statement ::= upc_wait expression ; // - case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 329: synchronization_statement ::= upc_wait ; + // Rule 332: synchronization_statement ::= upc_wait ; // - case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 330: synchronization_statement ::= upc_barrier expression ; + // Rule 333: synchronization_statement ::= upc_barrier expression ; // - case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 331: synchronization_statement ::= upc_barrier ; + // Rule 334: synchronization_statement ::= upc_barrier ; // - case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 334: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 332: synchronization_statement ::= upc_fence ; + // Rule 335: synchronization_statement ::= upc_fence ; // - case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 335: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 333: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 333: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 336: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 334: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 337: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 338: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 335: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 338: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 339: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 336: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 339: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 337: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 337: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 340: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 338: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 338: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 341: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 339: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 342: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 339: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 342: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 340: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 343: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 340: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 343: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 341: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 341: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 344: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 342: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 342: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 345: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 346: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 347: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 348: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 349: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 350: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 351: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 352: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 353: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 354: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 355: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 356: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 357: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 355: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 358: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 355: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 358: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 356: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 359: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 356: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 359: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 358: affinity ::= continue + // Rule 361: affinity ::= continue // - case 358: { action. consumeToken(); break; + case 361: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java index 2bcb9843a89..30a875cef9f 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParserprs.java @@ -45,7 +45,7 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 3,1,5,1,3,3,3,3,3,3, 3,3,3,3,3,1,1,2,1,0, 1,3,1,1,1,1,1,1,1,1, - 3,3,2,2,4,1,2,1,1,1, + 3,4,3,2,4,1,2,1,1,1, 2,5,7,5,1,0,7,5,9,8, 3,2,2,2,3,2,4,2,2,2, 2,2,1,1,1,1,2,1,2,2, @@ -62,315 +62,318 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 4,6,6,3,5,1,1,2,3,4, 1,2,1,3,1,1,3,2,1,1, 1,1,2,1,2,3,1,1,1,3, - 1,2,2,2,3,4,5,1,5,1, - 1,3,3,4,1,1,2,3,2,3, - 2,1,0,1,2,1,1,1,1,1, - 2,4,3,6,2,4,1,1,1,2, - 4,2,4,2,4,1,1,2,1,1, - 1,3,3,2,1,3,2,3,2,3, - 2,2,11,10,10,9,10,9,9,8, - 10,9,9,8,9,8,8,7,10,9, - 9,8,9,8,8,7,1,1,-107,-83, - 0,-2,0,0,0,0,0,0,-19,0, - 0,-22,0,0,0,0,-20,0,-4,0, - 0,-215,0,-39,-276,0,0,0,0,0, - 0,-74,0,0,0,0,0,-24,-8,0, - 0,0,-26,-6,0,0,0,0,0,-29, - 0,0,0,0,0,0,-25,0,-3,0, - -40,0,0,0,0,-11,0,0,0,0, - 0,-41,0,0,0,0,-32,0,0,-43, - 0,0,0,0,0,0,0,0,0,-162, - 0,-17,0,0,0,0,0,-124,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-88,0,0,0,0,0, - -59,0,0,-87,0,0,0,-60,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-241,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -61,0,0,0,-51,0,-12,-141,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-30,-89,0,0,0,-288,0,-27,0, - 0,0,0,0,0,0,0,0,0,-254, - -33,0,0,0,-62,0,-98,0,0,0, - 0,-102,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-14,0,0,0,0, - 0,0,0,0,-106,0,0,0,0,0, - -296,0,-110,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-42,-1,0,0,0,0, - 0,0,0,-146,0,-28,0,0,-214,0, - -80,0,-31,0,0,0,0,0,0,0, - -143,0,0,0,-38,0,0,0,0,0, - -9,-37,0,0,0,0,0,0,0,0, - 0,0,0,-117,0,0,0,-119,0,0, - 0,0,0,0,-152,0,0,0,0,-36, - 0,0,-142,0,0,0,0,0,0,0, - -79,0,0,0,0,0,-5,0,0,-34, - 0,-63,0,0,0,0,0,-150,0,0, - 0,0,0,-64,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-23,0, - -65,0,0,0,0,0,0,0,-45,0, - 0,-70,0,0,0,0,0,0,-66,0, - 0,-173,0,0,0,0,0,0,0,0, - 0,-72,0,-35,-84,0,-67,0,0,0, - 0,0,0,0,0,0,0,0,-68,0, - 0,0,-52,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-75,0,-154,0,0,0,0,0, - 0,0,0,0,0,0,0,-76,0,0, - 0,0,-47,0,-147,-220,0,0,0,0, - 0,0,0,0,0,0,0,-168,0,-144, - 0,0,0,0,0,0,0,-69,0,0, - -71,0,0,0,0,-55,0,-82,0,0, - 0,0,0,0,0,0,0,0,0,0, - -225,0,0,-189,0,0,0,0,0,0, - -95,0,0,0,0,0,0,0,-96,0, - 0,-92,-219,0,0,0,0,0,0,0, - 0,0,0,-94,0,0,-315,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -108,0,0,0,0,0,-240,0,0,0, - 0,0,-257,0,0,0,0,0,0,-104, - 0,-97,0,0,0,0,0,0,0,-118, - 0,0,-163,0,0,0,0,-53,0,0, - -187,0,0,0,0,0,0,0,0,0, - 0,0,-218,0,0,-109,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -221,0,-90,0,0,0,0,-93,-159,0, - 0,0,0,0,0,-227,0,-99,0,0, - 0,0,0,0,0,-239,0,0,0,-155, - 0,0,0,-190,0,0,0,0,0,0, - -101,-100,0,0,0,0,0,0,-228,0, - -103,0,0,0,0,0,0,0,-300,0, - 0,-253,0,0,0,0,-158,0,0,-197, - 0,0,0,0,0,0,0,0,0,0, - 0,-229,0,0,0,0,0,0,0,0, - 0,-105,0,0,-298,-148,0,0,0,-167, - 0,0,-149,-245,0,0,0,0,0,0, - 0,0,0,0,-230,0,-157,0,0,0, - 0,0,0,0,-191,0,0,-161,-164,0, - 0,0,-272,0,0,-224,0,0,0,0, - 0,0,0,0,0,0,0,-231,0,-165, - -192,0,0,0,0,0,0,-166,0,0, - 0,-176,0,0,0,-169,0,0,0,-120, - 0,0,0,0,0,0,0,0,0,0, - -232,0,-180,0,0,0,0,0,0,0, - -193,0,0,-183,-184,0,0,0,-54,0, - 0,-185,0,0,0,0,0,0,0,0, - 0,0,0,-233,0,-198,-194,0,0,0, - 0,0,0,-199,0,0,0,-200,0,0, - 0,-56,0,-81,0,0,0,0,0,0, - 0,0,0,0,0,0,-234,0,-201,-195, - 0,0,0,0,0,0,-202,0,0,0, - -203,0,0,0,-204,0,0,-271,-317,-73, - 0,-170,-196,0,0,0,0,0,0,-235, - 0,0,0,0,0,0,0,0,0,-205, - 0,0,-206,0,0,0,0,-226,0,-171, - -207,0,0,0,0,-208,0,0,0,0, - 0,0,-236,0,0,-216,0,0,0,0, - 0,0,-217,0,0,-209,-222,0,0,0, - -210,0,0,0,0,0,0,-172,0,0, - 0,0,0,0,0,-237,0,0,0,0, - 0,0,0,0,0,-211,0,0,0,-212, - 0,0,0,-111,0,0,-213,0,0,0, - 0,0,0,0,0,0,0,0,-252,0, - -248,-247,0,0,0,0,0,0,-249,0, - 0,0,-258,0,0,0,-121,0,0,-275, - 0,0,0,0,0,0,0,0,0,0, - 0,-265,0,-259,-250,0,0,0,0,0, - 0,-255,0,0,0,-260,0,0,0,-122, + 1,2,2,2,3,4,5,1,7,3, + 0,0,1,1,3,3,4,1,1,2, + 3,2,3,2,1,0,1,2,1,1, + 1,1,1,2,4,3,6,2,4,1, + 1,1,2,4,2,4,2,4,1,1, + 2,1,1,1,3,3,2,1,3,2, + 3,2,3,2,2,11,10,10,9,10, + 9,9,8,10,9,9,8,9,8,8, + 7,10,9,9,8,9,8,8,7,1, + 1,-107,-6,-294,0,0,0,0,0,0, + 0,-8,0,-2,0,-126,0,0,-19,0, + 0,0,0,0,0,-77,0,0,0,0, + 0,0,0,0,-20,0,0,0,0,0, + -30,-4,0,0,0,0,0,-82,0,0, + 0,0,0,0,0,0,0,-3,0,0, + 0,0,0,0,-22,0,-55,0,-299,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -102,0,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,0,-17,0,0, + 0,0,0,-135,-33,-74,-26,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-36,0,-11,0, + 0,0,0,0,0,0,0,-279,0,-221, + 0,0,0,0,0,0,0,-32,0,0, + 0,0,0,0,-141,0,0,0,-98,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-291,0,-242,0,0,0, + 0,0,0,0,0,0,0,0,-29,0, + 0,-106,0,0,0,0,0,-25,0,0, + 0,0,0,0,0,0,0,-156,0,0, + -88,0,0,0,-27,0,-83,0,-40,0, + 0,0,-315,0,0,-41,0,0,0,0, + 0,0,-39,0,0,0,0,0,0,-28, + 0,0,0,0,0,0,0,-43,0,0, + 0,0,0,0,0,-12,0,0,0,0, + -31,0,0,0,0,0,0,0,0,-80, + 0,-14,0,0,0,0,0,0,0,-59, + 0,-34,0,0,0,0,-42,-78,0,0, + -89,0,0,0,0,0,0,0,0,0, + 0,0,-60,0,0,0,0,-87,0,0, + 0,-84,-35,-143,0,0,0,0,0,0, + 0,-38,0,-151,0,-61,0,0,0,0, + 0,-258,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-79,0,0,0, + 0,0,-181,0,0,0,0,-62,0,0, + 0,0,-63,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -64,0,0,0,-152,-142,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-339,-92,0,0,0,0,0,0, + 0,0,-93,0,0,0,-65,0,0,0, + 0,0,0,-183,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-5,0,0, + 0,0,0,0,0,0,0,0,0,-23, + -37,0,-66,0,0,0,0,0,0,-94, + 0,-85,0,-338,0,0,-45,-70,0,0, 0,0,-261,0,0,0,0,0,0,0, - 0,0,0,0,-269,-244,-262,0,0,0, - 0,0,0,0,-266,0,0,-268,-297,0, - 0,0,-312,0,-290,0,-283,0,0,0, - -267,0,0,0,0,0,0,-270,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-123,0,0,-293,0, - 0,0,0,0,0,0,0,0,0,0, - -292,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-246,0, - 0,0,-140,0,0,0,0,0,0,0, - 0,0,0,-299,-264,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-278,0,0,-280,0,0,0,-282,-289, - 0,0,0,0,0,0,-318,0,0,0, - 0,0,0,0,0,0,0,0,0,-294, - -313,0,0,0,0,0,-44,0,0,0, - 0,0,-274,0,0,0,0,0,0,0, - 0,0,0,-302,0,0,0,0,0,0, - 0,0,0,0,-91,0,0,0,0,0, - -305,0,0,0,-86,0,0,0,0,-308, - -78,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -145,0,-179,0,0,0,-310,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -295,-316,0,0,-311,0,0,0,-251,0, - 0,0,-48,-314,0,0,0,0,0,0, - 0,0,0,0,-138,0,0,0,0,0, - 0,0,0,0,0,0,-320,-325,0,0, - 0,0,-323,0,0,0,0,0,0,0, - -332,0,-160,0,-328,0,0,-263,0,-336, - 0,0,0,0,0,0,0,0,0,0, - -337,0,0,0,0,-330,0,0,-18,0, - -334,0,0,0,0,0,0,0,0,0, - -256,0,0,0,0,-238,0,-340,0,0, - 0,0,0,0,-354,0,0,0,0,0, - 0,-342,-346,0,0,0,0,-156,0,0, - 0,0,0,0,0,0,0,0,-348,-351, - -356,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-16,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-139,0,0,-360,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-21,0,-364,0, - 0,0,0,-301,0,-367,0,0,0,0, - 0,0,0,0,-369,0,-377,0,-188,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-10,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-136, - -153,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-137,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-181,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-284,0,0,0,-49,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-286,0,0,0,-50,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -287,0,0,0,-57,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-319,0, - 0,0,-58,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-324,0,0,0, - 0,-242,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-335,0,0,0,0,-243, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-338,0,0,0,0,-277,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -339,0,0,0,0,-279,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-341,0, - 0,0,0,-281,0,0,0,0,0,0, + 0,0,0,-72,0,-154,0,0,0,0, + 0,0,0,0,0,-101,0,0,0,-67, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-169,0, + -144,0,0,0,0,0,0,0,-68,0, + -108,0,-69,0,0,-75,0,-1,0,0, + 0,0,0,-95,0,0,0,0,0,0, + 0,-227,0,0,-189,0,0,0,0,0, + 0,-109,0,-117,0,0,0,0,-76,0, + 0,0,-174,0,0,0,0,0,0,0, + 0,0,0,0,-146,0,0,0,-104,0, + 0,-147,0,0,0,0,0,0,-168,0, + 0,0,-51,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-220,0,-159,0,0,0,0,0,0, + 0,-222,0,0,0,-96,0,0,-170,-118, + 0,0,0,-97,0,0,-191,0,0,0, + 0,0,0,0,-229,0,0,-99,0,0, + 0,0,0,0,0,0,-298,0,-127,0, + 0,-192,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-230,0,-163, + 0,0,0,0,0,0,0,0,0,-155, + 0,-158,0,0,0,0,0,0,0,0, + 0,-244,0,0,0,0,0,0,0,0, + -231,0,0,-100,0,0,0,0,0,0, + -216,0,0,0,-103,0,0,-47,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-232,0,-257,0,0,0,0, + 0,0,0,-171,0,0,0,-276,0,0, + 0,0,0,0,0,0,0,-317,-193,0, + 0,0,0,0,0,0,-233,0,0,0, + 0,0,0,0,0,0,-172,0,0,0, + -105,0,0,-48,-199,-148,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-234, + 0,-149,-218,0,0,0,0,0,0,-173, + 0,0,0,-52,0,0,-219,0,0,0, + 0,0,0,0,-194,0,0,0,0,0, + 0,0,-235,0,0,-243,0,0,0,0, + 0,0,0,0,-157,0,-53,0,0,-271, + 0,0,0,0,0,0,0,-195,0,0, + 0,0,0,0,0,-236,0,0,-161,0, + 0,0,0,0,0,0,0,-164,0,-54, + 0,0,-312,0,0,0,0,0,0,0, + -196,0,0,0,0,0,0,0,-237,0, + 0,-319,0,0,0,0,0,0,-247,0, + 0,0,-56,0,0,-165,0,0,0,0, + 0,0,-166,-197,0,0,0,0,0,0, + 0,-238,0,0,-314,0,0,0,0,0, + 0,-249,0,0,0,-111,0,0,-337,0, + 0,0,0,0,0,0,-198,0,0,0, + 0,0,0,0,-239,0,0,-167,0,0, + 0,0,0,0,0,0,-226,0,-121,0, + 0,-177,0,0,0,0,0,0,0,-241, + 0,0,0,0,0,0,0,-256,0,-162, + 0,0,0,0,0,0,0,-224,0,-275, + 0,-250,0,0,-182,0,0,0,0,-71, + 0,0,-185,0,0,0,0,0,0,0, + -269,0,0,-186,0,0,0,0,0,0, + -252,0,-187,0,-253,0,0,0,0,0, + 0,-268,0,0,0,-259,0,0,0,0, + 0,0,0,-273,0,0,-200,0,0,0, + 0,0,0,-281,0,0,0,-122,0,0, + -201,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-274,0,0,0, + 0,0,0,0,0,0,-283,0,0,0, + -292,0,0,-285,-296,0,-202,-203,-73,0, + 0,-310,0,0,0,0,0,0,0,-295, + 0,0,-204,0,0,0,0,0,0,-301, + 0,0,0,-205,0,0,-304,-307,0,0, + -309,0,0,0,-313,0,0,0,0,0, + 0,0,-318,0,0,-206,0,0,0,0, + 0,0,-207,0,-297,0,-123,0,0,-7, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-342,-340,0,0,0, + 0,0,0,0,0,-324,0,0,0,-208, + 0,0,-209,0,0,0,0,0,-210,0, + -321,0,0,0,0,0,0,0,-225,-341, + 0,0,0,0,0,0,-44,0,0,0, + -326,0,-223,-153,0,0,-211,0,0,-329, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-212,0,0,0,0,-120,0,0, + 0,-86,0,0,0,-333,0,0,0,0, + 0,0,-331,0,0,0,0,-345,0,0, + 0,0,0,0,0,0,0,0,-90,0, + 0,0,-213,0,0,-180,0,0,0,0, + 0,0,0,0,0,-362,-335,0,0,-214, + -215,0,0,0,0,0,0,0,0,0, + 0,0,0,-359,-347,0,-46,0,0,0, + -254,0,0,0,0,0,-119,0,-251,0, + 0,-262,0,0,0,0,-150,0,0,0, + 0,0,0,0,0,0,-263,-264,0,0, + -160,0,-265,0,-91,0,0,0,-267,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-49,0,0,0,0,0,0,0, + 0,0,-266,-270,0,0,0,0,0,0, + 0,0,0,0,0,-272,0,0,0,0, + -351,0,-112,0,-311,0,0,-240,0,-316, + 0,0,0,0,0,-139,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-16, + 0,0,0,0,0,0,0,0,0,-9, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-21,0,0,0,0,0,0,0, + -353,0,0,0,0,-245,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-18,0,0,0,0,0,0,-246,0, + 0,0,0,0,0,0,0,-356,0,0, + 0,0,0,-138,0,-136,0,0,0,0, + 0,0,0,0,0,-361,0,0,0,0, + 0,0,0,0,0,0,-366,0,0,0, + 0,0,0,0,0,-370,0,0,-228,0, + 0,0,0,-373,0,0,-10,-176,0,0, + 0,-137,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-255,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,-287,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -289,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-290,0,0,0, + -15,-375,-383,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-320,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-325,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-336,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -343,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,-344,0,0,0, - 0,-303,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-345,0,0,0,0,-306, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-347,0,0,0,0,-307,0,0, + 0,0,-346,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-349,0, 0,0,0,0,0,0,0,0,0,0, - -350,0,0,0,0,-309,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-355,0, - 0,0,0,-331,0,0,0,0,0,0, + 0,0,0,0,-350,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-357,0,0,0, - 0,-333,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-358,0,0,0,0,-175, + -352,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-355,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-359,0,0,0,0,-177,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-360,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -361,0,0,0,0,-178,0,0,0,0, + 0,0,0,0,0,0,0,0,-363,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-362,0, - 0,0,0,-285,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-363,0,0,0, + 0,0,0,0,-364,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-365,0,0,0,0,0, + -365,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-367,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-366,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-368,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -368,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-369,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-371,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-371,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-372,0,0,0, 0,0,0,0,0,0,0,0,0,0, + -372,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-373,0,0,0,0,0, + 0,0,0,0,0,0,-374,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-374,0,0,0,0,0,0,0, + 0,0,-377,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-378,0, 0,0,0,0,0,0,0,0,0,0, - -375,0,0,0,0,0,0,-77,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-376,0, - 0,0,0,0,0,-151,0,0,0,0, + 0,0,0,0,-379,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-378,0,0,0, - 0,0,0,0,-182,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-134,0,0,0,0,0, + -380,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-291,0, - 0,0,0,0,0,0,0,-135,0,0, + 0,0,0,0,0,0,-381,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -7,-128,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-382,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-125, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-126,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-129,0,0,0,0,0,0, - 0,0,0,0,0,0,-130,0,0,0, - 0,0,0,0,0,0,0,0,0,-131, - 0,0,0,0,0,0,0,0,0,-13, - 0,0,-132,-15,0,0,0,0,0,0, - 0,0,0,0,0,-133,0,0,0,0, - 0,0,0,0,0,-85,0,0,0,0, + 0,0,0,0,0,0,0,0,-384,0, + 0,0,0,0,0,0,-184,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-46,0,0,0,0, + 0,0,0,0,-134,-217,0,0,0,0, + 0,0,0,0,0,0,-278,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,0,0,0,0,0,0, - 0,0,0,0,0,-127,0,0,0,0, - 0,0,0,0,0,0,0,0,-112,0, - 0,0,-113,0,0,0,-114,0,0,0, - 0,0,0,0,0,0,0,0,-304,0, - 0,0,-115,0,0,0,-116,0,0,0, - 0,0,0,0,0,0,0,-273,0,0, - 0,0,0,0,0,0,0,0,0,-174, - 0,0,0,-223,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-186,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-50,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-321,0,0,0,0,0,0,0,-322, - 0,0,0,0,0,0,0,-326,0,0, - 0,0,0,0,0,-327,0,0,0,0, - 0,0,0,0,0,0,0,-329,0,0, - 0,0,0,0,0,0,0,0,0,-343, - 0,0,0,0,0,0,0,-349,0,0, - 0,0,0,0,0,-352,0,0,0,0, - 0,0,0,-353,0,0,0,0,0,0, - 0,0,0,0,0,-370,0,0,0,0, + 0,-128,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-280,0, + 0,0,-129,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-130,0,0,0, + 0,0,0,0,0,0,0,0,-131,0, + 0,0,0,0,0,0,0,0,0,0, + -132,0,0,0,0,0,0,0,0,0, + 0,0,-133,0,0,0,0,0,0,0, + 0,0,0,0,-124,0,0,0,0,0, + 0,0,0,0,-125,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-190,0, + 0,0,-110,0,0,0,-140,0,0,-114, + 0,0,0,-115,0,0,0,0,0,0, + 0,0,0,0,-188,0,0,0,0,0, + 0,0,0,0,-116,0,0,0,0,0, + -260,0,0,-145,0,0,0,0,0,0, + 0,0,0,0,0,0,-277,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-81,0,0,0,0,0,0,0, + 0,-175,0,0,0,-293,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-57,0,0,0,0,0,0, + 0,0,0,0,0,-58,0,0,0,0, + 0,0,0,0,-300,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-303,0,0, + 0,0,0,0,0,0,0,0,0,-322, + 0,0,0,0,-323,0,0,0,0,0, + 0,0,0,0,0,0,-327,0,0,0, + 0,0,-328,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,-348, + 0,0,0,0,-354,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-357, + 0,0,0,0,-358,0,0,0,0,0, + 0,0,0,0,0,0,-376,0,0,0, + 0,-248,0,0,0,0,0,0,0,0, + 0,-282,0,0,0,0,-284,0,0,0, + 0,-286,0,0,0,0,0,0,0,0, + 0,-302,0,0,0,0,-305,0,0,0, + 0,-306,0,0,0,0,-308,0,0,0, + 0,-332,0,0,0,0,-334,0,0,0, + 0,-178,0,0,0,0,0,0,-179,0, + 0,0,0,-288,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0 + 0,0,0 }; }; public final static short baseCheck[] = BaseCheck.baseCheck; @@ -380,344 +383,348 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface BaseAction { public final static char baseAction[] = { - 106,1,39,39,10,10,43,43,2,2, + 107,1,39,39,10,10,40,40,2,2, 4,4,4,4,5,5,5,6,6,7, - 7,7,7,7,7,7,7,72,72,92, - 92,8,8,8,8,8,8,8,8,8, - 8,8,9,9,11,11,11,11,12,12, - 12,15,15,15,16,16,16,16,16,17, - 17,17,19,19,28,28,29,29,30,30, + 7,7,7,7,7,7,7,73,73,93, + 93,8,8,8,8,8,8,8,8,8, + 8,8,9,9,11,11,11,11,13,13, + 13,15,15,15,16,16,16,16,16,26, + 26,26,27,27,28,28,29,29,30,30, 31,31,32,32,34,34,34,34,34,34, - 34,34,34,34,34,34,20,14,3,107, - 107,94,94,57,21,21,21,21,21,21, - 21,22,22,22,18,18,95,95,73,73, - 23,23,24,24,24,65,65,25,25,25, - 25,26,26,26,26,26,50,50,33,33, - 33,33,33,52,52,52,87,87,82,82, - 82,82,83,83,83,84,84,84,85,85, - 85,86,86,86,96,96,88,88,89,53, + 34,34,34,34,34,34,18,14,3,108, + 108,95,95,57,19,19,19,19,19,19, + 19,20,20,20,17,17,96,96,74,74, + 21,21,22,22,22,65,65,23,23,23, + 23,24,24,24,24,24,50,50,33,33, + 33,33,33,52,52,52,88,88,83,83, + 83,83,84,84,84,85,85,85,86,86, + 86,87,87,87,97,97,89,89,90,53, 55,55,55,55,55,66,68,68,68,68, - 68,68,68,68,68,68,68,68,77,77, - 13,13,74,74,74,74,75,75,75,78, - 78,79,79,69,69,69,45,108,108,97, - 98,98,98,76,76,99,99,100,100,90, - 90,35,36,36,36,54,56,56,46,46, - 46,46,40,40,41,47,47,48,42,42, - 101,101,49,110,110,109,109,51,51,51, - 51,51,51,51,51,51,102,58,58,58, - 58,80,80,70,70,70,71,71,60,60, - 111,111,59,59,81,81,81,61,61,61, + 68,68,68,68,68,68,68,68,78,78, + 12,12,75,75,75,75,76,76,76,79, + 79,80,80,69,69,69,45,109,109,98, + 99,99,99,77,77,100,100,101,101,91, + 91,35,36,36,36,54,56,56,46,46, + 46,46,41,41,42,47,47,48,43,43, + 102,102,49,111,111,110,110,51,51,51, + 51,51,51,51,51,51,103,58,58,58, + 58,81,81,70,70,70,71,71,60,60, + 112,112,59,59,82,82,82,61,61,61, 62,63,63,63,64,64,64,64,67,67, - 93,93,93,93,91,112,113,113,114,114, - 115,115,106,106,116,116,103,103,103,103, - 117,117,104,104,104,105,105,4,4,4, - 8,8,8,8,8,8,35,35,37,37, - 38,38,118,118,118,21,27,27,27,27, - 27,27,27,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,25,25,25, - 25,25,25,25,25,25,25,44,44,359, - 399,561,1814,14,19,15,481,1117,44,363, - 488,565,2117,1597,521,724,712,2270,759,1822, - 1887,126,1977,561,1950,2053,127,741,789,777, - 858,74,2129,91,134,211,316,317,2039,1840, - 710,222,227,2271,1815,1096,216,774,219,221, - 2435,136,133,135,159,305,158,355,861,2265, - 452,1963,710,222,227,138,384,165,216,774, - 219,221,2442,142,145,148,151,2055,1455,398, - 1819,2921,661,1926,3030,3034,1848,223,155,421, - 2598,651,1967,1194,134,211,316,317,2771,377, - 222,230,14,19,15,481,42,44,304,488, - 1216,136,133,135,159,1822,848,331,87,197, - 199,1825,207,595,2253,138,332,165,1966,1100, - 1545,835,1103,142,145,148,151,1459,1059,286, - 301,2921,661,1926,3030,3034,1848,2646,385,303, - 542,14,19,15,481,1117,44,318,488,565, - 404,1885,521,724,712,2771,759,388,2269,14, - 19,15,481,42,39,741,789,777,858,74, - 403,278,1955,1822,848,329,87,2646,385,355, - 1270,14,19,15,481,1117,44,1166,488,565, - 2114,1967,521,724,712,1980,759,430,848,110, - 86,183,2117,1673,280,741,789,777,858,74, - 1092,278,377,222,231,95,392,1041,1162,94, - 96,97,98,99,325,1822,2855,126,281,410, - 1400,2457,385,1841,971,14,19,15,481,1117, - 44,271,488,565,280,104,521,724,712,1641, - 759,266,1034,884,269,1967,1806,419,298,741, - 789,777,858,74,2269,278,355,392,281,2269, - 1591,2354,1818,2303,2798,14,19,15,481,1117, - 44,2336,488,565,271,1815,521,724,712,379, - 759,1982,355,868,264,1034,884,269,282,741, - 789,777,858,74,2196,1030,297,182,2185,848, - 237,89,185,3056,263,2926,134,211,316,317, - 2111,1234,283,1822,382,194,134,211,316,317, - 229,2111,1941,136,133,135,159,1877,419,298, - 2060,229,2112,144,133,135,159,138,2129,165, - 252,211,316,317,1813,142,145,148,151,294, - 296,1096,362,2921,661,1926,3030,3034,1848,2522, - 379,2513,707,14,19,15,481,42,44,2183, - 488,565,355,1533,521,724,712,297,759,2122, - 302,225,1822,359,2180,87,23,741,789,777, - 858,93,355,1671,2445,2572,1446,2094,324,14, - 19,15,481,1117,44,1273,488,565,322,1970, - 521,724,712,2771,759,595,749,14,19,15, - 481,42,38,741,789,777,858,74,207,278, - 295,296,2152,355,718,2821,3174,836,1103,14, - 19,15,481,1117,44,226,488,565,2914,2826, - 521,724,712,2671,759,68,68,14,19,15, - 481,314,157,741,789,777,858,74,2771,1136, - 2164,651,14,19,15,481,1117,44,2110,488, - 565,1948,651,521,724,712,2547,759,355,651, - 14,19,15,481,42,35,741,789,777,858, - 74,2407,91,196,2553,14,19,15,481,1117, - 44,2447,488,565,196,693,521,724,712,2450, - 759,595,2253,2191,123,323,693,1323,1471,741, - 789,777,858,74,2191,1268,1096,2572,300,192, - 238,14,19,15,481,1117,44,1338,488,565, - 191,2055,521,724,712,272,759,2775,651,528, - 850,3189,1194,2111,1465,741,789,777,858,74, - 2771,278,2451,275,14,19,15,481,42,44, - 2196,488,565,355,507,521,724,712,2771,759, - 1753,1967,14,19,15,481,42,37,741,789, - 777,858,93,2771,284,450,2055,14,19,15, - 481,42,44,208,488,565,16,257,521,724, - 712,2932,759,1822,848,327,87,1183,2253,2055, - 122,741,789,777,858,93,2771,1272,2482,228, - 14,19,15,481,1117,44,1967,488,565,560, - 2183,521,724,712,2274,759,252,211,316,317, - 210,2253,2519,111,741,789,777,858,74,2771, - 85,2446,22,14,19,15,481,1117,44,2800, - 488,565,355,547,521,724,712,2547,759,239, - 2183,14,19,15,481,42,35,741,789,777, - 858,74,2771,84,1603,273,14,19,15,481, - 1117,44,2576,488,565,2191,2602,521,724,712, - 2253,759,330,212,2109,848,244,87,289,20, - 741,789,777,858,74,2771,83,1812,115,14, - 19,15,481,1117,44,2055,488,565,1834,1965, - 521,724,712,2547,759,1393,2183,14,19,15, - 481,42,35,741,789,777,858,74,2771,82, - 2599,2055,14,19,15,481,1117,44,73,488, - 565,1414,1845,521,724,712,2253,759,328,1569, - 355,848,245,87,287,241,741,789,777,858, - 74,2771,81,2601,1070,14,19,15,481,1117, - 44,2055,488,565,2015,2846,521,724,712,2771, - 759,1426,2858,14,19,15,481,42,36,741, - 789,777,858,74,2771,80,2195,2055,14,19, - 15,481,1117,44,2256,488,565,1433,1968,521, - 724,712,2771,759,2159,651,14,19,15,481, - 42,34,741,789,777,858,74,2771,79,1976, - 2055,14,19,15,481,1117,44,1900,488,565, - 1447,1958,521,724,712,2360,759,1753,2183,2191, - 2020,651,2253,2055,326,741,789,777,858,74, - 2771,78,291,21,14,19,15,481,1117,44, - 2434,488,565,2438,256,521,724,712,2938,759, - 2253,2440,125,196,1009,1128,2344,240,741,789, - 777,858,74,2771,77,693,2269,14,19,15, - 481,1117,44,2269,488,565,2166,2052,521,724, - 712,2609,759,252,211,316,317,232,2253,191, - 121,741,789,777,858,74,2771,76,634,850, - 14,19,15,481,1117,44,2612,488,565,184, - 2802,521,724,712,2771,759,203,2777,14,19, - 15,481,42,35,741,789,777,858,74,2771, - 75,2606,2055,14,19,15,481,1117,44,2055, - 488,565,2035,2607,521,724,712,2771,759,2063, - 2852,14,19,15,481,42,47,741,789,777, - 858,74,2771,92,2610,2055,14,19,15,481, - 42,44,2055,488,565,2091,2611,521,724,712, - 2771,759,270,2864,14,19,15,481,42,46, - 741,789,777,858,93,2771,2253,2866,2264,14, - 19,15,481,1117,44,2855,488,565,396,2750, - 521,724,712,2856,759,2159,651,2109,848,201, - 87,2269,1701,741,789,777,858,74,2771,1499, - 3380,115,14,19,15,481,1117,44,3380,488, - 565,3380,3380,521,724,712,2771,759,1753,2183, - 14,19,15,481,42,45,741,789,777,858, - 74,2771,1590,3380,204,14,19,15,481,42, - 44,3380,488,565,3380,256,521,724,712,2253, - 759,1467,1677,2092,651,1714,1128,3380,242,741, - 789,777,858,93,2771,2849,3380,193,14,19, - 15,481,42,44,3380,488,565,3380,3380,521, - 724,712,2253,759,2292,2253,196,2320,202,2253, - 2055,2376,741,789,777,858,93,2771,693,3380, - 276,14,19,15,481,42,44,3380,488,565, - 2183,2852,521,724,712,3380,759,217,359,110, - 86,1702,191,1837,3380,741,789,777,858,93, - 1092,639,850,3380,2253,95,3222,1041,108,94, - 96,97,98,99,325,1822,848,124,87,243, - 595,2253,3380,3238,1771,1,359,110,86,1300, - 2253,1955,2404,710,222,227,3380,109,1092,217, - 774,219,221,95,271,1041,108,94,96,97, - 98,99,325,1760,266,1034,884,269,595,3380, - 106,2236,651,288,359,110,86,2253,306,2432, - 3380,710,222,227,3380,109,1092,217,774,219, - 221,95,1635,1041,108,94,96,97,98,99, - 325,2269,2183,3380,196,2055,595,3380,107,145, - 359,110,86,2696,2055,1781,693,14,19,15, - 481,312,1092,109,277,355,848,95,87,1041, - 108,94,96,97,98,99,325,2055,2055,1360, - 191,288,595,2253,279,3270,106,2203,2287,1316, - 850,2055,105,1828,1026,2253,3380,3278,2771,109, - 2269,2399,14,19,15,481,42,44,1709,488, - 565,2183,3380,521,724,712,2253,759,3286,399, - 561,2253,107,117,3380,3380,741,789,777,858, - 73,2439,651,710,222,227,1816,3158,2055,216, - 774,219,221,26,271,2253,274,3306,2427,260, - 290,3380,2055,2055,264,1034,884,269,2920,710, - 222,227,2455,2511,1753,216,774,219,221,2055, - 2055,2055,3380,3380,261,437,710,222,227,2539, - 2595,2679,216,774,219,221,3380,271,2336,560, - 3380,256,437,251,211,316,317,264,1034,884, - 269,1570,1128,2771,258,3380,2055,14,19,15, - 481,42,44,3380,488,565,2707,1422,521,724, - 712,3380,759,134,211,316,317,399,625,2055, - 3380,741,789,1367,2857,848,2055,87,1298,2735, - 137,133,135,159,2119,2055,2763,2055,357,1886, - 1791,3380,3380,3380,139,2791,165,2847,3380,274, - 881,3380,143,146,149,152,2054,710,222,432, - 3380,3380,3380,216,774,219,440,3380,1737,3380, - 2771,2259,651,158,14,19,15,481,42,44, - 3380,488,565,3380,3380,521,724,712,3380,759, - 271,134,211,316,317,3380,3380,3380,741,1331, - 264,1034,884,269,1753,154,421,3380,147,133, - 135,159,3380,384,3380,3380,3380,2771,655,3380, - 1422,14,19,15,481,42,44,662,488,565, - 3380,256,521,724,712,3380,759,473,848,110, - 86,1009,1128,3380,3380,1356,3380,3380,3380,3380, - 1092,3380,3380,3380,3380,95,3380,1041,101,94, - 96,97,98,99,325,516,848,110,86,2721, - 3380,3380,3380,14,19,15,481,310,1092,3380, - 1327,3380,3380,95,3380,1041,118,94,96,97, - 98,99,325,559,848,110,86,2746,3380,3380, - 3380,14,19,15,481,40,1092,3380,3380,3380, - 3380,95,3380,1041,114,94,96,97,98,99, - 325,602,848,110,86,2796,3380,3380,3380,14, - 19,15,481,33,1092,3380,3380,3380,3380,95, - 3380,1041,1463,94,96,97,98,99,325,645, - 848,110,86,2796,3380,3380,3380,14,19,15, - 481,32,1092,3380,3380,3380,3380,95,3380,1041, - 356,94,96,97,98,99,325,688,848,110, - 86,3380,1822,848,2208,87,3380,3380,3380,3380, - 1092,3380,3380,3380,3380,95,1562,1041,348,94, - 96,97,98,99,325,731,848,110,86,3380, - 1822,848,2236,87,3380,3380,3380,3380,1092,3380, - 3380,3380,3380,95,1565,1041,113,94,96,97, - 98,99,325,774,848,110,86,3380,1822,848, - 1894,87,3380,3380,3380,3380,1092,3380,3380,3380, - 3380,95,1614,1041,355,94,96,97,98,99, - 325,817,848,110,86,3380,1822,848,3139,87, - 3380,3380,3380,3380,1092,3380,3380,3380,3380,95, - 1631,1041,354,94,96,97,98,99,325,860, - 848,110,86,3380,1822,848,2348,87,3380,3380, - 3380,3380,1092,3380,3380,3380,3380,95,1640,1041, - 352,94,96,97,98,99,325,903,848,110, - 86,3380,1822,848,3230,87,3380,3380,3380,3380, - 1092,3380,3380,3380,3380,95,1743,1041,347,94, - 96,97,98,99,325,946,848,110,86,3380, - 1822,848,3246,87,3380,3380,3380,3380,1092,3380, - 3380,3380,3380,95,1755,1041,346,94,96,97, - 98,99,325,989,848,110,86,3380,1822,848, - 3258,87,3380,3380,3380,3380,1092,3380,3380,3380, - 3380,95,1776,1041,344,94,96,97,98,99, - 325,1032,848,110,86,3380,2109,848,3380,87, - 3380,3380,3380,3380,1092,3380,3380,3380,3380,95, - 115,1041,340,94,96,97,98,99,325,1075, - 848,110,86,3380,1822,848,3294,87,3380,3380, - 3380,3380,1092,3380,3380,3380,3380,95,1805,1041, - 120,94,96,97,98,99,325,1118,848,110, - 86,3380,2109,848,3380,87,3380,3380,3380,3380, - 1092,1751,3380,3380,3380,95,115,1041,353,94, - 96,97,98,99,325,1161,848,110,86,3380, - 355,848,3380,87,3380,3380,3380,3380,1092,3380, - 3380,3380,3380,95,1382,1041,351,94,96,97, - 98,99,325,1204,848,110,86,3380,355,848, - 3380,87,3380,3380,3380,3380,1092,1831,3380,3380, - 3380,95,1389,1041,350,94,96,97,98,99, - 325,1247,848,110,86,3380,355,848,3380,87, - 3380,3380,3380,3380,1092,3380,3380,3380,3380,95, - 1415,1041,345,94,96,97,98,99,325,1290, - 848,110,86,3380,355,848,3380,87,3380,3380, - 3380,3380,1092,3380,3380,3380,3380,95,1705,1041, - 343,94,96,97,98,99,325,1333,848,110, - 86,3380,3380,3380,3380,3380,3380,3380,3380,3380, - 1092,3380,3380,3380,3380,95,3380,1041,342,94, - 96,97,98,99,325,1376,848,110,86,3380, - 3380,3380,3380,3380,3380,3380,3380,3380,1092,3380, - 3380,3380,3380,95,3380,1041,339,94,96,97, - 98,99,325,1419,848,110,86,3380,3380,3380, - 3380,3380,3380,3380,3380,3380,1092,3380,3380,3380, - 3380,95,3380,1041,338,94,96,97,98,99, - 325,1462,848,110,86,3380,3380,3380,3380,3380, - 3380,3380,3380,3380,1092,3380,3380,3380,3380,95, - 3380,1041,336,94,96,97,98,99,325,1505, - 848,110,86,3380,3380,3380,3380,3380,3380,3380, - 3380,3380,1092,3380,3380,3380,3380,95,3380,1041, - 119,94,96,97,98,99,325,1548,848,110, - 86,3380,3380,3380,3380,3380,3380,3380,3380,3380, - 1092,3380,3380,3380,3380,95,3380,1041,349,94, - 96,97,98,99,325,1591,848,110,86,3380, - 3380,3380,3380,3380,3380,3380,3380,3380,1092,3380, - 3380,3380,3380,95,3380,1041,341,94,96,97, - 98,99,325,1634,848,110,86,3380,3380,3380, - 3380,3380,3380,3380,3380,3380,1092,3380,3380,3380, - 3380,95,3380,1041,337,94,96,97,98,99, - 325,1677,848,110,86,3380,3380,3380,2920,3380, - 3380,3380,3380,3380,1092,3380,3380,3380,3380,95, - 3380,1041,335,94,96,97,98,99,325,1720, - 848,110,86,3380,3380,3380,2920,3380,3380,3380, - 3380,3380,1092,251,211,316,317,95,3380,1041, - 334,94,96,97,98,99,325,1763,848,110, - 86,3380,3380,3380,3380,399,561,3380,3380,3380, - 1092,251,211,316,317,95,3380,1041,333,94, - 96,97,98,99,325,2771,3380,3380,685,14, - 19,15,481,42,44,3380,488,565,3380,3380, - 521,724,712,3380,1306,710,222,227,3380,1977, - 561,216,774,219,221,3380,1001,3380,2771,3380, - 3380,158,14,19,15,481,42,44,3380,488, - 565,2443,2771,521,724,1326,14,19,15,481, - 42,44,3380,488,565,3380,3380,521,1257,710, - 222,227,3380,154,421,216,774,219,221,3380, - 3380,384,3380,3380,3380,1455,134,211,316,317, - 2771,3380,3380,3380,14,19,15,481,42,44, - 3380,488,1224,141,133,135,159,2771,3380,3380, - 3380,14,19,15,481,42,44,140,1228,165, - 3380,3380,3380,3380,2771,3380,198,199,14,19, - 15,481,42,44,3380,488,565,2771,3380,521, - 1261,14,19,15,481,42,44,3380,488,565, - 2771,3380,1265,3380,14,19,15,481,42,44, - 2126,488,565,2771,2198,1290,3380,14,19,15, - 481,42,44,3380,488,565,2771,3380,1293,3380, - 14,19,15,481,42,44,1955,488,565,3380, - 3380,1301,3380,3380,3380,134,211,316,317,134, - 211,316,317,3380,3380,3380,355,359,3380,87, - 3380,3380,150,133,135,159,153,133,135,159, - 986,3380,3380,3380,3380,3380,710,222,1150,3380, - 3380,3380,217,774,219,1129,2771,3380,3380,196, - 14,19,15,481,42,44,3380,1249,3380,355, - 359,603,87,355,359,3380,87,355,359,3380, - 87,3380,3380,986,3380,931,3380,986,3380,2857, - 848,986,87,355,359,3380,87,355,359,2147, - 87,3380,196,357,3380,3380,196,986,2439,651, - 196,986,3380,3380,603,3380,3380,3380,603,3380, - 2109,359,603,87,2920,3380,196,3380,1125,3380, - 196,3380,1151,1738,115,3380,1191,3380,603,2621, - 3380,1753,603,14,19,15,481,42,43,3380, - 3380,3380,1217,595,3380,3380,1250,3380,3380,251, - 211,316,317,3380,3380,3380,1603,3380,256,3380, - 1104,3380,2857,848,3380,87,3380,3380,1570,1128, - 2857,848,2231,87,3380,1529,357,3380,2857,848, - 2259,87,3380,3380,357,3380,2857,848,2315,87, - 3380,3380,357,3380,1298,3380,2343,3380,2857,848, - 357,87,3380,3380,3380,3380,1798,3380,2371,3380, - 2857,848,357,87,1812,3380,1445,3380,2857,848, - 2483,87,1813,3380,357,3380,2857,848,2567,87, - 1829,3380,357,3380,2857,848,2623,87,3380,3380, - 357,3380,1830,3380,2651,3380,2857,848,357,87, - 3380,3380,3380,3380,1866,3380,2819,3380,3380,3380, - 357,3380,1889,3380,3380,3380,3380,3380,3380,3380, - 1896,3380,3380,3380,3380,3380,3380,3380,1905,3380, - 3380,3380,3380,3380,3380,3380,3380,3380,3380,3380, - 1907,3380,0,319,739,0,179,224,0,3387, - 1,0,1,3615,0,7,9,0,179,17, - 0,178,18,0,1,3604,0,112,2175,0 + 67,72,113,94,94,94,94,92,114,115, + 115,116,116,117,117,107,107,118,118,104, + 104,104,104,119,119,105,105,105,106,106, + 4,4,4,8,8,8,8,8,8,35, + 35,37,37,38,38,120,120,120,19,25, + 25,25,25,25,25,25,23,23,23,23, + 23,23,23,23,23,23,23,23,23,23, + 23,23,23,23,23,23,23,23,23,23, + 44,44,359,1901,2063,475,14,19,15,660, + 1245,44,1926,683,1900,738,2907,706,761,363, + 14,19,15,660,42,44,3056,1517,743,833, + 797,909,880,913,74,2356,91,134,211,319, + 320,2041,1908,1893,126,662,222,227,355,694, + 216,693,219,221,136,133,135,159,2351,468, + 1804,251,211,319,320,2203,1637,2633,138,2139, + 165,14,19,15,660,42,35,142,145,148, + 151,572,395,222,231,1580,1860,1987,2013,2091, + 1850,2203,1706,134,211,319,320,1423,303,395, + 222,230,198,199,2125,308,326,765,2053,306, + 136,133,135,159,2907,2053,2215,2521,14,19, + 15,660,42,44,138,683,165,738,1186,706, + 761,104,321,142,145,148,151,2197,3083,384, + 1647,1580,1860,1987,2013,2091,1850,229,2732,429, + 2277,464,14,19,15,660,1245,44,2141,683, + 363,738,1186,706,761,2355,401,1400,223,430, + 899,110,86,668,743,833,797,909,880,913, + 74,1181,278,1830,1302,289,95,876,1382,94, + 96,97,98,99,328,2757,429,2992,694,14, + 19,15,660,1245,44,183,683,207,738,2533, + 706,761,1908,2797,126,283,972,1202,355,1420, + 1278,743,833,797,909,880,913,74,3056,278, + 1771,1908,899,334,87,355,1519,399,475,2049, + 284,208,1047,2543,429,979,2535,14,19,15, + 660,1245,44,2036,683,127,738,257,706,761, + 355,476,283,251,211,319,320,1278,1905,743, + 833,797,909,880,913,74,388,278,662,222, + 227,2389,386,216,693,219,221,284,477,1283, + 2440,588,392,158,14,19,15,660,1245,44, + 1911,683,2146,738,569,706,761,2053,2041,1979, + 285,1908,899,332,87,1278,743,833,797,909, + 880,913,74,2052,1080,1019,155,599,2339,237, + 335,932,2658,2363,2422,286,14,19,15,660, + 1245,44,1901,683,3056,738,1971,706,761,662, + 222,227,2200,225,217,693,219,221,743,833, + 797,909,880,913,74,842,278,2197,1644,134, + 211,319,320,473,899,110,86,229,2066,251, + 211,319,320,2198,226,1181,136,133,135,159, + 95,876,103,94,96,97,98,99,328,157, + 138,1899,165,271,1278,3062,1908,2816,194,142, + 145,148,151,266,1052,1027,269,1580,1860,1987, + 2013,2091,1850,2782,2339,1643,123,14,19,15, + 660,1245,44,2339,683,122,738,2429,706,761, + 252,211,319,320,516,899,110,86,305,743, + 833,797,909,880,913,74,1181,278,1963,418, + 301,95,876,101,94,96,97,98,99,328, + 2608,355,408,2208,14,19,15,660,42,44, + 2277,683,2041,738,386,706,761,2269,355,3007, + 287,402,1210,2197,3096,1278,743,833,797,909, + 880,913,93,275,355,3044,2957,1629,300,327, + 14,19,15,660,1245,44,2339,683,111,738, + 2180,706,761,662,222,1323,325,847,217,693, + 219,1316,743,833,797,909,880,913,74,2907, + 1377,2250,694,14,19,15,660,1245,44,2056, + 683,2141,738,2196,706,761,355,1757,1892,418, + 301,3025,298,299,2536,743,833,797,909,880, + 913,74,2493,91,196,2053,14,19,15,660, + 1245,44,2141,683,2282,738,766,706,761,3050, + 704,402,16,1908,362,1929,87,279,743,833, + 797,909,880,913,74,2355,1410,1309,300,2907, + 192,238,68,14,19,15,660,42,44,2339, + 683,333,738,2907,706,761,572,14,19,15, + 660,42,39,712,1423,743,833,797,909,880, + 913,93,2907,1906,2141,182,14,19,15,660, + 42,44,68,683,228,738,2568,706,761,2339, + 2282,331,297,299,2605,374,1415,2639,743,833, + 797,909,880,913,93,2907,818,23,2683,14, + 19,15,660,1245,44,1217,683,2988,738,2907, + 706,761,2360,14,19,15,660,42,44,210, + 1518,743,833,797,909,880,913,74,2907,85, + 355,1236,14,19,15,660,1245,44,272,683, + 2269,738,2633,706,761,1250,14,19,15,660, + 42,35,355,508,743,833,797,909,880,913, + 74,2907,84,273,2687,14,19,15,660,1245, + 44,2355,683,22,738,2662,706,761,2807,239, + 1335,244,14,19,15,660,317,743,833,797, + 909,880,913,74,2907,83,355,555,14,19, + 15,660,1245,44,2339,683,329,738,2633,706, + 761,185,14,19,15,660,42,35,2277,2141, + 743,833,797,909,880,913,74,2907,82,1752, + 292,14,19,15,660,1245,44,2339,683,125, + 738,2938,706,761,2832,2269,2761,245,14,19, + 15,660,315,743,833,797,909,880,913,74, + 2907,81,212,2355,14,19,15,660,1245,44, + 2339,683,121,738,2907,706,761,2355,14,19, + 15,660,42,38,20,2141,743,833,797,909, + 880,913,74,2907,80,1767,2355,14,19,15, + 660,1245,44,184,683,1898,738,2907,706,761, + 2355,14,19,15,660,42,37,203,2141,743, + 833,797,909,880,913,74,2907,79,1768,1920, + 14,19,15,660,1245,44,280,683,2688,738, + 2907,706,761,2988,14,19,15,660,42,36, + 204,2141,743,833,797,909,880,913,74,2907, + 78,1773,2936,14,19,15,660,1245,44,2339, + 683,3277,738,2907,706,761,2051,14,19,15, + 660,42,34,2691,2141,743,833,797,909,880, + 913,74,2907,77,1803,2355,14,19,15,660, + 1245,44,2339,683,3282,738,2907,706,761,2355, + 14,19,15,660,42,35,1349,2141,743,833, + 797,909,880,913,74,2907,76,21,73,14, + 19,15,660,1245,44,844,683,2269,738,2907, + 706,761,1931,14,19,15,660,42,47,26, + 2053,743,833,797,909,880,913,74,2907,75, + 2684,694,14,19,15,660,1245,44,2138,683, + 2269,738,2141,706,761,2990,241,307,232,290, + 2034,694,2035,2101,743,833,797,909,880,913, + 74,2907,92,572,2982,14,19,15,660,42, + 44,2141,683,2994,738,2141,706,761,2827,240, + 304,2061,2985,196,193,2087,2141,743,833,797, + 909,880,913,93,2907,766,270,2281,14,19, + 15,660,1245,44,2339,683,3292,738,2907,706, + 761,2342,14,19,15,660,42,46,201,191, + 743,833,797,909,880,913,74,2907,1515,525, + 901,14,19,15,660,1245,44,2339,683,3297, + 738,2141,706,761,2339,2269,3307,2054,2062,2106, + 694,276,2141,743,833,797,909,880,913,74, + 2907,1575,1717,1986,14,19,15,660,42,44, + 2339,683,3170,738,2044,706,761,2339,2339,3187, + 3312,2339,196,3317,242,2141,743,833,797,909, + 880,913,93,2907,766,277,2446,14,19,15, + 660,42,44,2520,683,2269,738,2907,706,761, + 2529,14,19,15,660,42,45,202,191,743, + 833,797,909,880,913,93,2907,2269,965,901, + 14,19,15,660,42,44,2339,683,3220,738, + 2524,706,761,2526,243,134,211,319,320,2528, + 1597,2141,743,833,797,909,880,913,93,3056, + 2277,2191,141,133,135,159,291,217,362,110, + 86,2141,294,3068,2345,694,140,2252,165,1181, + 2339,2269,3225,1716,95,876,108,94,96,97, + 98,99,328,2695,251,211,319,320,355,899, + 572,87,1,362,110,86,2141,1771,252,211, + 319,320,1185,2339,1181,3240,2373,109,2141,95, + 876,108,94,96,97,98,99,328,2399,1908, + 899,330,87,2606,256,572,288,362,110,86, + 1979,106,309,1144,1004,1269,2269,2339,1181,117, + 2991,2913,109,95,876,108,94,96,97,98, + 99,328,1464,1672,2339,2141,3257,355,362,572, + 87,145,362,110,86,2425,107,2271,899,2698, + 89,942,2693,1181,1408,293,109,2215,95,876, + 108,94,96,97,98,99,328,3000,3002,1186, + 196,1914,1390,3009,572,1908,899,124,87,2907, + 106,105,3003,14,19,15,660,42,44,1177, + 683,109,738,2857,706,761,911,14,19,15, + 660,313,1741,3011,3001,743,833,797,909,880, + 913,73,662,222,227,107,396,216,693,219, + 221,2141,271,355,362,2599,87,260,1902,3057, + 2811,2477,264,1052,1027,269,2907,942,274,3412, + 14,19,15,660,42,44,3412,683,207,738, + 2422,706,761,261,3412,1357,196,1012,1202,3412, + 2068,3412,743,833,797,909,1721,3412,3003,662, + 222,227,3412,3412,216,693,219,221,3412,271, + 3412,3412,1159,258,518,134,211,319,320,264, + 1052,1027,269,399,667,134,211,319,320,3412, + 3412,2141,137,133,135,159,1908,899,2909,87, + 1456,2503,144,133,135,159,139,3412,165,3412, + 1474,3412,399,475,3412,143,146,149,152,1908, + 899,3272,87,3412,662,222,606,3412,2141,216, + 693,219,628,1507,355,899,2907,87,2555,158, + 14,19,15,660,42,44,2141,683,1720,738, + 3412,706,761,662,222,227,2633,2141,216,693, + 219,221,743,833,797,1663,2141,2659,518,3074, + 3412,3412,154,599,2141,3412,2685,2140,355,899, + 613,87,2907,3412,2711,702,14,19,15,660, + 42,44,1412,683,831,738,3412,706,761,559, + 899,110,86,2212,252,211,319,320,743,833, + 1703,1181,134,211,319,320,95,876,102,94, + 96,97,98,99,328,602,899,110,86,147, + 133,135,159,3412,3412,3412,3412,1181,134,211, + 319,320,95,876,118,94,96,97,98,99, + 328,645,899,110,86,150,133,135,159,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 114,94,96,97,98,99,328,688,899,110, + 86,2284,2141,2141,3412,3412,3412,3412,3412,1181, + 3412,3412,2737,2789,95,876,1825,94,96,97, + 98,99,328,731,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,134,211,319,320, + 95,876,359,94,96,97,98,99,328,774, + 899,110,86,153,133,135,159,3412,3412,3412, + 3412,1181,3412,3412,3412,3412,95,876,351,94, + 96,97,98,99,328,817,899,110,86,3412, + 3412,3412,3412,3412,3412,3412,3412,1181,3412,3412, + 3412,3412,95,876,113,94,96,97,98,99, + 328,860,899,110,86,3412,3412,3412,3412,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 358,94,96,97,98,99,328,903,899,110, + 86,3412,3412,3412,3412,3412,3412,3412,3412,1181, + 3412,3412,3412,3412,95,876,357,94,96,97, + 98,99,328,946,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,3412,3412,3412,3412, + 95,876,355,94,96,97,98,99,328,989, + 899,110,86,3412,3412,3412,3412,3412,3412,3412, + 3412,1181,3412,3412,3412,3412,95,876,350,94, + 96,97,98,99,328,1032,899,110,86,3412, + 3412,3412,3412,3412,3412,3412,3412,1181,3412,3412, + 3412,3412,95,876,349,94,96,97,98,99, + 328,1075,899,110,86,3412,3412,3412,3412,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 347,94,96,97,98,99,328,1118,899,110, + 86,3412,3412,3412,3412,3412,3412,3412,3412,1181, + 3412,3412,3412,3412,95,876,343,94,96,97, + 98,99,328,1161,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,3412,3412,3412,3412, + 95,876,120,94,96,97,98,99,328,1204, + 899,110,86,3412,3412,3412,3412,3412,3412,3412, + 3412,1181,3412,3412,3412,3412,95,876,356,94, + 96,97,98,99,328,1247,899,110,86,3412, + 3412,3412,3412,3412,3412,3412,3412,1181,3412,3412, + 3412,3412,95,876,354,94,96,97,98,99, + 328,1290,899,110,86,3412,3412,3412,3412,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 353,94,96,97,98,99,328,1333,899,110, + 86,3412,3412,3412,3412,3412,3412,3412,3412,1181, + 3412,3412,3412,3412,95,876,348,94,96,97, + 98,99,328,1376,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,3412,3412,3412,3412, + 95,876,346,94,96,97,98,99,328,1419, + 899,110,86,3412,3412,3412,3412,3412,3412,3412, + 3412,1181,3412,3412,3412,3412,95,876,345,94, + 96,97,98,99,328,1462,899,110,86,3412, + 3412,3412,3412,3412,3412,3412,3412,1181,3412,3412, + 3412,3412,95,876,342,94,96,97,98,99, + 328,1505,899,110,86,3412,3412,3412,3412,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 341,94,96,97,98,99,328,1548,899,110, + 86,3412,3412,3412,3412,3412,3412,3412,3412,1181, + 3412,3412,3412,3412,95,876,339,94,96,97, + 98,99,328,1591,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,3412,3412,3412,3412, + 95,876,119,94,96,97,98,99,328,1634, + 899,110,86,3412,3412,3412,3412,3412,3412,3412, + 3412,1181,3412,3412,3412,3412,95,876,352,94, + 96,97,98,99,328,1677,899,110,86,3412, + 3412,3412,3412,3412,3412,3412,3412,1181,3412,3412, + 3412,3412,95,876,344,94,96,97,98,99, + 328,1720,899,110,86,3412,3412,3412,3412,3412, + 3412,3412,3412,1181,3412,3412,3412,3412,95,876, + 340,94,96,97,98,99,328,1763,899,110, + 86,3412,3412,3412,3412,3412,3412,3412,3412,1181, + 3412,3412,3412,3412,95,876,338,94,96,97, + 98,99,328,1806,899,110,86,3412,3412,3412, + 3412,3412,3412,3412,3412,1181,3412,3412,3412,3412, + 95,876,337,94,96,97,98,99,328,1849, + 899,110,86,3412,3412,3412,3412,399,475,3412, + 3412,1181,3412,3412,3412,3412,95,876,336,94, + 96,97,98,99,328,2907,2063,475,3412,14, + 19,15,660,42,44,3412,683,1923,738,3412, + 706,761,3412,3412,355,362,3412,87,662,222, + 227,743,1619,216,693,219,221,3412,942,3412, + 3412,3412,3412,158,3412,3412,3412,662,222,227, + 3412,3412,216,693,219,221,3412,196,662,222, + 227,3412,1804,217,693,219,221,2882,271,3003, + 3412,14,19,15,660,40,154,599,266,1052, + 1027,269,2907,1225,613,3412,14,19,15,660, + 42,44,3412,683,3412,738,3412,706,1533,1908, + 899,3135,87,2907,197,199,3412,14,19,15, + 660,42,44,1540,683,1452,738,2907,706,1544, + 3412,14,19,15,660,42,44,3412,683,2907, + 738,3412,1566,14,19,15,660,42,44,3412, + 683,2907,738,3412,1573,14,19,15,660,42, + 44,3412,683,2907,738,3412,1610,14,19,15, + 660,42,44,3412,683,2907,738,3412,1613,14, + 19,15,660,42,44,2907,683,3412,1467,14, + 19,15,660,42,44,3412,683,3412,1481,1972, + 3041,3412,3412,1927,935,3412,3412,2178,694,274, + 355,362,3412,87,355,362,3412,87,3412,3412, + 3412,3412,3412,3412,942,2707,3412,3412,942,14, + 19,15,660,42,43,355,362,3412,87,3412, + 196,2525,694,196,2322,694,3412,196,3412,942, + 271,3412,766,3412,271,3003,3412,2525,694,3003, + 264,1052,1027,269,264,1052,1027,269,196,1258, + 3412,3412,3412,1291,1771,3412,191,196,3412,3412, + 3003,1456,3412,2245,694,263,1111,901,3412,766, + 1771,3412,2195,362,1324,87,2245,694,3412,712, + 3412,256,3412,3412,3412,3412,115,3412,3412,3412, + 3412,1511,1269,191,2932,2827,1771,256,14,19, + 15,660,33,1203,901,572,2932,1511,1269,1771, + 14,19,15,660,32,2993,899,3412,87,3412, + 3412,3412,3262,256,3412,2113,3412,3412,3412,360, + 3412,3412,3412,1004,1269,3412,256,1342,2993,899, + 3412,87,3412,3412,3412,3412,1555,1269,2139,3412, + 2993,899,360,87,3412,2993,899,3412,87,1621, + 2217,3412,3412,3412,360,2243,3412,2993,899,360, + 87,3412,3412,2993,899,3412,87,2295,3412,3412, + 3412,360,1641,2321,3412,3412,3412,360,2993,899, + 3412,87,3412,3412,1688,3412,3412,3412,2347,1735, + 2993,899,360,87,3412,2993,899,3412,87,3412, + 2451,1821,3412,3412,360,2529,3412,1901,3412,360, + 2993,899,3412,87,3412,2993,899,3412,87,3412, + 2581,3412,1938,3412,360,2607,3412,2993,899,360, + 87,3412,2195,899,1967,87,3412,2763,3412,1976, + 3412,360,1908,899,3158,87,115,1908,899,3302, + 87,3412,2195,899,1984,87,1547,3412,3412,2092, + 3412,1548,1908,899,3175,87,115,1908,899,3193, + 87,2093,1908,899,3208,87,1606,2195,899,3412, + 87,1650,1908,899,3245,87,1683,2195,899,3412, + 87,115,355,899,3412,87,1734,1514,3412,355, + 899,115,87,3412,355,899,1441,87,3412,3412, + 3412,3412,3412,1445,3412,3412,3412,1551,1522,3412, + 3412,3412,3412,3412,3412,3412,3412,3412,3412,3412, + 3412,3412,3412,3412,3412,3412,3412,3412,3412,3412, + 3412,3412,1676,3412,3412,3412,3412,3412,3412,3412, + 3412,3412,1956,3412,0,322,830,0,179,224, + 0,3419,1,0,1,3647,0,7,9,0, + 179,17,0,178,18,0,1,3636,0,112, + 2165,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -908,130 +915,144 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 18,19,20,21,22,23,24,25,26,27, 28,29,30,31,32,33,34,35,36,37, 38,39,40,41,42,0,1,2,3,4, - 5,0,0,0,0,0,1,2,0,4, - 6,0,4,0,0,4,2,0,1,2, - 25,26,5,0,10,11,0,1,2,0, - 0,5,2,25,0,5,25,0,43,44, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,32,33,34, + 35,36,37,38,39,40,41,42,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31, + 32,33,34,35,36,37,38,39,40,41, + 42,0,1,2,3,4,5,0,0,0, + 0,0,1,2,0,4,6,0,4,0, + 0,4,2,0,1,2,25,26,5,0, + 10,11,0,1,2,0,0,5,2,25, + 0,5,25,0,43,44,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,66,28,68, + 69,70,0,1,2,3,4,5,67,0, + 0,0,75,2,73,4,72,67,87,75, + 67,83,84,85,86,0,87,25,26,67, + 80,72,67,67,97,98,99,100,101,102, + 103,104,105,106,94,43,44,45,46,47, + 48,49,50,51,52,53,54,55,56,57, + 58,59,60,61,62,63,64,65,66,0, + 68,69,70,0,1,0,3,4,67,4, + 0,1,2,0,73,5,76,77,0,87, + 0,0,0,0,4,0,5,5,5,26, + 25,0,0,1,2,0,5,0,83,84, + 85,86,7,8,0,25,43,44,45,46, + 47,48,49,50,51,52,53,54,55,56, + 57,58,59,60,61,62,63,64,65,66, + 0,68,69,70,71,0,1,72,3,4, + 43,44,45,46,47,48,49,50,51,52, + 53,54,72,75,0,75,83,84,85,86, + 6,26,81,82,81,82,74,0,0,0, + 0,4,81,82,4,0,91,2,43,44, 45,46,47,48,49,50,51,52,53,54, 55,56,57,58,59,60,61,62,63,64, - 65,66,28,68,69,70,0,1,2,3, - 4,5,67,0,0,0,75,2,73,4, - 72,67,87,75,67,83,84,85,86,0, - 87,25,26,67,80,72,67,67,97,98, - 99,100,101,102,103,104,105,106,94,43, - 44,45,46,47,48,49,50,51,52,53, - 54,55,56,57,58,59,60,61,62,63, - 64,65,66,0,68,69,70,0,1,0, - 3,4,67,4,0,1,2,0,73,5, - 76,77,0,87,0,0,0,0,4,0, - 5,5,5,26,25,0,0,1,2,0, - 5,0,83,84,85,86,7,8,0,25, + 65,66,72,68,69,70,71,0,1,0, + 3,4,43,44,45,46,47,48,49,50, + 51,52,53,54,0,0,0,0,4,0, + 4,2,0,26,5,67,4,0,0,72, + 73,0,67,73,0,1,9,3,80,25, 43,44,45,46,47,48,49,50,51,52, 53,54,55,56,57,58,59,60,61,62, 63,64,65,66,0,68,69,70,71,0, - 1,72,3,4,43,44,45,46,47,48, - 49,50,51,52,53,54,72,75,0,75, - 83,84,85,86,6,26,81,82,81,82, - 74,0,0,0,0,4,81,82,4,0, - 91,2,43,44,45,46,47,48,49,50, + 1,0,3,4,43,44,45,46,47,48, + 49,50,51,52,53,54,67,73,0,73, + 0,92,4,71,4,26,0,1,0,3, + 0,0,1,0,3,88,89,7,8,0, + 95,96,43,44,45,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, - 61,62,63,64,65,66,72,68,69,70, - 71,0,1,0,3,4,43,44,45,46, - 47,48,49,50,51,52,53,54,0,0, - 0,0,4,0,4,2,0,26,5,67, - 4,0,0,72,73,0,67,73,0,1, - 9,3,80,25,43,44,45,46,47,48, + 61,62,63,64,65,66,0,68,69,70, + 71,0,1,79,3,4,43,44,45,46, + 47,48,49,50,51,52,53,54,0,88, + 89,0,4,73,0,1,78,26,7,8, + 0,1,2,3,0,0,0,2,4,0, + 4,2,0,25,43,44,45,46,47,48, 49,50,51,52,53,54,55,56,57,58, 59,60,61,62,63,64,65,66,0,68, - 69,70,71,0,1,0,3,4,43,44, - 45,46,47,48,49,50,51,52,53,54, - 67,73,0,73,0,92,4,71,4,26, - 0,1,0,3,0,0,1,0,3,88, - 89,7,8,0,95,96,43,44,45,46, - 47,48,49,50,51,52,53,54,55,56, - 57,58,59,60,61,62,63,64,65,66, - 0,68,69,70,71,0,1,79,3,4, - 43,44,45,46,47,48,49,50,51,52, - 53,54,0,88,89,0,4,73,0,1, - 78,26,7,8,0,1,2,3,0,0, - 0,2,4,0,0,2,6,25,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,58,59,60,61,62,63,64, - 65,66,0,68,69,70,71,43,44,45, - 46,47,48,49,50,51,52,53,54,55, - 56,57,58,59,60,61,62,63,64,65, - 66,0,68,69,70,0,1,79,3,71, - 67,0,1,0,3,43,44,45,46,47, - 48,0,9,0,1,2,3,4,5,0, - 7,8,9,10,11,12,13,14,15,16, - 17,18,19,20,21,22,23,24,43,44, - 45,46,47,48,49,50,51,52,53,54, - 55,56,57,58,59,60,61,62,63,64, - 65,66,49,68,69,70,0,1,2,3, - 4,5,0,7,8,9,10,11,12,13, + 69,70,71,43,44,45,46,47,48,49, + 50,51,52,53,54,55,56,57,58,59, + 60,61,62,63,64,65,66,0,68,69, + 70,0,1,79,3,71,67,71,0,67, + 0,43,44,45,46,47,48,0,0,0, + 1,2,3,4,5,0,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,43,44,45,46,47,48, + 49,50,51,52,53,54,55,56,57,58, + 59,60,61,62,63,64,65,66,49,68, + 69,70,0,1,2,3,4,5,0,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,78,90,0, + 0,76,77,0,0,0,6,0,0,5, + 0,1,0,3,0,0,9,2,6,0, + 6,49,0,1,2,3,4,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,0,2, + 78,43,44,45,46,47,48,49,50,51, + 52,53,54,55,56,57,58,59,60,61, + 62,63,64,65,66,76,77,0,0,76, + 77,76,77,79,0,0,2,0,1,2, + 3,4,5,71,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,1,2,3,4,5,0,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,24,0,1,2, + 3,0,5,6,7,8,9,10,11,12, + 13,14,15,16,17,18,19,20,21,22, + 23,24,0,0,2,78,0,0,2,6, + 0,93,0,6,0,90,6,0,6,2, + 0,0,0,0,0,67,0,1,2,3, + 78,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,78,0,0,0,76,77,0,0,0, - 6,0,0,5,0,0,0,6,2,0, - 0,2,2,0,0,49,0,1,2,3, - 4,5,6,7,8,9,10,11,12,13, + 24,0,1,2,3,74,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,0,1,2,3, + 0,5,6,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,0,0,2,78,43,44,45,46,47, - 48,49,50,51,52,53,54,55,56,57, - 58,59,60,61,62,63,64,65,66,76, - 77,67,0,76,77,76,77,79,0,74, - 2,0,1,2,3,4,5,71,7,8, + 24,0,1,2,3,91,5,6,7,8, 9,10,11,12,13,14,15,16,17,18, 19,20,21,22,23,24,0,1,2,3, - 4,5,0,7,8,9,10,11,12,13, + 0,5,0,7,8,9,10,11,12,13, 14,15,16,17,18,19,20,21,22,23, - 24,0,1,2,3,0,5,6,7,8, + 24,0,1,2,3,75,5,0,7,8, 9,10,11,12,13,14,15,16,17,18, - 19,20,21,22,23,24,0,0,0,78, - 0,0,90,6,6,0,0,2,0,0, - 0,0,6,0,0,6,6,0,0,67, - 0,1,2,3,78,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,1,2,3,74, - 5,6,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,1,2,3,74,5,75,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,1,2,3,91, - 5,90,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,1,2,3,0,5,0,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,1,2,3,0, - 5,0,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,1,2,3,0,5,0,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,1,2,3,0, - 5,0,7,8,9,10,11,12,13,14, - 15,16,17,18,19,20,21,22,23,24, - 0,1,2,3,75,5,0,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,0,1,2,0,4, - 5,0,4,79,0,0,0,0,1,2, - 4,4,5,0,0,0,67,0,92,6, - 25,6,0,25,0,74,0,0,0,80, - 0,0,25,27,0,0,0,0,43,44, - 45,46,47,48,49,50,51,52,53,54, - 43,44,45,46,47,48,49,50,51,52, - 53,54,67,0,0,0,0,0,73,0, - 72,0,0,72,67,0,0,0,74,73, - 73,0,0,0,0,0,0,0,74,0, - 0,74,0,0,0,0,0,0,93,0, - 0,0,0,0,0,0,43,44,45,46, - 47,48,43,44,45,46,47,48,43,44, + 19,20,21,22,23,24,0,1,2,3, + 0,5,0,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,0,1,2,3,75,5,0,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,0,1,2,3, + 0,5,0,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,0,1,2,3,0,5,0,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,24,0,1,2,3, + 0,5,0,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 24,0,1,2,0,4,5,0,4,0, + 0,0,0,0,1,2,4,4,5,0, + 0,0,67,0,92,6,25,6,0,25, + 0,74,0,0,6,80,6,0,25,27, + 0,0,0,0,43,44,45,46,47,48, + 49,50,51,52,53,54,43,44,45,46, + 47,48,49,50,51,52,53,54,67,0, + 0,0,0,0,73,0,72,0,0,72, + 67,0,0,74,74,73,73,0,0,0, + 79,0,0,0,74,0,0,74,0,0, + 0,0,0,0,0,0,74,0,0,0, + 0,0,43,44,45,46,47,48,43,44, 45,46,47,48,43,44,45,46,47,48, - 43,44,45,46,47,48,0,0,0,0, + 43,44,45,46,47,48,43,44,45,46, + 47,48,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0 + 0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1039,305 +1060,319 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TermAction { public final static char termAction[] = {0, - 3380,6606,1,6603,1158,1,572,1,1,1, + 3412,6786,1,6777,1368,1,451,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3388,3480,1008,952,902, - 950,1051,567,899,914,1042,1625,1018,475,1003, - 484,543,891,1,1,1,1,1,1,1, + 1,1,1,1,1,3420,3512,793,1024,784, + 969,1115,529,1016,840,1104,1775,1038,591,1699, + 688,671,924,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,28,1,1, - 1,3386,7,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3365, - 3365,3365,3365,3365,3365,3365,3365,3365,3365,3407, - 3365,3365,3365,3365,3380,6606,1,6603,1158,1, - 572,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3388, - 3480,1008,952,902,950,1051,567,899,914,1042, - 1625,1018,475,1003,484,543,891,1,1,1, - 1,1,1,1,1,1,1,1,1,1, + 1,3418,7,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3397, + 3397,3397,3397,3397,3397,3397,3397,3397,3397,3439, + 3397,3397,3397,3397,3412,6786,1,6777,1368,1, + 451,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3420, + 3512,793,1024,784,969,1115,529,1016,840,1104, + 1775,1038,591,1699,688,671,924,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,205,1,1,1,3386,3380,6606,1,6603, - 3389,1,572,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,3388,3480,1008,952,902,950,1051,567,899, - 914,1042,1625,1018,475,1003,484,543,891,1, + 1,205,1,1,1,3418,3412,6786,1,6777, + 3421,1,451,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,3420,3512,793,1024,784,969,1115,529,1016, + 840,1104,1775,1038,591,1699,688,671,924,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,6080,1,1,1,3380,6606,1, - 6603,3389,1,572,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3388,3480,1008,952,902,950,1051,567, - 899,914,1042,1625,1018,475,1003,484,543,891, + 1,1,1,6304,1,1,1,3412,6786,1, + 6777,3421,1,451,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,3420,3512,793,1024,784,969,1115,529, + 1016,840,1104,1775,1038,591,1699,688,671,924, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3380,1195, - 3076,1202,179,1364,3356,1199,968,1232,2123,2095, - 2067,3390,3391,3392,3393,793,525,3687,3688,3689, - 2039,1713,833,3380,3560,3380,3561,3380,3560,417, - 3561,3380,3560,549,3561,3380,3616,636,1,3604, - 1779,3592,3593,3594,3700,399,3701,3542,3543,3541, - 3595,3544,3540,3547,3552,3551,3549,3550,3548,3553, - 3554,3546,3555,3556,3557,3380,586,527,426,3380, - 6606,1,6603,3389,1,572,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3388,3480,1008,952,902,950, - 1051,567,899,914,1042,1625,1018,475,1003,484, - 543,891,3380,6606,1,6603,3389,1,572,1, + 1,1,1,1,1,1,1,1,3412,1434, + 1737,1443,179,1346,3388,1280,1247,1313,3126,3114, + 2877,3422,3423,3424,3425,1214,983,3722,3723,3724, + 1793,1184,1118,3412,3592,282,3593,3412,3592,578, + 3593,3412,3592,595,3593,3412,3648,620,1,3636, + 1922,3624,3625,3626,3735,372,3736,3574,3575,3573, + 3627,3576,3572,3579,3584,3583,3581,3582,3580,3585, + 3586,3578,3587,3588,3589,3412,652,636,499,3412, + 6786,1,6777,3421,1,451,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,3480,1008, - 952,902,950,1051,567,899,914,1042,1625,1018, - 475,1003,484,543,891,3380,6606,1,6603,3389, - 1,572,1,1,1,1,1,1,1,1, + 1,1,1,1,3420,3512,793,1024,784,969, + 1115,529,1016,840,1104,1775,1038,591,1699,688, + 671,924,3412,6786,1,6777,3421,1,451,1, 1,1,1,1,1,1,1,1,1,1, - 3388,3480,1008,952,902,950,1051,567,899,914, - 1042,1625,1018,475,1003,484,543,891,3380,6606, - 1,6603,3389,1,572,1,1,1,1,1, + 1,1,1,1,1,1,1,3420,3512,793, + 1024,784,969,1115,529,1016,840,1104,1775,1038, + 591,1699,688,671,924,3412,6786,1,6777,3421, + 1,451,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3388,3480,1008,952,902,950,1051, - 567,899,914,1042,1625,1018,475,1003,484,543, - 891,3380,6606,1,6603,3389,1,572,1,1, + 3420,3512,793,1024,784,969,1115,529,1016,840, + 1104,1775,1038,591,1699,688,671,924,3412,6786, + 1,6777,3421,1,451,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3388,3480,1008,952, - 902,950,1051,567,899,914,1042,1625,1018,475, - 1003,484,543,891,3380,6606,1,6603,3389,1, - 572,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3388, - 3480,1008,952,902,950,1051,567,899,914,1042, - 1625,1018,475,1003,484,543,891,3380,6606,1, - 6603,3389,1,572,1,1,1,1,1,1, + 1,1,1,3420,3512,793,1024,784,969,1115, + 529,1016,840,1104,1775,1038,591,1699,688,671, + 924,3412,6786,1,6777,3421,1,451,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3388,3480,1008,952,902,950,1051,567, - 899,914,1042,1625,1018,475,1003,484,543,891, - 3380,6606,1,6603,3389,1,572,1,1,1, + 1,1,1,1,1,1,3420,3512,793,1024, + 784,969,1115,529,1016,840,1104,1775,1038,591, + 1699,688,671,924,3412,6786,1,6777,3421,1, + 451,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3420, + 3512,793,1024,784,969,1115,529,1016,840,1104, + 1775,1038,591,1699,688,671,924,3412,6786,1, + 6777,3421,1,451,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3388,3480,1008,952,902, - 950,1051,567,899,914,1042,1625,1018,475,1003, - 484,543,891,3380,6606,1,6603,3389,1,572, + 1,1,3420,3512,793,1024,784,969,1115,529, + 1016,840,1104,1775,1038,591,1699,688,671,924, + 3412,6786,1,6777,3421,1,451,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3388,3480, - 1008,952,902,950,1051,567,899,914,1042,1625, - 1018,475,1003,484,543,891,3380,6606,1,6603, - 3389,1,572,1,1,1,1,1,1,1, + 1,1,1,1,1,3420,3512,793,1024,784, + 969,1115,529,1016,840,1104,1775,1038,591,1699, + 688,671,924,3412,6786,1,6777,3421,1,451, 1,1,1,1,1,1,1,1,1,1, - 1,3388,3480,1008,952,902,950,1051,567,899, - 914,1042,1625,1018,475,1003,484,543,891,3380, - 6606,1,6603,3389,1,572,1,1,1,1, + 1,1,1,1,1,1,1,1,3420,3512, + 793,1024,784,969,1115,529,1016,840,1104,1775, + 1038,591,1699,688,671,924,3412,6786,1,6777, + 3421,1,451,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3388,3480,1008,952,902,950, - 1051,567,899,914,1042,1625,1018,475,1003,484, - 543,891,3380,6606,1,6603,3389,1,572,1, + 1,3420,3512,793,1024,784,969,1115,529,1016, + 840,1104,1775,1038,591,1699,688,671,924,3412, + 6786,1,6777,3421,1,451,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,3480,1008, - 952,902,950,1051,567,899,914,1042,1625,1018, - 475,1003,484,543,891,3380,6606,1,6603,3389, - 1,572,1,1,1,1,1,1,1,1, + 1,1,1,1,3420,3512,793,1024,784,969, + 1115,529,1016,840,1104,1775,1038,591,1699,688, + 671,924,3412,6786,1,6777,3421,1,451,1, 1,1,1,1,1,1,1,1,1,1, - 3388,3480,1008,952,902,950,1051,567,899,914, - 1042,1625,1018,475,1003,484,543,891,3380,6606, - 1,6603,3389,1,572,1,1,1,1,1, + 1,1,1,1,1,1,1,3420,3512,793, + 1024,784,969,1115,529,1016,840,1104,1775,1038, + 591,1699,688,671,924,3412,6786,1,6777,3421, + 1,451,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3388,3480,1008,952,902,950,1051, - 567,899,914,1042,1625,1018,475,1003,484,543, - 891,3380,6606,1,6603,3389,1,572,1,1, + 3420,3512,793,1024,784,969,1115,529,1016,840, + 1104,1775,1038,591,1699,688,671,924,3412,6786, + 1,6777,3421,1,451,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3388,3480,1008,952, - 902,950,1051,567,899,914,1042,1625,1018,475, - 1003,484,543,891,3380,6606,1,6603,3389,1, - 572,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3388, - 3480,1008,952,902,950,1051,567,899,914,1042, - 1625,1018,475,1003,484,543,891,3380,6606,1, - 6603,3389,1,572,1,1,1,1,1,1, + 1,1,1,3420,3512,793,1024,784,969,1115, + 529,1016,840,1104,1775,1038,591,1699,688,671, + 924,3412,6786,1,6777,3421,1,451,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3388,3480,1008,952,902,950,1051,567, - 899,914,1042,1625,1018,475,1003,484,543,891, - 3380,6606,1,6603,3389,1,572,1,1,1, + 1,1,1,1,1,1,3420,3512,793,1024, + 784,969,1115,529,1016,840,1104,1775,1038,591, + 1699,688,671,924,3412,6786,1,6777,3421,1, + 451,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3420, + 3512,793,1024,784,969,1115,529,1016,840,1104, + 1775,1038,591,1699,688,671,924,3412,6786,1, + 6777,3421,1,451,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3388,3480,1008,952,902, - 950,1051,567,899,914,1042,1625,1018,475,1003, - 484,543,891,3380,6606,1,6603,3389,1,572, + 1,1,3420,3512,793,1024,784,969,1115,529, + 1016,840,1104,1775,1038,591,1699,688,671,924, + 3412,6786,1,6777,3421,1,451,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3388,3480, - 1008,952,902,950,1051,567,899,914,1042,1625, - 1018,475,1003,484,543,891,3380,6606,1,6603, - 3389,1,572,1,1,1,1,1,1,1, + 1,1,1,1,1,3420,3512,793,1024,784, + 969,1115,529,1016,840,1104,1775,1038,591,1699, + 688,671,924,3412,6786,1,6777,3421,1,451, 1,1,1,1,1,1,1,1,1,1, - 1,3388,3480,1008,952,902,950,1051,567,899, - 914,1042,1625,1018,475,1003,484,543,891,3380, - 6606,1,6603,3389,1,572,1,1,1,1, + 1,1,1,1,1,1,1,1,3420,3512, + 793,1024,784,969,1115,529,1016,840,1104,1775, + 1038,591,1699,688,671,924,3412,6786,1,6777, + 3421,1,451,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3388,3480,1008,952,902,950, - 1051,567,899,914,1042,1625,1018,475,1003,484, - 543,891,3380,6606,1,6603,3389,1,572,1, + 1,3420,3512,793,1024,784,969,1115,529,1016, + 840,1104,1775,1038,591,1699,688,671,924,3412, + 6786,1,6777,3421,1,451,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,3480,1008, - 952,902,950,1051,567,899,914,1042,1625,1018, - 475,1003,484,543,891,3380,6606,1,6603,3389, - 1,572,1,1,1,1,1,1,1,1, + 1,1,1,1,3420,3512,793,1024,784,969, + 1115,529,1016,840,1104,1775,1038,591,1699,688, + 671,924,3412,6786,1,6777,3421,1,451,1, 1,1,1,1,1,1,1,1,1,1, - 3388,3480,1008,952,902,950,1051,567,899,914, - 1042,1625,1018,475,1003,484,543,891,3380,6606, - 1,6603,3389,1,572,1,1,1,1,1, + 1,1,1,1,1,1,1,3420,3512,793, + 1024,784,969,1115,529,1016,840,1104,1775,1038, + 591,1699,688,671,924,3412,6786,1,6777,3421, + 1,451,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3388,3480,1008,952,902,950,1051, - 567,899,914,1042,1625,1018,475,1003,484,543, - 891,3380,6606,1,6603,3389,1,572,1,1, + 3420,3512,793,1024,784,969,1115,529,1016,840, + 1104,1775,1038,591,1699,688,671,924,3412,6786, + 1,6777,3421,1,451,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,3388,3480,1008,952, - 902,950,1051,567,899,914,1042,1625,1018,475, - 1003,484,543,891,3380,6606,1,6603,3389,1, - 572,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,3388, - 3480,1008,952,902,950,1051,567,899,914,1042, - 1625,1018,475,1003,484,543,891,3380,6606,1, - 6603,3389,1,572,1,1,1,1,1,1, + 1,1,1,3420,3512,793,1024,784,969,1115, + 529,1016,840,1104,1775,1038,591,1699,688,671, + 924,3412,6786,1,6777,3421,1,451,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,3388,3480,1008,952,902,950,1051,567, - 899,914,1042,1625,1018,475,1003,484,543,891, - 3380,6606,1,6603,3389,1,572,1,1,1, + 1,1,1,1,1,1,3420,3512,793,1024, + 784,969,1115,529,1016,840,1104,1775,1038,591, + 1699,688,671,924,3412,6786,1,6777,3421,1, + 451,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3420, + 3512,793,1024,784,969,1115,529,1016,840,1104, + 1775,1038,591,1699,688,671,924,3412,6786,1, + 6777,3421,1,451,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,3388,3480,1008,952,902, - 950,1051,567,899,914,1042,1625,1018,475,1003, - 484,543,891,3380,6606,1,6603,3389,1,572, + 1,1,3420,3512,793,1024,784,969,1115,529, + 1016,840,1104,1775,1038,591,1699,688,671,924, + 3412,6786,1,6777,3421,1,451,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,1,3388,3480, - 1008,952,902,950,1051,567,899,914,1042,1625, - 1018,475,1003,484,543,891,3380,6606,1,6603, - 3389,1,572,1,1,1,1,1,1,1, + 1,1,1,1,1,3420,3512,793,1024,784, + 969,1115,529,1016,840,1104,1775,1038,591,1699, + 688,671,924,3412,6786,1,6777,3421,1,451, 1,1,1,1,1,1,1,1,1,1, - 1,3388,3480,1008,952,902,950,1051,567,899, - 914,1042,1625,1018,475,1003,484,543,891,3380, - 6606,1,6603,3389,1,572,1,1,1,1, + 1,1,1,1,1,1,1,1,3420,3512, + 793,1024,784,969,1115,529,1016,840,1104,1775, + 1038,591,1699,688,671,924,3412,6786,1,6777, + 3421,1,451,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,3388,3480,1008,952,902,950, - 1051,567,899,914,1042,1625,1018,475,1003,484, - 543,891,3380,6606,1,6603,3389,1,572,1, + 1,3420,3512,793,1024,784,969,1115,529,1016, + 840,1104,1775,1038,591,1699,688,671,924,3412, + 6786,1,6777,3421,1,451,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1,3388,3480,1008, - 952,902,950,1051,567,899,914,1042,1625,1018, - 475,1003,484,543,891,3380,1,1,1,3389, - 1,42,59,3380,3380,1,3374,1796,233,3385, - 372,1,221,3380,31,3389,678,259,3604,1796, - 3388,3679,1,253,3404,3405,265,3604,1796,319, - 262,828,1909,221,3380,1,3388,3380,1,1, + 1,1,1,1,3420,3512,793,1024,784,969, + 1115,529,1016,840,1104,1775,1038,591,1699,688, + 671,924,3412,6786,1,6777,3421,1,451,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3420,3512,793, + 1024,784,969,1115,529,1016,840,1104,1775,1038, + 591,1699,688,671,924,3412,6786,1,6777,3421, + 1,451,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1381,1,1,1,3380,1,1,1, - 3389,1,641,3380,54,1,1346,1909,3384,3385, - 221,1170,293,221,641,3046,3033,3020,3007,61, - 3352,3388,3679,641,960,937,3353,641,1313,1280, - 1247,1214,1181,1115,1148,1082,1049,1016,674,1, + 3420,3512,793,1024,784,969,1115,529,1016,840, + 1104,1775,1038,591,1699,688,671,924,3412,6786, + 1,6777,3421,1,451,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,3420,3512,793,1024,784,969,1115, + 529,1016,840,1104,1775,1038,591,1699,688,671, + 924,3412,1,1,1,3421,1,42,59,3412, + 3412,1,3406,1828,233,3417,425,1,221,3412, + 31,3421,1747,259,3636,1828,3420,3714,1,253, + 3436,3437,265,3636,1828,322,262,949,2999,221, + 3412,1,3420,3412,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,3380,1,1,1,3380,1,3380, - 1,190,641,3389,3380,3604,1779,60,3384,828, - 458,2960,156,292,234,48,3380,50,221,68, - 1496,643,1496,3575,3388,49,1,3604,1779,51, - 1496,129,3046,3033,3020,3007,3106,2977,3380,221, + 1,1,1,1,1,1,1,1,1749,1, + 1,1,3412,1,1,1,3421,1,650,3412, + 54,1,1365,2999,3416,3417,221,1668,296,221, + 650,2963,2951,2939,2927,61,3384,3420,3714,650, + 1020,557,3385,650,1332,1299,1266,1233,1200,1134, + 1167,1101,1068,1035,944,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,3412, + 1,1,1,3412,1,3412,1,190,650,3421, + 3412,3636,1922,60,3416,949,2975,2985,156,295, + 234,48,3412,50,221,68,1577,641,1577,3607, + 3420,49,1,3636,1922,51,1577,129,2963,2951, + 2939,2927,1049,376,3412,221,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,88,1,1,1,190,3380, - 1,360,1,190,3592,3593,3594,3700,399,3701, - 3542,3543,3541,3595,3544,3540,221,775,187,221, - 3046,3033,3020,3007,752,3575,1430,1397,1430,1397, - 1412,3380,3380,130,3380,3385,1430,1397,3385,220, - 1987,701,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,1,1,1,1,1379,1,1,1, - 190,3380,1,70,1,190,3592,3593,3594,3700, - 399,3701,3542,3543,3541,3595,3544,3540,1,72, - 1,62,116,265,3385,1909,1,3575,828,1544, - 3359,64,3380,1458,3384,131,641,3384,206,3560, - 2908,3561,1095,116,1,1,1,1,1,1, + 88,1,1,1,190,3412,1,597,1,190, + 3624,3625,3626,3735,372,3736,3574,3575,3573,3627, + 3576,3572,221,692,187,221,2963,2951,2939,2927, + 848,3607,1478,1379,1478,1379,1431,3412,3412,130, + 3412,3417,1478,1379,3417,220,1992,727,1,1, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,190,3380,1,63,1,189,3592,3593, - 3594,3700,399,3701,3542,3543,3541,3595,3544,3540, - 641,116,3380,3384,1,1940,3383,3386,90,3575, - 3380,3560,3380,3561,53,3380,3409,132,3410,2994, - 2922,3106,2977,3380,1863,1725,1,1,1,1, + 1,1,1398,1,1,1,190,3412,1,70, + 1,190,3624,3625,3626,3735,372,3736,3574,3575, + 3573,3627,3576,3572,1,72,1,62,116,265, + 3417,2999,1,3607,949,1563,3391,64,3412,1816, + 3416,131,650,3416,206,3592,474,3593,1158,116, 1,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 3380,1,1,1,189,3380,1,3635,1,190, - 3592,3593,3594,3700,399,3701,3542,3543,3541,3595, - 3544,3540,3380,2994,2922,52,3389,90,1,3362, - 3382,3575,3106,2977,1,369,1779,3558,3380,3380, - 186,690,3387,267,3380,943,772,3388,1,1, + 1,1,1,1,1,1,1,1,190,3412, + 1,63,1,189,3624,3625,3626,3735,372,3736, + 3574,3575,3573,3627,3576,3572,650,116,3412,3416, + 1,1946,3415,3418,90,3607,3412,3592,3412,3593, + 53,3412,3441,132,3442,2913,2892,1049,376,3412, + 1836,1944,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,3412,1,1,1, + 189,3412,1,3667,1,190,3624,3625,3626,3735, + 372,3736,3574,3575,3573,3627,3576,3572,3412,2913, + 2892,52,3421,90,1,3394,3414,3607,1049,376, + 1,379,1922,3590,3412,3412,281,497,3419,267, + 1070,853,218,3420,1,1,1,1,1,1, 1,1,1,1,1,1,1,1,1,1, - 1,1,247,1,1,1,190,3592,3593,3594, - 3700,399,3701,3542,3543,3541,3595,3544,3540,3547, - 3552,3551,3549,3550,3548,3553,3554,3546,3555,3556, - 3557,3380,586,527,426,3380,3559,3635,3558,3386, - 641,205,903,65,903,1,1,1,1,1, - 1,3380,2908,1,3397,3076,3398,3383,1067,58, - 1199,968,1232,2123,2095,2067,3390,3391,3392,3393, - 793,525,3687,3688,3689,2039,1713,833,3592,3593, - 3594,3700,399,3701,3542,3543,3541,3595,3544,3540, - 3547,3552,3551,3549,3550,3548,3553,3554,3546,3555, - 3556,3557,815,586,527,426,3380,3397,3076,3398, - 3383,1133,3380,1199,968,1232,2123,2095,2067,3390, - 3391,3392,3393,793,525,3687,3688,3689,2039,1713, - 833,3382,3380,57,188,458,2960,56,1,55, - 813,227,128,643,218,3380,3380,230,762,3380, - 3380,3170,2460,3380,3380,1478,1,3397,3076,3398, - 27,1364,963,1199,968,1232,2123,2095,2067,3390, - 3391,3392,3393,793,525,3687,3688,3689,2039,1713, - 833,3380,3380,2488,3382,3592,3593,3594,3700,399, - 3701,3542,3543,3541,3595,3544,3540,3547,3552,3551, - 3549,3550,3548,3553,3554,3546,3555,3556,3557,458, - 2960,641,66,458,2960,458,2960,3635,3380,3483, - 2516,3380,3397,3076,3398,3383,866,27,1199,968, - 1232,2123,2095,2067,3390,3391,3392,3393,793,525, - 3687,3688,3689,2039,1713,833,3380,3397,3076,3398, - 3383,1364,268,1199,968,1232,2123,2095,2067,3390, - 3391,3392,3393,793,525,3687,3688,3689,2039,1713, - 833,3380,3397,3076,3398,3380,1364,963,1199,968, - 1232,2123,2095,2067,3390,3391,3392,3393,793,525, - 3687,3688,3689,2039,1713,833,3380,1,227,3382, - 3380,209,2875,572,231,3380,315,2544,69,313, - 311,67,1062,3380,3380,1062,1062,3380,3380,641, - 3380,3397,3076,3398,3382,1364,1062,1199,968,1232, - 2123,2095,2067,3390,3391,3392,3393,793,525,3687, - 3688,3689,2039,1713,833,1,3397,3076,3398,2007, - 1364,963,1199,968,1232,2123,2095,2067,3390,3391, - 3392,3393,793,525,3687,3688,3689,2039,1713,833, - 3380,3397,3119,3398,3482,1364,983,1199,968,1232, - 2123,2095,2067,3390,3391,3392,3393,793,525,3687, - 3688,3689,2039,1713,833,3380,3397,3123,3398,1987, - 1364,2875,1199,968,1232,2123,2095,2067,3390,3391, - 3392,3393,793,525,3687,3688,3689,2039,1713,833, - 3380,3397,3127,3398,3380,1364,3380,1199,968,1232, - 2123,2095,2067,3390,3391,3392,3393,793,525,3687, - 3688,3689,2039,1713,833,3380,3397,3143,3398,3380, - 1364,3380,1199,968,1232,2123,2095,2067,3390,3391, - 3392,3393,793,525,3687,3688,3689,2039,1713,833, - 3380,3397,3076,3398,1,1364,71,1199,968,1232, - 2123,2095,2067,3390,3391,3392,3393,793,525,3687, - 3688,3689,2039,1713,833,3380,3397,3147,3398,285, - 1364,3380,1199,968,1232,2123,2095,2067,3390,3391, - 3392,3393,793,525,3687,3688,3689,2039,1713,833, - 1,3397,3076,3398,917,1364,3380,1199,968,1232, - 2123,2095,2067,3390,3391,3392,3393,793,525,3687, - 3688,3689,2039,1713,833,17,179,3368,3380,3368, - 3368,28,3389,3634,200,112,1,18,178,3371, - 3385,3371,3371,41,1,3380,1577,1,1940,1062, - 3368,1062,3380,3388,3380,1758,3380,3380,3380,1269, - 3380,3380,3371,3738,3380,3380,3380,3380,179,179, - 179,179,179,179,179,179,179,179,179,179, - 178,178,178,178,178,178,178,178,178,178, - 178,178,3368,248,3380,3380,3380,3380,3368,3380, - 2899,3380,3380,601,3371,249,3380,3380,1511,3384, - 3371,250,3380,3380,3380,3380,3380,246,3561,3380, - 3380,3560,3380,3380,3380,3380,3380,3380,3377,3380, - 3380,3380,3380,3380,3380,3380,1,1,1,1, - 1,1,3592,3593,3594,3700,399,3701,3592,3593, - 3594,3700,399,3701,3592,3593,3594,3700,399,3701, - 3592,3593,3594,3700,399,3701 + 1,1,1,1,1,1,1,1,247,1, + 1,1,190,3624,3625,3626,3735,372,3736,3574, + 3575,3573,3627,3576,3572,3579,3584,3583,3581,3582, + 3580,3585,3586,3578,3587,3588,3589,3412,652,636, + 499,3412,3591,3667,3590,3418,650,1070,66,650, + 3412,1,1,1,1,1,1,3412,3412,1, + 3429,1737,3430,3415,1082,58,1280,1247,1313,3126, + 3114,2877,3422,3423,3424,3425,1214,983,3722,3723, + 3724,1793,1184,1118,3624,3625,3626,3735,372,3736, + 3574,3575,3573,3627,3576,3572,3579,3584,3583,3581, + 3582,3580,3585,3586,3578,3587,3588,3589,866,652, + 636,499,3412,3429,1737,3430,3415,1148,3412,1280, + 1247,1313,3126,3114,2877,3422,3423,3424,3425,1214, + 983,3722,3723,3724,1793,1184,1118,3414,2815,57, + 186,2975,2985,56,1,55,864,65,128,641, + 205,510,188,510,227,3412,474,953,916,3412, + 230,1497,1,3429,1737,3430,27,1346,6130,1280, + 1247,1313,3126,3114,2877,3422,3423,3424,3425,1214, + 983,3722,3723,3724,1793,1184,1118,3412,3412,3092, + 3414,3624,3625,3626,3735,372,3736,3574,3575,3573, + 3627,3576,3572,3579,3584,3583,3581,3582,3580,3585, + 3586,3578,3587,3588,3589,2975,2985,3412,112,2975, + 2985,2975,2985,3667,3412,67,1988,3412,3429,1737, + 3430,3415,427,27,1280,1247,1313,3126,3114,2877, + 3422,3423,3424,3425,1214,983,3722,3723,3724,1793, + 1184,1118,3412,3429,1737,3430,3415,1346,268,1280, + 1247,1313,3126,3114,2877,3422,3423,3424,3425,1214, + 983,3722,3723,3724,1793,1184,1118,3412,3429,1737, + 3430,3412,1346,6130,1280,1247,1313,3126,3114,2877, + 3422,3423,3424,3425,1214,983,3722,3723,3724,1793, + 1184,1118,3412,1,3322,3414,3412,3412,3329,451, + 227,3409,318,1092,69,2815,231,3412,1136,3334, + 3412,3412,3412,3412,3412,650,3412,3429,1737,3430, + 3414,1346,1136,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,1,3429,1737,3430,733,1346,6130,1280,1247, + 1313,3126,3114,2877,3422,3423,3424,3425,1214,983, + 3722,3723,3724,1793,1184,1118,1,3429,1737,3430, + 209,1346,6130,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,3412,3429,1737,3430,1992,1346,6130,1280,1247, + 1313,3126,3114,2877,3422,3423,3424,3425,1214,983, + 3722,3723,3724,1793,1184,1118,3412,3429,1823,3430, + 3412,1346,3412,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,3412,3429,2834,3430,1002,1346,3412,1280,1247, + 1313,3126,3114,2877,3422,3423,3424,3425,1214,983, + 3722,3723,3724,1793,1184,1118,3412,3429,3010,3430, + 3412,1346,3412,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,3412,3429,3014,3430,783,1346,3412,1280,1247, + 1313,3126,3114,2877,3422,3423,3424,3425,1214,983, + 3722,3723,3724,1793,1184,1118,3412,3429,1737,3430, + 3412,1346,71,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,3412,3429,3035,3430,288,1346,3412,1280,1247, + 1313,3126,3114,2877,3422,3423,3424,3425,1214,983, + 3722,3723,3724,1793,1184,1118,1,3429,1737,3430, + 3412,1346,3412,1280,1247,1313,3126,3114,2877,3422, + 3423,3424,3425,1214,983,3722,3723,3724,1793,1184, + 1118,17,179,3400,3412,3400,3400,28,3421,3412, + 3412,1,1,18,178,3403,3417,3403,3403,316, + 200,314,1596,1,1946,1136,3400,1136,41,3420, + 3412,804,1,3412,1136,1630,1136,3412,3403,3773, + 3412,3412,3412,3412,179,179,179,179,179,179, + 179,179,179,179,179,179,178,178,178,178, + 178,178,178,178,178,178,178,178,3400,248, + 3412,3412,3412,3412,3400,3412,364,3412,3412,603, + 3403,249,3412,2009,1779,3416,3403,250,3412,3412, + 3666,3412,3412,246,1530,3412,3412,3593,3412,3412, + 3412,3412,3412,3412,3412,3412,3592,3412,3412,3412, + 3412,3412,1,1,1,1,1,1,3624,3625, + 3626,3735,372,3736,3624,3625,3626,3735,372,3736, + 3624,3625,3626,3735,372,3736,3624,3625,3626,3735, + 372,3736 }; }; public final static char termAction[] = TermAction.termAction; @@ -1345,44 +1380,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asb { public final static char asb[] = {0, - 302,1,461,77,302,179,49,26,61,61, - 177,177,61,177,61,463,618,79,65,336, - 79,422,386,3,83,3,83,338,3,79, - 535,546,618,376,377,649,463,179,221,583, - 582,618,116,423,408,443,245,245,245,245, - 245,245,245,245,386,245,245,245,181,198, - 203,201,209,205,212,211,214,213,215,83, - 83,83,83,338,338,535,486,79,649,344, - 651,463,79,272,79,422,222,243,243,243, - 243,222,222,265,336,336,336,225,336,336, - 222,422,24,245,24,77,443,546,546,296, - 245,443,443,443,443,443,265,265,621,245, - 245,245,245,245,245,245,245,245,245,245, - 245,245,245,245,245,245,245,245,245,83, - 113,19,463,83,83,113,340,415,340,338, - 486,535,651,347,408,486,187,386,546,541, - 545,150,270,116,582,420,222,245,222,222, - 222,222,441,441,245,493,245,245,423,24, - 225,79,218,495,495,272,618,646,544,543, - 546,546,546,546,546,546,408,201,201,198, - 198,205,205,203,203,203,203,211,209,213, - 212,24,214,113,21,113,113,245,265,340, - 535,545,486,408,385,344,245,245,245,245, - 245,245,245,245,245,245,245,646,618,651, - 270,243,243,222,243,222,546,336,546,546, - 422,245,270,296,546,588,649,549,549,549, - 549,179,245,221,245,220,113,81,245,245, - 408,386,588,541,340,412,243,222,243,222, - 243,222,243,225,245,225,225,270,546,651, - 21,245,408,408,113,268,586,265,245,411, - 620,222,243,620,222,243,243,222,621,222, - 546,421,340,546,272,408,265,245,225,546, - 620,620,222,225,546,620,620,222,620,222, - 243,546,621,222,225,113,408,225,225,546, - 225,546,620,225,225,546,225,546,620,225, - 546,620,620,222,225,546,225,225,225,546, - 225,225,225,546,225,225,546,225,546,620, - 225,225,225,225,225,225,546,225 + 317,58,429,52,317,492,24,1,36,36, + 490,490,36,490,36,431,659,54,40,351, + 54,390,354,60,126,60,126,187,60,54, + 534,545,659,303,304,590,431,492,299,582, + 581,659,193,391,376,411,103,103,103,103, + 103,103,103,103,354,103,103,103,259,276, + 281,279,287,283,290,289,292,291,293,126, + 126,126,126,187,187,534,454,54,590,227, + 592,431,54,163,54,390,300,101,101,101, + 101,300,300,123,351,351,351,83,351,351, + 300,390,81,103,81,52,411,545,545,623, + 103,411,411,411,411,411,123,123,662,103, + 103,103,103,103,103,103,103,103,103,103, + 103,103,103,103,103,103,103,103,103,126, + 156,76,431,126,126,156,189,379,189,187, + 454,534,592,230,376,454,265,354,545,540, + 544,463,156,492,193,581,388,300,103,300, + 300,300,300,409,409,103,461,103,103,391, + 83,81,83,54,296,494,494,163,659,587, + 543,542,545,545,545,545,545,545,376,279, + 279,276,276,283,283,281,281,281,281,289, + 287,291,290,81,292,156,78,156,156,103, + 123,189,534,544,454,376,353,227,103,103, + 103,103,103,103,103,103,103,103,103,587, + 659,592,156,161,101,101,300,101,300,545, + 351,545,545,390,83,103,161,623,545,629, + 590,548,548,548,548,492,103,299,103,298, + 156,56,103,103,376,354,629,540,161,101, + 300,101,300,101,300,101,83,103,83,83, + 161,545,592,78,103,376,376,189,385,661, + 300,101,661,300,101,101,300,662,300,545, + 389,189,545,156,159,585,123,103,384,83, + 545,661,661,300,83,545,661,661,300,661, + 300,101,545,662,300,83,156,312,163,376, + 123,103,83,83,545,83,545,661,83,83, + 545,83,545,661,83,545,661,661,300,83, + 545,376,83,83,83,545,83,83,83,545, + 83,83,545,83,545,661,83,83,83,83, + 83,83,545,83 }; }; public final static char asb[] = Asb.asb; @@ -1390,75 +1426,75 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asr { public final static byte asr[] = {0, - 87,0,50,43,51,52,53,44,49,54, - 45,67,72,73,46,47,48,6,25,4, - 5,1,2,74,0,68,12,69,70,13, - 14,15,16,3,10,11,9,7,8,17, - 18,78,19,20,21,22,23,24,63,55, - 60,58,59,57,56,61,62,64,65,66, - 67,74,72,73,50,43,51,52,53,44, - 49,54,45,46,47,48,25,4,5,2, - 1,0,50,55,43,56,68,51,57,52, - 58,59,53,44,60,61,49,69,54,70, - 62,63,45,64,65,66,1,3,46,47, - 48,26,71,4,0,50,55,43,56,68, + 68,12,69,70,13,14,15,16,3,10, + 11,9,7,8,17,18,78,19,20,21, + 22,23,24,63,55,60,58,59,57,56, + 61,62,64,65,66,67,74,72,73,50, + 43,51,52,53,44,49,54,45,46,47, + 48,25,4,5,2,1,0,87,0,50, + 43,51,52,53,44,49,54,45,67,72, + 73,46,47,48,6,25,4,5,1,2, + 74,0,30,31,6,35,37,32,28,33, + 42,34,27,29,36,39,41,38,40,26, + 25,4,2,13,14,15,16,19,20,21, + 10,11,9,5,7,8,17,18,12,22, + 23,24,1,3,0,50,55,43,56,68, 51,57,52,58,59,53,44,60,61,49, 69,54,70,62,63,45,64,65,66,1, - 3,46,47,48,4,75,72,25,0,50, - 55,43,56,68,51,57,52,58,59,53, - 44,60,61,49,69,54,70,62,63,45, - 64,65,66,46,47,48,1,3,6,0, - 67,2,80,94,10,11,75,97,98,99, - 100,101,103,102,104,105,106,5,81,82, - 7,8,77,76,83,84,85,86,88,89, - 9,90,91,92,71,95,96,78,73,74, - 72,25,4,0,30,31,6,35,37,32, - 28,33,42,34,27,29,36,39,41,38, - 40,26,25,4,2,13,14,15,16,19, - 20,21,10,11,9,5,7,8,17,18, - 12,22,23,24,1,3,0,4,71,67, - 80,2,13,14,15,16,19,20,21,1, - 3,10,11,9,5,7,8,17,18,12, - 22,23,24,6,0,4,73,5,2,67, - 0,87,50,55,43,56,68,51,57,52, + 3,46,47,48,26,71,4,0,4,71, + 67,80,2,13,14,15,16,19,20,21, + 1,3,10,11,9,5,7,8,17,18, + 12,22,23,24,6,0,1,3,4,71, + 72,0,50,55,43,56,68,51,57,52, 58,59,53,44,60,61,49,69,54,70, - 62,63,45,64,65,66,1,3,5,46, - 47,48,25,4,26,2,0,1,3,4, - 71,72,0,78,4,49,43,44,45,46, - 47,48,10,11,9,5,7,8,17,18, - 12,22,23,24,2,1,3,13,14,15, - 16,19,20,21,0,2,4,74,75,72, - 73,25,67,0,49,10,11,9,5,7, + 62,63,45,64,65,66,1,3,46,47, + 48,4,75,72,25,0,78,4,49,43, + 44,45,46,47,48,10,11,9,5,7, 8,17,18,12,22,23,24,2,1,3, - 13,14,15,16,19,20,21,78,4,0, - 75,67,80,0,4,72,71,75,0,87, - 93,71,30,31,6,35,37,32,28,33, - 42,34,27,29,36,39,41,38,40,26, - 25,4,12,13,14,15,16,10,11,9, - 7,8,17,18,19,20,21,22,23,24, - 5,2,3,1,68,69,70,63,55,60, - 58,59,57,56,61,62,64,65,66,54, - 51,49,50,53,52,46,48,47,43,44, - 45,0,28,0,49,54,53,52,51,50, - 80,94,10,11,9,7,8,81,82,76, - 77,83,84,85,86,88,89,90,91,92, - 95,96,75,97,98,99,100,101,102,103, - 104,105,106,25,43,44,45,46,47,48, - 5,1,2,67,72,73,4,0,9,5, - 7,8,81,82,76,77,83,84,85,86, - 88,89,90,91,92,95,96,74,97,98, - 99,100,101,102,103,104,105,106,78,73, - 71,6,4,72,25,75,0,50,55,43, + 13,14,15,16,19,20,21,0,67,2, + 80,94,10,11,75,97,98,99,100,101, + 103,102,104,105,106,5,81,82,7,8, + 77,76,83,84,85,86,88,89,9,90, + 91,92,71,95,96,78,73,74,72,25, + 4,0,2,4,74,75,72,73,25,67, + 0,4,72,71,25,0,87,50,55,43, 56,68,51,57,52,58,59,53,44,60, 61,49,69,54,70,62,63,45,64,65, - 66,1,3,46,47,48,79,5,0,27, - 4,73,12,13,14,15,16,1,3,2, - 10,11,9,5,7,8,17,18,19,20, - 21,22,23,24,0,5,2,67,73,4, - 50,55,43,56,68,51,57,52,58,59, - 53,44,60,61,49,69,54,70,62,63, - 45,64,65,66,1,3,46,47,48,79, - 0 + 66,1,3,5,46,47,48,25,4,26, + 2,0,49,10,11,9,5,7,8,17, + 18,12,22,23,24,2,1,3,13,14, + 15,16,19,20,21,78,4,0,4,72, + 71,75,0,75,67,80,0,87,93,71, + 30,31,6,35,37,32,28,33,42,34, + 27,29,36,39,41,38,40,26,25,4, + 12,13,14,15,16,10,11,9,7,8, + 17,18,19,20,21,22,23,24,5,2, + 3,1,68,69,70,63,55,60,58,59, + 57,56,61,62,64,65,66,54,51,49, + 50,53,52,46,48,47,43,44,45,0, + 28,0,50,55,43,56,68,51,57,52, + 58,59,53,44,60,61,49,69,54,70, + 62,63,45,64,65,66,46,47,48,1, + 3,6,0,49,54,53,52,51,50,80, + 94,10,11,9,7,8,81,82,76,77, + 83,84,85,86,88,89,90,91,92,95, + 96,75,97,98,99,100,101,102,103,104, + 105,106,25,43,44,45,46,47,48,5, + 1,2,67,72,73,4,0,9,5,7, + 8,81,82,76,77,83,84,85,86,88, + 89,90,91,92,95,96,74,97,98,99, + 100,101,102,103,104,105,106,78,73,71, + 6,4,72,25,75,0,5,2,67,73, + 4,50,55,43,56,68,51,57,52,58, + 59,53,44,60,61,49,69,54,70,62, + 63,45,64,65,66,1,3,46,47,48, + 79,0,4,73,5,2,67,0,50,55, + 43,56,68,51,57,52,58,59,53,44, + 60,61,49,69,54,70,62,63,45,64, + 65,66,1,3,46,47,48,79,5,0, + 27,4,73,12,13,14,15,16,1,3, + 2,10,11,9,5,7,8,17,18,19, + 20,21,22,23,24,0 }; }; public final static byte asr[] = Asr.asr; @@ -1466,44 +1502,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasb { public final static char nasb[] = {0, - 48,30,21,12,63,19,123,17,124,124, - 95,95,124,95,124,119,110,104,30,30, - 126,9,53,30,102,30,102,102,30,36, - 102,134,110,67,67,133,102,19,13,30, - 30,110,30,91,54,147,7,7,7,7, - 7,7,7,7,53,7,7,7,30,30, - 30,30,30,30,30,30,30,30,30,102, - 81,102,81,95,102,102,145,129,133,52, - 101,85,104,7,127,97,13,71,71,71, - 71,13,13,95,30,30,30,39,30,30, - 13,9,30,7,30,12,1,134,134,137, - 7,147,147,147,147,147,56,56,58,72, + 71,34,25,18,61,9,131,11,132,132, + 100,100,132,100,132,127,151,140,34,34, + 134,35,51,34,111,34,111,111,34,15, + 111,160,151,54,54,159,111,9,19,34, + 34,151,34,96,52,113,7,7,7,7, + 7,7,7,7,51,7,7,7,34,34, + 34,34,34,34,34,34,34,34,34,111, + 92,111,92,100,111,111,13,137,159,50, + 110,21,140,56,135,106,19,79,79,79, + 79,19,19,100,34,34,34,40,34,34, + 19,35,34,7,34,18,1,160,160,145, + 7,113,113,113,113,113,75,75,117,80, 7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,72,7,81, - 10,12,24,77,81,10,75,30,30,95, - 145,61,141,45,54,145,30,53,134,113, - 30,31,102,30,30,30,13,7,13,13, - 13,13,69,151,72,30,72,72,91,30, - 39,104,30,30,30,7,110,136,67,67, - 134,134,134,134,134,134,54,30,30,30, - 30,30,30,30,30,30,30,30,30,30, - 30,30,30,10,104,10,10,7,95,75, - 61,134,145,54,53,61,7,7,7,7, - 7,7,7,7,7,7,7,112,110,101, - 45,71,71,13,153,13,134,30,134,134, - 97,7,102,116,134,108,133,30,30,30, - 30,30,7,13,7,30,10,30,7,7, - 54,53,108,114,75,15,71,13,71,13, - 71,13,153,39,72,39,39,45,134,101, - 104,7,54,54,10,44,30,95,7,89, - 132,13,71,132,13,71,71,13,153,13, - 134,30,75,134,7,54,95,7,39,134, - 132,132,13,39,134,132,132,13,132,13, - 71,134,153,13,39,10,54,39,39,134, - 39,134,132,39,39,134,39,134,132,39, - 134,132,132,13,39,134,39,39,39,134, - 39,39,39,134,39,39,134,39,134,132, - 39,39,39,39,39,39,134,39 + 7,7,7,7,7,7,7,80,7,92, + 36,18,28,67,92,36,83,34,34,100, + 13,59,102,47,52,13,34,51,160,121, + 34,87,111,34,34,34,34,19,7,19, + 19,19,19,77,153,80,34,80,80,96, + 40,34,40,140,34,34,34,7,151,144, + 54,54,160,160,160,160,160,160,52,34, + 34,34,34,34,34,34,34,34,34,34, + 34,34,34,34,34,36,140,36,36,7, + 100,83,59,160,13,52,51,59,7,7, + 7,7,7,7,7,7,7,7,7,120, + 151,110,36,111,79,79,19,155,19,160, + 34,160,160,106,40,7,111,124,160,149, + 159,34,34,34,34,34,7,19,7,34, + 36,34,7,7,52,51,149,122,46,79, + 19,79,19,79,19,155,40,80,40,40, + 46,160,110,140,7,52,52,83,38,158, + 19,79,158,19,79,79,19,155,19,160, + 34,83,160,36,45,34,100,7,85,40, + 160,158,158,19,40,160,158,158,19,158, + 19,79,160,155,19,40,36,65,56,52, + 100,7,40,40,160,40,160,158,40,40, + 160,40,160,158,40,160,158,158,19,40, + 160,52,40,40,40,160,40,40,40,160, + 40,40,160,40,160,158,40,40,40,40, + 40,40,160,40 }; }; public final static char nasb[] = Nasb.nasb; @@ -1511,22 +1548,23 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasr { public final static char nasr[] = {0, - 87,86,85,84,83,82,7,0,1,43, - 0,1,2,0,113,0,118,0,105,0, - 40,1,101,87,86,85,84,83,82,0, - 1,33,50,18,0,40,42,0,13,20, - 1,21,0,91,7,1,0,116,33,1, - 0,1,7,39,0,92,0,1,107,0, - 35,0,33,1,103,0,51,0,33,50, - 2,1,14,0,72,0,1,45,69,0, - 79,1,45,0,33,1,117,0,115,0, - 1,33,20,95,13,0,20,13,73,43, - 33,1,0,47,40,1,0,1,33,58, - 0,10,1,40,47,63,62,0,74,75, - 76,77,66,52,0,1,42,49,40,47, - 0,44,1,10,0,10,62,63,1,0, - 109,1,33,0,80,0,1,45,14,0, - 33,50,1,65,0 + 88,87,86,85,84,83,7,0,106,0, + 120,0,81,0,41,43,0,1,2,0, + 33,1,119,0,41,1,102,88,87,86, + 85,84,83,0,1,40,0,115,0,12, + 18,1,19,0,92,72,7,1,0,1, + 7,39,0,51,0,7,72,0,35,0, + 33,1,104,0,113,0,1,45,69,0, + 118,33,1,0,93,0,33,50,2,1, + 14,0,73,0,117,0,1,33,50,17, + 0,80,1,45,0,1,33,18,96,12, + 0,110,1,33,0,18,12,74,40,33, + 1,0,1,45,14,0,1,108,0,10, + 1,41,47,63,62,0,75,76,77,78, + 66,52,0,1,43,49,41,47,0,47, + 41,1,0,10,62,63,1,0,1,33, + 58,0,33,50,1,65,0,44,1,10, + 0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1553,17 +1591,18 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, 0,112,0,0,0,0,114,118,119,110, - 120,121,137,113,122,123,124,136,125,132, - 135,0,0,0,0,0,0,126,127,128, - 129,130,141,131,149,0,0,0,109,170, - 0,173,111,196,162,167,169,0,171,140, + 120,137,121,113,122,123,136,132,135,0, + 0,0,0,0,0,124,125,126,127,128, + 129,130,141,131,149,0,0,0,109,111, + 170,0,173,196,162,167,169,0,171,140, 172,148,0,0,0,159,134,168,116,181, 184,185,186,0,0,151,158,0,161,174, - 180,0,139,152,153,154,155,0,160,179, - 183,143,144,145,146,147,150,156,157,166, - 187,115,117,133,138,142,164,0,0,165, - 175,178,192,0,194,0,0,163,176,177, - 182,188,189,0,190,191,193,195,0 + 180,0,0,139,152,153,154,155,0,160, + 179,183,143,144,145,146,147,150,156,157, + 166,187,115,117,133,138,142,164,0,0, + 165,175,178,192,0,194,0,0,163,176, + 177,182,0,188,189,0,190,191,193,195, + 0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1571,12 +1610,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 218,118,57,67,125,145,151,188,26,33, - 85,103,157,162,73,6,12,16,38,81, - 50,135,197,214,233,237,50,50,201,50, - 1,1,1,42,45,90,113,45,241,20, - 139,208,179,208,131,167,167,167,167,167, - 93,93,93 + 222,120,59,69,129,149,155,26,192,35, + 87,105,161,166,75,6,12,16,40,83, + 52,139,201,218,237,241,52,52,205,52, + 1,1,1,44,47,92,115,47,245,20, + 143,212,183,212,135,171,171,171,171,171, + 95,95,95 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1584,12 +1623,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 31,31,4,4,31,31,31,194,31,10, - 4,10,31,31,78,10,10,10,10,4, - 4,133,31,10,10,4,54,78,205,63, - 4,4,4,10,48,4,10,116,10,23, - 142,211,182,226,133,169,171,173,175,177, - 100,95,108 + 127,127,4,4,127,127,127,32,198,10, + 4,10,127,127,80,10,10,10,10,4, + 4,137,127,10,10,4,56,80,209,65, + 4,4,4,10,50,4,10,118,10,23, + 146,215,186,230,137,173,175,177,179,181, + 102,97,110 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -1597,12 +1636,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 7,76,51,51,76,74,74,24,67,64, - 51,42,74,74,51,8,8,8,64,51, - 51,69,18,8,7,7,51,51,32,51, - 118,115,114,62,81,51,40,56,5,91, - 69,9,25,7,69,86,85,84,83,82, - 42,49,42 + 7,77,51,51,77,75,75,67,22,64, + 51,43,75,75,51,8,8,8,64,51, + 51,69,17,8,7,7,51,51,32,51, + 120,117,116,62,82,51,41,56,5,92, + 69,9,23,7,69,87,86,85,84,83, + 43,49,43 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -1610,7 +1649,7 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 71,71,78,78,71,71,71,93,71,73, + 71,71,78,78,71,71,71,71,93,73, 78,73,71,71,13,73,73,73,73,78, 78,25,71,73,73,78,5,13,74,49, 78,78,78,73,2,78,73,1,73,75, @@ -1623,12 +1662,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeStateSet { public final static char scopeStateSet[] = { - 60,143,49,49,143,143,143,12,121,53, - 49,129,143,143,49,60,60,60,53,49, - 49,5,11,60,60,60,49,49,94,49, - 127,1,3,53,55,49,129,134,60,123, - 5,66,12,60,5,144,144,144,144,144, - 129,131,129 + 62,145,51,51,145,145,145,123,12,55, + 51,131,145,145,51,62,62,62,55,51, + 51,5,11,62,62,62,51,51,96,51, + 129,1,3,55,57,51,131,136,62,125, + 5,68,12,62,5,146,146,146,146,146, + 131,133,131 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -1637,30 +1676,30 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, 164,67,0,109,0,166,2,24,0,110, - 0,166,2,23,0,166,2,22,0,219, - 108,0,31,158,0,179,200,108,6,0, - 111,0,177,108,2,169,0,177,108,2, - 0,188,2,0,165,108,0,184,0,209, - 108,67,0,9,109,0,141,49,209,108, - 67,0,69,131,109,0,141,209,108,49, - 67,0,209,108,49,67,0,131,109,0, - 141,49,67,0,141,209,108,67,0,141, - 67,0,147,0,2,0,176,110,0,2, - 110,0,177,108,2,147,0,2,0,174, - 110,0,163,2,0,167,0,179,206,108, - 6,120,68,0,179,206,108,6,68,0, - 152,0,112,0,215,108,152,0,108,152, - 0,163,112,0,185,108,6,120,70,0, - 185,108,6,120,69,0,185,108,6,70, - 0,185,108,6,69,0,194,0,155,0, - 154,0,153,0,152,0,151,0,128,32, - 0,77,2,113,110,112,0,128,117,121, - 2,35,0,53,135,0,202,108,6,0, - 121,96,138,0,29,130,0,166,2,0, - 110,119,0,166,2,12,0,179,200,108, - 6,117,166,2,0,110,3,0,117,0, - 111,0,214,2,114,0,121,67,114,0, - 121,2,0 + 0,166,2,23,0,166,2,22,0,221, + 108,0,31,158,0,180,201,108,6,179, + 0,111,0,0,177,108,2,169,0,177, + 108,2,0,189,2,0,165,108,0,184, + 0,210,108,67,0,9,109,0,141,49, + 210,108,67,0,69,131,109,0,141,210, + 108,49,67,0,210,108,49,67,0,131, + 109,0,141,49,67,0,141,210,108,67, + 0,141,67,0,148,0,2,0,176,110, + 0,2,110,0,177,108,2,148,0,2, + 0,174,110,0,163,2,0,167,0,180, + 207,108,6,119,68,0,111,0,180,207, + 108,6,68,0,152,0,112,0,216,108, + 152,0,108,152,0,163,112,0,186,108, + 6,119,70,0,186,108,6,119,69,0, + 186,108,6,70,0,186,108,6,69,0, + 195,0,155,0,154,0,153,0,152,0, + 151,0,126,32,0,77,2,113,110,112, + 0,126,117,121,2,35,0,53,135,0, + 203,108,6,0,121,96,138,0,29,130, + 0,166,2,0,110,119,0,166,2,12, + 0,180,201,108,6,117,166,2,0,110, + 3,0,117,0,111,0,215,2,114,0, + 121,67,114,0,121,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -1668,21 +1707,21 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 1059,0,385,0,1671,850,1533,1270,861,0, - 450,2847,2819,2791,2763,2735,2707,2679,2651,2623, - 2595,2567,2539,2511,2483,2455,2427,2399,2371,2343, - 2315,2287,2259,2231,2203,2175,2147,2119,2091,2063, - 2035,1709,2007,1673,567,1635,1597,0,1034,884, - 774,710,1603,560,1796,1909,1753,603,0,2123, - 2095,2067,2039,1713,833,1133,3189,1067,1863,1987, - 1940,2908,2875,3046,3033,3020,3007,2994,2922,3106, - 2977,2960,458,1496,1430,1397,1364,1232,866,1199, - 968,793,525,1577,1544,1511,1478,1445,1412,1758, - 1379,1346,1313,1280,1247,1214,1181,1148,1115,1082, - 1049,1016,881,983,848,815,359,950,641,739, - 917,775,601,547,507,0,399,0,542,419, - 1603,3056,1641,2899,1796,382,2855,1753,360,1887, - 1779,0,1848,651,359,419,0 + 1302,0,429,0,3044,901,3007,1519,1420,0, + 1400,2789,2763,2737,2711,2685,2659,2633,2607,2581, + 2555,2529,2503,2477,2451,2425,2399,2373,2347,2321, + 2295,2269,2243,2217,2191,2165,2139,2113,2087,2061, + 2035,2009,1741,804,733,1706,529,1672,1637,0, + 1052,1027,693,662,2827,712,1828,2999,1771,3003, + 0,3126,3114,2877,1793,1184,1118,1148,3025,1082, + 1836,1992,1946,474,2815,2963,2951,2939,2927,2913, + 2892,1049,376,2985,2975,1577,1478,1379,1346,1313, + 427,1280,1247,1214,983,1596,1563,1530,1497,1464, + 1431,1779,1398,1365,1332,1299,1266,1233,1200,1167, + 1134,1101,1068,1035,932,1002,899,866,362,969, + 650,830,783,692,603,555,508,0,372,0, + 401,418,2827,842,668,364,1828,2816,2797,1771, + 597,1893,1922,0,1850,694,362,418,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1690,44 +1729,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,213,108,140,223,208,189,47,190,191, - 70,69,192,68,193,194,108,2,1,147, - 108,6,67,120,6,120,6,6,120,165, - 5,163,108,147,154,2,217,208,203,196, - 149,108,156,108,164,2,24,23,22,12, + 0,214,108,140,225,209,190,47,191,192, + 70,69,193,68,194,195,108,2,1,148, + 108,6,67,119,6,119,6,6,119,165, + 5,163,108,148,154,2,218,209,204,197, + 150,108,156,108,164,2,24,23,22,12, 18,17,8,7,5,9,11,10,114,118, - 122,119,124,123,135,126,137,136,138,6, + 122,120,133,123,135,134,137,136,138,6, 108,6,108,108,6,5,108,165,2,67, - 108,108,72,75,165,202,40,38,41,39, + 108,108,72,75,165,203,40,38,41,39, 36,29,27,34,42,33,28,32,37,35, - 127,6,31,30,120,140,108,166,121,152, + 125,6,31,30,119,140,108,166,121,152, 5,2,2,2,2,2,94,80,2,67, 82,81,5,76,77,8,7,89,88,86, 85,84,83,90,9,92,91,96,95,108, - 185,152,108,186,108,185,206,120,207,108, - 108,187,108,49,141,108,115,5,177,140, - 178,224,6,156,149,4,121,108,121,121, - 121,120,2,2,2,128,2,2,108,164, - 74,108,201,1,3,117,108,2,170,169, - 166,166,166,166,166,214,121,119,119,118, - 118,123,123,122,122,122,122,126,124,136, - 135,121,137,185,108,185,179,75,72,206, - 187,216,108,141,209,187,106,105,104,102, - 103,101,100,99,98,97,75,2,108,72, - 108,157,109,121,157,172,121,28,121,121, - 202,72,6,165,188,108,2,117,117,117, - 117,117,74,215,74,163,179,72,209,49, - 141,5,108,165,200,108,109,121,109,121, - 109,172,109,117,2,117,117,108,177,108, - 72,74,141,141,179,72,219,80,67,220, - 109,121,109,109,121,109,109,121,109,172, - 121,128,200,177,75,164,80,67,117,151, - 109,109,121,117,151,109,109,121,109,121, - 109,172,109,117,93,179,164,117,117,151, - 117,151,109,117,117,151,117,151,109,117, - 151,109,109,121,117,172,117,117,117,151, - 117,117,117,151,117,117,151,117,151,109, - 117,117,117,117,117,117,151,117 + 186,152,108,187,108,186,207,119,208,108, + 108,188,108,49,141,108,115,5,177,140, + 178,226,6,179,156,150,4,121,108,121, + 121,121,119,2,2,2,126,2,2,108, + 74,164,74,108,202,1,3,117,108,2, + 170,169,166,166,166,166,166,215,121,120, + 120,118,118,123,123,122,122,122,122,134, + 133,136,135,121,137,186,108,186,180,75, + 72,207,188,217,108,141,210,188,106,105, + 104,102,103,101,100,99,98,97,75,2, + 108,72,108,6,157,109,121,157,172,121, + 28,121,121,203,74,72,6,165,189,108, + 2,117,117,117,117,117,74,216,74,163, + 180,72,210,49,141,5,108,165,108,109, + 121,109,121,109,172,109,117,2,117,117, + 108,177,108,72,74,141,141,201,108,109, + 121,109,109,121,109,109,121,109,172,121, + 126,201,177,180,72,221,80,67,222,117, + 151,109,109,121,117,151,109,109,121,109, + 121,109,172,109,117,93,180,147,75,164, + 80,67,117,117,151,117,151,109,117,117, + 151,117,151,109,117,151,109,109,121,117, + 172,164,117,117,117,151,117,117,117,151, + 117,117,151,117,151,109,117,117,117,117, + 117,117,151,117 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1954,20 +1994,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 378, + NUM_STATES = 384, NT_OFFSET = 107, - LA_STATE_OFFSET = 3738, + LA_STATE_OFFSET = 3773, MAX_LA = 2147483647, - NUM_RULES = 358, - NUM_NONTERMINALS = 119, - NUM_SYMBOLS = 226, + NUM_RULES = 361, + NUM_NONTERMINALS = 121, + NUM_SYMBOLS = 228, SEGMENT_SIZE = 8192, - START_STATE = 626, + START_STATE = 918, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 87, EOLT_SYMBOL = 87, - ACCEPT_ACTION = 3352, - ERROR_ACTION = 3380; + ACCEPT_ACTION = 3384, + ERROR_ACTION = 3412; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java index c986a62f790..593f1aea605 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParser.java @@ -24,6 +24,7 @@ import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; import org.eclipse.cdt.core.dom.lrparser.action.ITokenMap; import org.eclipse.cdt.core.dom.lrparser.action.TokenMap; +import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; import org.eclipse.cdt.core.dom.lrparser.action.c99.C99BuildASTParserAction; import org.eclipse.cdt.core.dom.parser.upc.UPCASTNodeFactory; @@ -32,7 +33,6 @@ import org.eclipse.cdt.core.dom.upc.ast.IUPCASTKeywordExpression; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTSynchronizationStatement; import org.eclipse.cdt.core.dom.upc.ast.IUPCASTUnarySizeofExpression; import org.eclipse.cdt.core.dom.lrparser.lpgextensions.FixedBacktrackingParser; -import org.eclipse.cdt.internal.core.dom.parser.c.CNodeFactory; public class UPCSizeofExpressionParser extends PrsStream implements RuleAction , IParserActionTokenProvider, IParser { @@ -176,8 +176,9 @@ private UPCParserAction action; public UPCSizeofExpressionParser() { // constructor } -private void initActions(IASTTranslationUnit tu) { +private void initActions(IASTTranslationUnit tu, Set<IParser.Options> options) { action = new UPCParserAction ( UPCASTNodeFactory.DEFAULT_INSTANCE , this, tu); + action.setParserOptions(options); } @@ -187,10 +188,10 @@ public void addToken(IToken token) { } -public IASTCompletionNode parse(IASTTranslationUnit tu) { +public IASTCompletionNode parse(IASTTranslationUnit tu, Set<IParser.Options> options) { // this has to be done, or... kaboom! setStreamLength(getSize()); - initActions(tu); + initActions(tu, options); final int errorRepairCount = -1; // -1 means full error handling parser(null, errorRepairCount); // do the actual parse @@ -596,13 +597,13 @@ public UPCSizeofExpressionParser(String[] mapFrom) { // constructor } // - // Rule 101: labeled_statement ::= case constant_expression : + // Rule 101: labeled_statement ::= case constant_expression : statement // case 101: { action. consumeStatementCase(); break; } // - // Rule 102: labeled_statement ::= default : + // Rule 102: labeled_statement ::= default : statement // case 102: { action. consumeStatementDefault(); break; } @@ -1160,363 +1161,381 @@ public UPCSizeofExpressionParser(String[] mapFrom) { // constructor } // - // Rule 278: initializer ::= { <openscope-ast> initializer_list comma_opt } + // Rule 278: initializer ::= start_initializer_list { <openscope-ast> initializer_list comma_opt } end_initializer_list // case 278: { action. consumeInitializerList(); break; } // - // Rule 283: designated_initializer ::= <openscope-ast> designation = initializer + // Rule 279: initializer ::= { <openscope-ast> } + // + case 279: { action. consumeInitializerList(); break; + } + + // + // Rule 280: start_initializer_list ::= $Empty + // + case 280: { action. initializerListStart(); break; + } + + // + // Rule 281: end_initializer_list ::= $Empty + // + case 281: { action. initializerListEnd(); break; + } + + // + // Rule 286: designated_initializer ::= <openscope-ast> designation = initializer // - case 283: { action. consumeInitializerDesignated(); break; + case 286: { action. consumeInitializerDesignated(); break; } // - // Rule 287: designator_base ::= [ constant_expression ] + // Rule 290: designator_base ::= [ constant_expression ] // - case 287: { action. consumeDesignatorArray(); break; + case 290: { action. consumeDesignatorArray(); break; } // - // Rule 288: designator_base ::= . identifier_or_typedefname + // Rule 291: designator_base ::= . identifier_or_typedefname // - case 288: { action. consumeDesignatorField(); break; + case 291: { action. consumeDesignatorField(); break; } // - // Rule 289: designator ::= [ constant_expression ] + // Rule 292: designator ::= [ constant_expression ] // - case 289: { action. consumeDesignatorArray(); break; + case 292: { action. consumeDesignatorArray(); break; } // - // Rule 290: designator ::= . identifier_or_typedefname + // Rule 293: designator ::= . identifier_or_typedefname // - case 290: { action. consumeDesignatorField(); break; + case 293: { action. consumeDesignatorField(); break; } // - // Rule 291: translation_unit ::= external_declaration_list + // Rule 294: translation_unit ::= external_declaration_list // - case 291: { action. consumeTranslationUnit(); break; + case 294: { action. consumeTranslationUnit(); break; } // - // Rule 292: translation_unit ::= $Empty + // Rule 295: translation_unit ::= $Empty // - case 292: { action. consumeTranslationUnit(); break; + case 295: { action. consumeTranslationUnit(); break; } // - // Rule 297: external_declaration ::= ; + // Rule 300: external_declaration ::= ; // - case 297: { action. consumeDeclarationEmpty(); break; + case 300: { action. consumeDeclarationEmpty(); break; } // - // Rule 298: external_declaration ::= ERROR_TOKEN + // Rule 301: external_declaration ::= ERROR_TOKEN // - case 298: { action. consumeDeclarationProblem(); break; + case 301: { action. consumeDeclarationProblem(); break; } // - // Rule 301: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body + // Rule 304: function_definition ::= declaration_specifiers <openscope-ast> function_declarator function_body // - case 301: { action. consumeFunctionDefinition(true); break; + case 304: { action. consumeFunctionDefinition(true); break; } // - // Rule 302: function_definition ::= <openscope-ast> function_declarator function_body + // Rule 305: function_definition ::= <openscope-ast> function_declarator function_body // - case 302: { action. consumeFunctionDefinition(false); break; + case 305: { action. consumeFunctionDefinition(false); break; } // - // Rule 303: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement + // Rule 306: function_definition ::= declaration_specifiers <openscope-ast> knr_function_declarator <openscope-ast> declaration_list compound_statement // - case 303: { action. consumeFunctionDefinitionKnR(); break; + case 306: { action. consumeFunctionDefinitionKnR(); break; } // - // Rule 304: function_body ::= { } + // Rule 307: function_body ::= { } // - case 304: { action. consumeStatementCompoundStatement(false); break; + case 307: { action. consumeStatementCompoundStatement(false); break; } // - // Rule 305: function_body ::= { <openscope-ast> block_item_list } + // Rule 308: function_body ::= { <openscope-ast> block_item_list } // - case 305: { action. consumeStatementCompoundStatement(true); break; + case 308: { action. consumeStatementCompoundStatement(true); break; } // - // Rule 307: no_sizeof_type_name_start ::= ERROR_TOKEN + // Rule 310: no_sizeof_type_name_start ::= ERROR_TOKEN // - case 307: { action. consumeExpressionProblem(); break; + case 310: { action. consumeExpressionProblem(); break; } // - // Rule 308: literal ::= MYTHREAD + // Rule 311: literal ::= MYTHREAD // - case 308: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 311: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 309: literal ::= THREADS + // Rule 312: literal ::= THREADS // - case 309: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 312: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 310: literal ::= UPC_MAX_BLOCKSIZE + // Rule 313: literal ::= UPC_MAX_BLOCKSIZE // - case 310: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 313: { action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 311: unary_expression ::= upc_localsizeof unary_expression + // Rule 314: unary_expression ::= upc_localsizeof unary_expression // - case 311: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; + case 314: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_localsizeof); break; } // - // Rule 312: unary_expression ::= upc_blocksizeof unary_expression + // Rule 315: unary_expression ::= upc_blocksizeof unary_expression // - case 312: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; + case 315: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_blocksizeof); break; } // - // Rule 313: unary_expression ::= upc_elemsizeof unary_expression + // Rule 316: unary_expression ::= upc_elemsizeof unary_expression // - case 313: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; + case 316: { action. consumeExpressionUnarySizeofOperator(IUPCASTUnarySizeofExpression.upc_elemsizeof); break; } // - // Rule 317: shared_type_qualifier ::= shared + // Rule 320: shared_type_qualifier ::= shared // - case 317: { action. consumeToken(); break; + case 320: { action. consumeToken(); break; } // - // Rule 318: reference_type_qualifier ::= relaxed + // Rule 321: reference_type_qualifier ::= relaxed // - case 318: { action. consumeToken(); break; + case 321: { action. consumeToken(); break; } // - // Rule 319: reference_type_qualifier ::= strict + // Rule 322: reference_type_qualifier ::= strict // - case 319: { action. consumeToken(); break; + case 322: { action. consumeToken(); break; } // - // Rule 320: layout_qualifier ::= [ constant_expression ] + // Rule 323: layout_qualifier ::= [ constant_expression ] // - case 320: { action. consumeLayoutQualifier(true, false); break; + case 323: { action. consumeLayoutQualifier(true, false); break; } // - // Rule 321: layout_qualifier ::= [ * ] + // Rule 324: layout_qualifier ::= [ * ] // - case 321: { action. consumeLayoutQualifier(false, true); break; + case 324: { action. consumeLayoutQualifier(false, true); break; } // - // Rule 322: layout_qualifier ::= [ ] + // Rule 325: layout_qualifier ::= [ ] // - case 322: { action. consumeLayoutQualifier(false, false); break; + case 325: { action. consumeLayoutQualifier(false, false); break; } // - // Rule 324: synchronization_statement ::= upc_notify expression ; + // Rule 327: synchronization_statement ::= upc_notify expression ; // - case 324: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 325: synchronization_statement ::= upc_notify ; + // Rule 328: synchronization_statement ::= upc_notify ; // - case 325: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 326: synchronization_statement ::= upc_wait expression ; + // Rule 329: synchronization_statement ::= upc_wait expression ; // - case 326: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 327: synchronization_statement ::= upc_wait ; + // Rule 330: synchronization_statement ::= upc_wait ; // - case 327: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 328: synchronization_statement ::= upc_barrier expression ; + // Rule 331: synchronization_statement ::= upc_barrier expression ; // - case 328: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 331: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 329: synchronization_statement ::= upc_barrier ; + // Rule 332: synchronization_statement ::= upc_barrier ; // - case 329: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 332: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 330: synchronization_statement ::= upc_fence ; + // Rule 333: synchronization_statement ::= upc_fence ; // - case 330: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 333: { action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 331: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 331: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 334: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 332: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 335: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 332: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 335: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 333: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 336: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 333: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 336: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 334: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 337: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 334: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 337: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 335: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 338: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 335: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 338: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 336: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 339: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 336: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 339: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 337: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 340: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 337: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 340: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 338: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 341: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 338: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 341: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 339: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 342: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 339: { action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 342: { action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 340: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 343: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 340: { action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 343: { action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 341: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 344: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 341: { action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 344: { action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 342: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 345: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 342: { action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 345: { action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 343: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 346: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 343: { action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 346: { action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 344: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 347: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 344: { action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 347: { action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 345: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 348: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 345: { action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 348: { action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 346: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 349: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 346: { action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 349: { action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 347: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 347: { action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 350: { action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 348: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 351: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 348: { action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 351: { action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 349: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 352: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 349: { action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 352: { action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 350: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 353: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 350: { action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 353: { action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 351: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 354: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 351: { action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 354: { action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 352: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement + // Rule 355: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 352: { action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 355: { action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 353: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement + // Rule 356: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 353: { action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 356: { action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 354: iteration_statement ::= upc_forall ( declaration ; ; ) statement + // Rule 357: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 354: { action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 357: { action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 356: affinity ::= continue + // Rule 359: affinity ::= continue // - case 356: { action. consumeToken(); break; + case 359: { action. consumeToken(); break; } diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java index 06762d0bdf5..f18ccfbc322 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParserprs.java @@ -45,7 +45,7 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 1,5,1,3,3,3,3,3,3,3, 3,3,3,3,1,1,2,1,0,1, 3,1,1,1,1,1,1,1,1,3, - 3,2,2,4,1,2,1,1,1,2, + 4,3,2,4,1,2,1,1,1,2, 5,7,5,1,0,7,5,9,8,3, 2,2,2,3,2,4,2,2,2,2, 2,1,1,1,1,2,1,2,2,2, @@ -62,156 +62,158 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 6,6,3,5,1,1,2,3,4,1, 2,1,3,1,1,3,2,1,1,1, 1,2,1,2,3,1,1,1,3,1, - 2,2,2,3,4,5,1,5,1,1, - 3,3,4,1,1,2,3,2,3,2, - 1,0,1,2,1,1,1,1,1,2, - 4,3,6,2,4,1,1,1,1,1, - 2,2,2,1,1,2,1,1,1,3, - 3,2,1,3,2,3,2,3,2,2, - 11,10,10,9,10,9,9,8,10,9, - 9,8,9,8,8,7,10,9,9,8, - 9,8,8,7,1,1,-39,0,0,0, - 0,0,0,0,0,-72,0,0,0,0, - 0,0,0,0,0,0,-2,0,0,0, - 0,-4,-17,-19,-77,0,0,0,0,0, - -126,0,0,0,0,0,0,0,0,0, + 2,2,2,3,4,5,1,7,3,0, + 0,1,1,3,3,4,1,1,2,3, + 2,3,2,1,0,1,2,1,1,1, + 1,1,2,4,3,6,2,4,1,1, + 1,1,1,2,2,2,1,1,2,1, + 1,1,3,3,2,1,3,2,3,2, + 3,2,2,11,10,10,9,10,9,9, + 8,10,9,9,8,9,8,8,7,10, + 9,9,8,9,8,8,7,1,1,-39, + 0,0,0,0,0,0,0,0,-72,0, + 0,0,0,0,0,0,0,0,0,-2, + 0,0,0,0,-4,-17,-32,-19,0,0, + 0,0,0,-126,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-5,0,0,0,0,0,0, - 0,0,0,-6,0,0,0,0,0,0, - 0,0,0,0,0,0,-3,0,0,0, + 0,0,0,0,-186,0,-9,0,0,0, + 0,0,0,0,0,0,0,-5,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-20,-21,0,-22, - -23,-24,0,-177,0,0,0,0,0,0, + -36,0,-6,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-172,0,0,0,0,0,0, + 0,0,0,-200,-33,0,0,-198,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-7,0,0,0,0,0,0, - -40,0,0,0,0,0,0,0,0,-25, - -26,-27,-51,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-28,-29,0,-52, - 0,0,0,0,0,0,0,0,-74,0, - 0,0,-75,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-173,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-135,-111,0,0,0,0,0, + 0,0,0,0,0,0,0,-109,-212,-83, + -84,-147,-37,-57,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-89,0, - -90,-78,-32,0,0,0,0,-192,0,0, - 0,0,0,0,0,0,-91,0,0,0, + 0,-20,-21,0,0,0,0,0,0,0, + 0,-80,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-22,0,-75,0,0, 0,0,0,0,0,0,0,0,0,0, - -8,0,0,0,0,0,0,0,0,0, - -9,0,0,0,0,0,0,0,0,0, - 0,0,0,-118,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-135,-111, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-131,0,0,0,0,0, - 0,0,0,-92,0,0,0,0,0,0, - 0,0,0,0,0,-93,0,-30,0,0, - 0,0,0,0,0,0,-112,0,0,0, - 0,0,0,0,0,0,0,-59,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-60,0,0, - 0,0,0,0,0,0,-130,0,0,0, - 0,0,0,0,0,0,0,-61,0,0, + 0,0,0,0,0,0,-192,-23,0,0, + 0,0,-194,0,0,0,0,0,0,0, + 0,-74,0,0,0,0,0,0,0,0, + 0,0,0,-24,0,0,-77,0,-81,-70, + -71,-25,0,0,0,0,-114,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-62,0,0, - 0,0,0,0,0,0,-138,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,-64,0,0, - 0,0,0,0,0,0,-153,0,0,0, - 0,0,0,0,0,0,0,-65,0,0, + 0,0,0,-146,0,0,-3,0,0,0, + 0,0,0,0,0,-112,0,0,0,0, + 0,0,0,0,0,0,-118,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-66,0,0, - 0,0,0,0,0,0,-179,0,0,0, - 0,0,0,0,0,0,0,-67,0,0, + 0,0,0,0,0,-115,0,-131,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-68,0,0, - 0,0,0,0,0,0,-94,0,0,0, - 0,0,0,0,0,0,0,-69,0,0, - 0,0,0,0,0,0,-147,0,0,0, - 0,0,0,0,0,0,0,-151,0,0, - 0,0,0,0,0,0,-95,0,0,0, - 0,0,0,0,0,0,0,-152,0,0, - 0,0,0,0,0,0,-146,0,0,0, - 0,0,0,0,0,0,0,-175,0,0, - 0,0,0,0,0,0,-83,0,0,0, - 0,0,0,0,0,0,-189,0,0,0, - 0,0,0,0,0,-167,0,0,0,0, + 0,0,0,0,0,0,0,0,-26,0, + 0,-30,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-49,0,0,0,0,0,0,0,0, + 0,-59,0,0,0,0,0,0,0,0, + -130,0,0,0,0,0,0,0,0,0, + 0,-60,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-61,0,0,0,0,0,0,0,0, + -138,0,0,0,0,0,0,0,0,0, + 0,-62,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-63,0,0,0,0,0,0,0,0, + -154,0,0,0,0,0,0,0,0,0, + 0,-64,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-65,0,0,0,0,0,0,0,0, + -181,0,0,0,0,0,0,0,0,0, + 0,-66,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-67,0,0,0,0,0,0,0,0, + -182,0,0,0,0,0,0,0,0,0, + 0,-68,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-69,0,0,0,0,0,0,0,0, -195,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-199, + 0,-152,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-96,-97, - -33,-158,-191,0,-50,0,0,0,0,0, - 0,0,0,-209,0,0,0,0,0,0, + 0,-153,0,0,0,0,0,0,0,0, + -159,0,0,0,0,0,0,0,0,0, + 0,-176,0,0,0,0,0,0,0,0, + -86,0,0,0,0,0,0,0,0,0, + -191,0,0,0,0,0,0,0,0,-168, 0,0,0,0,0,0,0,0,0,0, - 0,0,-125,0,0,0,0,0,0,0, - 0,-98,0,0,0,0,0,0,0,0, - 0,-134,0,-99,-84,0,0,-100,-128,-101, - 0,-57,0,0,0,0,0,0,0,0, + -193,0,-207,-204,0,-49,0,0,0,0, + 0,0,0,0,-197,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-155,-117,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-162, - 0,-41,0,0,0,0,0,0,0,0, - 0,0,-180,0,-196,-86,-36,-159,0,0, + 0,0,0,-201,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, - 0,0,-88,0,0,-37,0,-58,0,0, - 0,0,0,0,0,0,-174,0,0,0, - 0,0,0,0,0,0,0,0,-194,0, - 0,-81,0,0,0,0,-54,0,0,0, + 0,0,-27,0,0,0,-28,0,-50,0, + 0,0,0,0,0,0,0,-211,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-184,0,0,0,0,0,0,0,-102, - -103,0,0,0,0,0,0,0,0,-55, + 0,0,0,0,0,0,-125,0,0,0, + 0,0,0,0,0,-175,0,0,0,0, + 0,0,0,0,0,-134,-133,-29,-215,-163, + 0,-89,-113,-90,0,-58,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-82,-186,-76,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-208, - -108,-70,-183,-71,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-115,-133,0, + 0,0,0,0,0,0,0,0,-156,-117, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-108,0,-7,0,0,0,0, + 0,-76,0,0,0,0,-91,0,-92,-78, + 0,-157,0,0,0,0,0,0,0,0, + -88,-177,0,0,0,0,0,0,0,-8, 0,0,0,0,0,0,0,0,0,0, - 0,-104,0,0,-190,-79,-166,0,0,-53, - 0,0,0,0,0,0,0,0,-105,0, - 0,-110,-106,-120,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-82, + 0,0,0,0,-54,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-188, + 0,0,0,0,0,-93,0,-206,0,0, + 0,0,0,-94,0,0,0,0,-55,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,-110,-210,0,0,0,0,0,0, + 0,0,0,-95,-96,-97,0,-98,0,-51, + 0,0,0,0,0,0,0,0,-161,0, + 0,0,-15,0,0,0,0,0,0,0, + 0,0,0,0,0,-35,-120,-122,-99,-100, + 0,0,0,0,0,0,0,0,-52,0, + 0,0,0,0,0,0,0,-79,0,0, + -53,0,0,0,0,0,0,0,0,-101, + 0,0,-167,-123,0,0,-127,0,0,0, + 0,0,0,0,-102,0,-103,0,0,0, 0,-45,0,0,0,0,0,0,0,0, - -80,0,-10,0,0,0,0,0,0,0, - -210,0,-46,0,0,0,0,0,0,0, - 0,0,0,-47,0,0,0,0,0,0, - 0,0,-85,0,-48,0,0,0,0,0, - 0,0,0,-201,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-107,-38,-122, - -123,-127,0,0,0,0,-87,0,0,0, - 0,-114,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-140,0,0,0, - 0,0,0,-119,0,0,0,0,0,0, - -132,-121,0,0,0,0,-139,0,0,0, - 0,0,0,-154,0,0,0,0,0,0, - 0,0,0,0,0,-124,0,-16,0,0, - 0,0,0,0,-11,0,0,0,0,0, - 0,-12,0,0,0,0,0,0,-13,0, - 0,0,0,0,0,-14,0,0,0,0, - 0,0,-18,-31,-42,0,0,0,0,0, - 0,0,0,-43,0,0,0,0,0,0, - -44,0,0,0,0,0,0,-193,0,0, - -142,-176,-145,-148,-163,-136,0,0,-113,0, - -116,0,0,0,0,0,-129,0,-168,0, - 0,0,-73,0,0,0,0,0,0,0, - 0,0,0,-141,-169,-171,0,0,0,0, - 0,-160,0,0,0,-34,-143,-1,-161,-173, - -204,-165,-156,-181,0,0,0,0,-200,0, - 0,0,0,0,-211,0,0,0,0,0, - 0,0,0,0,0,-109,0,0,0,0, - 0,0,0,0,-182,0,-157,0,-197,0, - 0,0,0,0,0,0,0,0,0,-185, - 0,0,0,0,0,0,0,-137,0,0, - 0,-187,-144,0,0,-170,0,-198,-188,0, - 0,0,0,0,-202,0,0,0,-164,-149, - 0,0,0,0,-150,0,0,0,0,0, - 0,0,-206,0,0,0,0,0,-178,0, + 0,0,-46,0,0,0,0,0,0,0, + 0,0,0,0,-47,0,0,0,0,0, + 0,0,0,-85,0,-48,0,0,0,0, + 0,0,0,0,-203,0,-10,0,0,0, + 0,0,0,0,0,0,0,0,-104,-38, + -105,-106,-107,0,0,0,0,-87,0,-40, + 0,0,0,0,0,0,0,-183,-164,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-140,0,-119,-121,-124,0,0,0, + 0,0,0,0,0,0,0,-41,0,0, + 0,0,0,0,0,-16,0,0,0,0, + 0,0,-139,0,0,0,0,0,0,-155, + 0,0,0,0,0,0,-142,-145,-148,-136, + -149,-169,0,-170,-174,0,0,0,0,0, + -11,0,0,0,0,0,0,-12,0,0, + 0,0,0,0,-13,0,0,0,0,0, + 0,-14,0,0,0,0,0,0,-18,-31, + -42,0,0,0,0,0,0,0,0,-43, + 0,0,0,0,0,0,-44,0,0,0, + 0,0,0,-202,0,0,-214,-56,-179,-116, + -1,0,0,0,-141,-129,0,0,0,0, + 0,0,-128,0,0,-196,0,0,-73,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-158,0,0,0,0,-143,0,0, + 0,0,0,-162,0,0,0,-166,0,-144, + 0,0,0,0,0,-171,0,-184,0,0, + 0,0,0,0,-172,0,0,0,0,0, + -199,0,0,0,-208,0,-137,0,0,0, + 0,0,-185,0,0,0,0,0,0,-150, 0,0,0,0,0,0,0,0,0,0, - -203,0,0,-205,-35,-56,0,0,0,0, - 0,0,0,0,0,0,0,-207,0,0, + 0,0,0,-132,0,0,-34,0,0,0, + 0,0,0,0,0,0,0,0,0,-151, + 0,-165,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-160,0,0,0, + 0,0,0,0,-180,0,-178,0,0,0, + -187,-189,-190,-205,0,0,-213,-209,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, @@ -225,189 +227,191 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface BaseAction { public final static char baseAction[] = { - 85,9,20,20,25,25,28,28,69,69, + 86,9,20,20,25,25,28,28,70,70, 1,1,1,1,2,2,2,3,3,4, - 4,4,4,4,4,4,4,53,53,70, - 70,5,5,5,5,5,5,5,5,5, + 4,4,4,4,4,4,4,53,53,71, + 71,5,5,5,5,5,5,5,5,5, 5,6,6,7,7,7,7,8,8,8, 10,10,10,11,11,11,11,11,12,12, 12,13,13,14,14,15,15,16,16,17, 17,18,18,19,19,19,19,19,19,19, - 19,19,19,19,19,96,48,42,86,86, - 73,73,43,97,97,97,97,97,97,97, - 98,98,98,99,99,104,104,105,105,100, - 100,101,101,101,107,107,102,102,102,102, - 103,103,103,103,103,106,106,26,26,26, - 26,26,30,30,30,79,79,74,74,74, - 74,75,75,75,76,76,76,77,77,77, - 78,78,78,108,108,109,109,110,31,33, + 19,19,19,19,19,98,48,42,87,87, + 74,74,43,99,99,99,99,99,99,99, + 100,100,100,101,101,106,106,107,107,102, + 102,103,103,103,109,109,104,104,104,104, + 105,105,105,105,105,108,108,26,26,26, + 26,26,30,30,30,80,80,75,75,75, + 75,76,76,76,77,77,77,78,78,78, + 79,79,79,110,110,111,111,112,31,33, 33,33,33,33,54,56,56,56,56,56, - 56,56,56,56,56,56,56,66,66,29, - 29,63,63,63,63,64,64,64,57,57, - 58,58,50,50,50,34,87,87,80,81, - 81,81,65,65,82,82,83,83,67,67, + 56,56,56,56,56,56,56,67,67,29, + 29,64,64,64,64,65,65,65,57,57, + 58,58,50,50,50,34,88,88,81,82, + 82,82,66,66,83,83,84,84,68,68, 21,22,22,22,32,49,49,35,35,35, - 35,38,38,40,36,36,37,41,41,111, - 111,39,112,112,88,88,27,27,27,27, - 27,27,27,27,27,84,51,51,51,51, - 60,60,59,59,59,61,61,52,52,89, - 89,71,71,62,62,62,44,44,44,45, - 46,46,46,47,47,47,47,55,55,72, - 72,72,72,68,90,91,91,92,92,93, - 93,113,113,114,114,115,115,115,115,117, - 117,116,116,116,118,118,85,85,1,1, - 1,5,5,5,21,21,23,23,24,24, - 94,94,94,97,119,119,119,119,119,119, - 119,102,102,102,102,102,102,102,102,102, - 102,102,102,102,102,102,102,102,102,102, - 102,102,102,102,102,120,120,1,14,19, - 15,383,538,43,457,384,982,460,458,462, - 461,521,520,537,522,73,90,230,133,210, - 314,315,353,920,70,38,20,135,132,134, - 158,710,14,19,15,383,538,43,457,384, - 927,460,458,462,461,521,520,537,522,73, - 277,137,271,164,823,14,19,15,383,313, - 141,144,147,150,823,14,19,15,383,312, - 382,1356,1242,1294,1433,1467,1213,786,14,19, - 15,383,538,43,457,384,279,460,458,462, - 461,521,520,537,522,73,90,483,305,280, - 68,223,333,967,710,14,19,15,383,538, - 43,457,384,927,460,458,462,461,521,520, - 537,522,73,277,470,14,19,15,383,538, - 43,457,384,927,460,458,462,461,521,520, - 537,522,73,277,823,14,19,15,383,311, - 382,786,14,19,15,383,41,43,617,279, - 14,296,105,786,14,19,15,383,41,43, - 457,384,280,460,458,1124,1185,166,228,281, - 786,14,19,15,383,41,43,457,384,441, - 460,1128,282,394,14,19,15,383,538,43, - 457,384,1599,460,458,462,461,521,520,537, - 522,73,707,236,340,860,14,19,15,383, - 538,43,457,384,1607,460,458,462,461,521, - 520,537,522,73,747,133,210,314,315,897, - 1666,919,114,141,135,132,134,158,748,14, - 19,15,383,538,43,457,384,803,460,458, - 462,461,521,520,537,522,73,277,137,272, - 164,823,14,19,15,383,40,141,144,147, - 150,786,14,19,15,383,41,39,1356,1242, - 1294,1433,1467,1213,597,14,19,15,383,41, - 43,457,384,283,460,458,462,461,521,520, - 537,522,92,23,322,432,14,19,15,383, - 538,43,457,384,941,460,458,462,461,521, - 520,537,522,73,827,237,143,787,786,14, - 19,15,383,538,43,457,384,982,460,458, - 462,461,521,520,537,522,73,91,786,14, - 19,15,383,538,43,457,384,238,460,458, - 462,461,521,520,537,522,73,84,786,14, - 19,15,383,538,43,457,384,982,460,458, - 462,461,521,520,537,522,73,83,786,14, - 19,15,383,538,43,457,384,240,460,458, - 462,461,521,520,537,522,73,82,786,14, - 19,15,383,538,43,457,384,982,460,458, - 462,461,521,520,537,522,73,81,786,14, - 19,15,383,538,43,457,384,320,460,458, - 462,461,521,520,537,522,73,80,786,14, - 19,15,383,538,43,457,384,982,460,458, - 462,461,521,520,537,522,73,79,786,14, - 19,15,383,538,43,457,384,239,460,458, - 462,461,521,520,537,522,73,78,786,14, - 19,15,383,538,43,457,384,982,460,458, - 462,461,521,520,537,522,73,77,786,14, - 19,15,383,538,43,457,384,241,460,458, - 462,461,521,520,537,522,73,76,786,14, - 19,15,383,538,43,457,384,198,460,458, - 462,461,521,520,537,522,73,75,786,14, - 19,15,383,538,43,457,384,898,460,458, - 462,461,521,520,537,522,73,74,786,14, - 19,15,383,538,43,457,384,241,460,458, - 462,461,521,520,537,522,73,867,786,14, - 19,15,383,538,43,457,384,880,460,458, - 462,461,521,520,537,522,73,1183,786,14, - 19,15,383,41,43,457,384,317,460,458, - 462,461,521,520,537,522,92,786,14,19, - 15,383,41,43,457,384,946,460,458,462, - 461,521,520,537,522,92,1494,1640,1592,285, - 1626,1588,786,14,19,15,383,41,43,457, - 1070,786,14,19,15,383,41,43,457,384, - 209,460,458,462,461,521,520,537,522,92, - 786,14,19,15,383,41,43,457,384,1709, - 460,458,462,461,521,520,537,522,92,287, - 753,141,441,946,1641,786,14,19,15,383, - 41,43,457,1112,786,14,19,15,383,41, - 43,457,384,200,460,458,462,461,521,520, - 537,522,92,786,14,19,15,383,41,43, - 457,384,791,460,458,462,461,521,520,537, - 522,72,510,1262,544,374,1751,201,412,531, - 469,1072,786,14,19,15,383,41,43,457, - 384,22,460,458,462,461,521,520,1369,270, - 250,210,314,315,1502,400,754,215,1643,218, - 1677,220,221,226,1675,1698,263,602,385,268, - 983,259,786,14,19,15,383,41,43,684, - 273,274,270,982,260,880,652,716,935,1725, - 215,1643,218,1677,220,221,226,574,182,263, - 602,385,268,242,1644,823,14,19,15,383, - 33,257,1613,340,1122,1526,716,1328,786,14, - 19,15,383,41,43,457,384,755,460,458, - 462,461,521,1373,133,210,314,315,1754,755, - 256,16,71,136,132,134,158,786,14,19, - 15,383,41,43,457,384,288,460,458,462, - 461,1270,565,133,210,314,315,138,290,164, - 342,415,143,132,134,158,142,145,148,151, - 786,14,19,15,383,41,43,457,384,270, - 460,458,462,1271,128,727,438,216,1643,218, - 1677,220,221,226,1715,1601,265,602,385,268, - 727,6,716,754,716,133,210,314,315,1715, - 391,273,1679,270,146,132,134,158,716,716, - 215,1643,218,1677,220,221,226,1458,228,21, - 263,602,385,268,1649,215,1643,218,1677,220, - 221,226,580,269,275,755,509,983,1328,1649, - 786,14,19,15,383,41,43,457,384,522, - 460,1130,356,376,6,196,198,133,210,314, - 315,1129,1708,1624,1609,181,140,132,134,158, - 197,198,786,14,19,15,383,41,43,457, - 384,439,696,786,14,19,15,383,41,38, - 139,677,164,786,14,19,15,383,41,43, - 457,384,207,907,786,14,19,15,383,41, - 43,457,384,185,947,786,14,19,15,383, - 41,43,457,384,480,1069,216,1643,218,1677, - 220,221,226,1715,133,210,314,315,162,603, - 6,6,634,149,132,134,158,242,549,1637, - 1703,1720,559,14,19,15,383,41,35,215, - 1643,218,1677,220,221,226,270,6,133,210, - 314,315,243,1644,572,316,1639,152,132,134, - 158,944,610,263,602,385,268,559,14,19, - 15,383,41,35,559,14,19,15,383,41, - 35,262,251,210,314,315,646,321,823,14, - 19,15,383,32,244,786,14,19,15,383, - 41,37,786,14,19,15,383,41,36,786, - 14,19,15,383,41,35,786,14,19,15, - 383,41,34,6,6,786,14,19,15,383, - 41,46,357,357,786,14,19,15,383,41, - 45,786,14,19,15,383,41,44,982,195, - 195,6,948,6,6,280,489,1459,1459,531, - 1642,840,1706,464,1295,86,86,531,287,373, - 574,1216,1216,672,14,19,15,383,41,42, - 250,210,314,315,55,957,983,1122,250,210, - 314,315,716,574,1187,1312,680,112,635,169, - 654,982,283,718,716,437,574,437,574,692, - 195,574,1666,255,26,257,1822,276,1595,1501, - 1329,289,1596,195,193,195,604,1501,195,222, - 225,1595,1822,1595,190,840,1595,171,88,912, - 86,1170,1719,675,574,286,306,190,574,190, - 983,938,190,270,1357,1719,1690,1719,508,1702, - 1719,1122,983,576,224,1122,576,574,980,983, - 265,602,385,268,1822,441,1822,1822,184,226, - 531,1822,1314,377,1122,956,1262,255,574,1822, - 183,255,1609,716,1329,1609,1596,202,1733,968, - 1596,250,210,314,315,195,251,210,314,315, - 255,983,1822,1595,983,6,6,1632,227,1596, - 251,210,314,315,437,437,1411,1768,715,191, - 206,1822,1822,206,1822,1822,1822,192,1822,203, - 1739,1822,278,1822,1822,1006,1625,1822,1073,1625, - 1822,1822,1822,231,1822,1822,1822,86,86,1822, - 1822,1822,1822,366,1352,1822,0,317,654,0, - 17,178,0,18,177,0,1,2045,0,1, - 2056,0 + 35,38,38,40,36,36,37,41,41,113, + 113,39,114,114,89,89,27,27,27,27, + 27,27,27,27,27,85,51,51,51,51, + 60,60,59,59,59,61,61,52,52,90, + 90,72,72,62,62,62,44,44,44,45, + 46,46,46,47,47,47,47,55,55,55, + 63,91,73,73,73,73,69,92,93,93, + 94,94,95,95,115,115,116,116,117,117, + 117,117,119,119,118,118,118,120,120,86, + 86,1,1,1,5,5,5,21,21,23, + 23,24,24,96,96,96,99,121,121,121, + 121,121,121,121,104,104,104,104,104,104, + 104,104,104,104,104,104,104,104,104,104, + 104,104,104,104,104,104,104,104,122,122, + 1,14,19,15,386,1168,43,532,388,909, + 556,533,634,608,739,642,1117,1113,73,90, + 74,133,210,317,318,117,183,125,174,20, + 135,132,134,158,707,14,19,15,386,1168, + 43,532,388,512,556,533,634,608,739,642, + 1117,1113,73,277,137,509,164,821,14,19, + 15,386,41,39,141,144,147,150,858,14, + 19,15,386,316,385,1388,639,1270,1454,1488, + 1241,641,270,858,14,19,15,386,315,282, + 216,1232,218,1663,220,221,226,1561,23,265, + 1230,637,268,283,638,125,1649,674,783,14, + 19,15,386,1168,43,532,388,512,556,533, + 634,608,739,642,1117,1113,73,277,470,14, + 19,15,386,1168,43,532,388,512,556,533, + 634,608,739,642,1117,1113,73,277,354,674, + 564,577,225,641,821,14,19,15,386,41, + 43,532,388,282,556,533,634,608,739,642, + 1481,1561,68,188,192,270,22,283,16,1515, + 1516,1063,750,284,216,1232,218,1663,220,221, + 226,1561,265,1230,637,268,242,285,396,14, + 19,15,386,1168,43,532,388,1173,556,533, + 634,608,739,642,1117,1113,73,686,236,341, + 895,14,19,15,386,1168,43,532,388,1636, + 556,533,634,608,739,642,1117,1113,73,771, + 133,210,317,318,1565,1242,288,533,566,135, + 132,134,158,745,14,19,15,386,1168,43, + 532,388,353,556,533,634,608,739,642,1117, + 1113,73,277,137,250,164,1562,405,319,978, + 641,641,610,141,144,147,150,558,14,19, + 15,386,41,35,1388,639,1270,1454,1488,1241, + 133,210,317,318,271,1483,21,243,286,143, + 132,134,158,508,845,207,1561,821,14,19, + 15,386,1168,43,532,388,909,556,533,634, + 608,739,642,1117,1113,73,90,595,14,19, + 15,386,41,43,532,388,238,556,533,634, + 608,739,642,1117,1113,92,641,325,433,14, + 19,15,386,1168,43,532,388,1695,556,533, + 634,608,739,642,1117,1113,73,851,237,368, + 811,269,821,14,19,15,386,1168,43,532, + 388,385,556,533,634,608,739,642,1117,1113, + 73,91,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,84,821,14,19,15,386,1168,43,532, + 388,240,556,533,634,608,739,642,1117,1113, + 73,83,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,82,821,14,19,15,386,1168,43,532, + 388,323,556,533,634,608,739,642,1117,1113, + 73,81,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,80,821,14,19,15,386,1168,43,532, + 388,239,556,533,634,608,739,642,1117,1113, + 73,79,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,78,821,14,19,15,386,1168,43,532, + 388,241,556,533,634,608,739,642,1117,1113, + 73,77,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,76,821,14,19,15,386,1168,43,532, + 388,242,556,533,634,608,739,642,1117,1113, + 73,75,821,14,19,15,386,1168,43,532, + 388,909,556,533,634,608,739,642,1117,1113, + 73,74,821,14,19,15,386,1168,43,532, + 388,290,556,533,634,608,739,642,1117,1113, + 73,891,821,14,19,15,386,1168,43,532, + 388,353,556,533,634,608,739,642,1117,1113, + 73,931,821,14,19,15,386,41,43,532, + 388,602,556,533,634,608,739,642,1117,1113, + 92,821,14,19,15,386,41,43,532,388, + 878,556,533,634,608,739,642,1117,1113,92, + 1517,878,415,845,353,971,821,14,19,15, + 386,41,43,532,1336,821,14,19,15,386, + 41,43,532,388,209,556,533,634,608,739, + 642,1117,1113,92,821,14,19,15,386,41, + 43,532,388,1783,556,533,634,608,739,642, + 1117,1113,92,448,1784,509,1787,182,1298,821, + 14,19,15,386,41,43,532,1338,821,14, + 19,15,386,41,43,532,388,200,556,533, + 634,608,739,642,1117,1113,92,821,14,19, + 15,386,41,43,532,388,533,556,533,634, + 608,739,642,1117,1113,72,476,641,60,16, + 406,201,932,196,955,1011,821,14,19,15, + 386,41,43,532,388,291,556,533,634,608, + 739,1482,275,270,250,210,317,318,182,402, + 679,215,1232,218,1663,220,221,226,1688,1707, + 263,1230,637,268,6,259,858,14,19,15, + 386,314,439,394,273,274,270,195,260,239, + 91,1630,754,1734,215,1232,218,1663,220,221, + 226,341,282,263,1230,637,268,273,1498,270, + 858,14,19,15,386,40,257,272,718,225, + 278,716,133,210,317,318,263,1230,637,268, + 1001,136,132,134,158,821,14,19,15,386, + 41,43,532,388,716,556,533,634,608,1415, + 81,133,210,317,318,138,288,164,909,1064, + 146,132,134,158,319,142,145,148,151,821, + 14,19,15,386,41,43,532,388,292,556, + 533,634,1417,79,81,215,1232,218,1663,220, + 221,226,1643,1064,334,731,640,289,677,1624, + 821,14,19,15,386,41,43,532,388,641, + 556,533,1369,858,14,19,15,386,33,215, + 1232,218,1663,220,221,226,6,6,6,296, + 197,196,198,1624,276,677,1635,1668,464,821, + 14,19,15,386,41,43,532,388,508,556, + 1370,821,14,19,15,386,41,43,532,388, + 245,556,1400,406,6,197,198,307,86,133, + 210,317,318,1680,369,579,1720,751,140,132, + 134,158,821,14,19,15,386,41,43,532, + 388,181,1296,821,14,19,15,386,41,43, + 532,388,139,1304,164,821,14,19,15,386, + 41,43,532,388,1024,1334,821,14,19,15, + 386,41,43,532,388,543,1335,821,14,19, + 15,386,41,38,1064,133,210,317,318,722, + 69,606,718,572,149,132,134,158,1047,622, + 821,14,19,15,386,41,43,1227,641,637, + 215,1232,218,1663,220,221,226,270,1290,133, + 210,317,318,6,1498,716,727,755,152,132, + 134,158,1674,222,263,1230,637,268,821,14, + 19,15,386,41,43,1229,858,14,19,15, + 386,32,262,558,14,19,15,386,41,35, + 558,14,19,15,386,41,35,6,6,6, + 138,756,443,324,880,728,1678,1686,1777,193, + 244,821,14,19,15,386,41,37,821,14, + 19,15,386,41,36,821,14,19,15,386, + 41,35,821,14,19,15,386,41,34,6, + 6,821,14,19,15,386,41,46,360,360, + 821,14,19,15,386,41,45,821,14,19, + 15,386,41,44,726,195,195,615,6,6, + 803,632,1842,1480,1480,56,196,677,468,579, + 677,86,86,196,579,1842,533,513,513,669, + 14,19,15,386,41,42,1166,250,210,317, + 318,195,1842,479,250,210,317,318,113,1499, + 86,441,640,86,170,293,1479,579,284,309, + 415,508,255,579,1842,190,415,579,803,1167, + 224,1560,1170,1752,195,406,1734,579,1842,1842, + 195,51,1499,1750,195,641,1842,766,1499,1562, + 579,1842,1499,679,1166,1562,579,380,190,1842, + 196,982,1701,26,190,1403,1752,1166,190,1842, + 227,1781,1752,1166,364,1782,1752,485,228,415, + 255,250,210,317,318,1842,677,1167,206,1560, + 531,1842,227,255,206,251,210,317,318,255, + 1705,579,1560,1050,1564,1842,1349,804,1560,1061, + 1564,251,210,317,318,1070,579,406,195,88, + 1775,406,406,406,406,1842,1499,406,827,1842, + 1788,1842,1842,1166,1842,1842,251,210,317,318, + 1842,1842,191,1842,1842,279,1842,1842,1842,184, + 183,202,203,231,1842,1169,1842,1842,1842,256, + 1842,1842,1842,1842,641,1842,0,320,697,0, + 17,178,0,18,177,0,1,2065,0,1, + 2076,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -418,114 +422,123 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermCheck { public final static byte termCheck[] = {0, 0,1,2,3,4,0,6,7,8,9, - 10,11,12,0,14,15,16,17,18,19, + 10,11,12,13,14,0,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, 30,31,32,33,34,35,36,0,38,39, 40,41,42,43,44,45,46,47,48,49, - 13,51,52,53,0,1,0,3,0,5, - 6,7,8,9,10,11,12,0,0,0, - 0,17,18,19,20,21,6,7,8,9, - 10,11,12,14,15,0,73,17,18,19, - 20,21,38,39,40,41,42,43,44,45, - 46,47,48,49,0,51,52,53,0,55, - 56,0,1,0,3,2,5,6,7,8, - 9,10,11,12,57,58,13,0,17,18, - 19,20,21,6,7,8,9,10,11,12, - 0,1,0,3,17,18,19,20,21,38, - 39,40,41,42,43,44,45,46,47,48, - 49,0,51,52,53,0,55,56,0,1, - 0,3,2,5,6,7,8,9,10,11, - 12,77,78,13,0,17,18,19,20,21, - 6,7,8,9,10,11,12,0,37,57, - 58,17,18,19,20,21,38,39,40,41, - 42,43,44,45,46,47,48,49,0,51, - 52,53,0,55,56,0,1,0,3,0, - 5,6,7,8,9,10,11,12,16,74, - 0,0,17,18,19,20,21,6,7,8, - 9,10,11,12,57,58,0,1,17,18, - 19,20,21,38,39,40,41,42,43,44, - 45,46,47,48,49,0,51,52,53,0, - 55,56,0,1,5,3,0,5,6,7, - 8,9,10,11,12,0,69,57,58,17, - 18,19,20,21,0,0,79,80,81,82, - 83,84,85,86,87,88,0,1,89,3, + 0,1,52,53,54,0,1,0,3,0, + 5,6,7,8,9,10,11,0,0,14, + 2,4,4,0,19,20,21,22,0,24, + 0,1,2,15,6,7,8,9,10,11, + 0,0,2,38,39,40,41,42,43,44, + 45,46,47,48,49,15,51,52,53,54, + 60,56,0,1,0,3,0,5,6,7, + 8,9,10,11,0,1,14,3,69,62, + 63,19,20,21,22,0,24,0,79,80, + 81,82,83,84,85,86,87,88,68,0, 38,39,40,41,42,43,44,45,46,47, - 48,49,0,51,52,53,0,55,56,0, - 1,0,3,57,58,6,7,8,9,10, - 11,12,0,37,75,0,17,18,19,20, - 21,6,7,8,9,10,11,72,64,65, - 66,67,0,0,1,0,3,38,39,40, + 48,49,89,51,52,53,54,0,56,0, + 1,55,3,0,5,6,7,8,9,10, + 11,0,0,14,2,12,13,0,19,20, + 21,22,55,24,0,0,0,15,4,17, + 18,6,7,8,9,10,11,38,39,40, 41,42,43,44,45,46,47,48,49,0, - 51,52,53,0,1,2,3,4,5,0, - 1,2,70,71,5,12,54,14,15,16, - 37,0,13,72,0,22,23,24,25,26, - 27,28,29,30,31,32,33,34,35,36, - 16,0,1,2,3,4,5,0,0,2, - 0,69,5,12,4,14,15,16,73,50, - 13,13,59,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,0,0, - 1,2,3,4,5,64,65,66,67,0, - 1,2,0,14,15,16,4,50,0,0, - 59,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,0,0,0, - 1,2,0,4,6,7,8,9,10,11, - 12,0,13,0,55,17,18,19,20,21, - 0,0,64,65,66,67,6,7,8,9, - 10,11,54,0,62,63,38,39,40,41, - 42,43,44,45,46,47,48,49,0,1, - 2,3,4,5,0,1,2,60,4,0, - 0,0,14,15,16,0,1,13,3,0, - 22,23,24,25,26,27,28,29,30,31, - 32,33,34,35,36,74,0,1,2,3, - 4,5,0,0,2,2,4,4,37,0, - 14,15,16,70,71,13,13,59,22,23, - 24,25,26,27,28,29,30,31,32,33, - 34,35,36,0,0,1,2,3,4,6, - 7,8,9,10,11,0,37,68,14,15, - 16,0,1,0,3,59,22,23,24,25, - 26,27,28,29,30,31,32,33,34,35, - 36,0,1,2,3,4,0,1,2,0, - 4,0,37,0,5,14,15,16,37,0, - 56,0,0,22,23,24,25,26,27,28, - 29,30,31,32,33,34,35,36,37,0, - 1,2,3,4,0,0,0,0,0,5, - 5,0,69,14,15,16,0,1,2,50, - 13,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,37,0,1,2, - 3,4,0,0,0,1,0,3,5,68, - 0,14,15,16,50,50,14,15,54,22, - 23,24,25,26,27,28,29,30,31,32, - 33,34,35,36,37,0,1,2,3,4, - 0,0,0,1,68,3,0,0,0,14, - 15,16,0,50,14,15,4,22,23,24, + 51,52,53,54,0,56,0,1,0,3, + 0,5,6,7,8,9,10,11,0,15, + 14,0,4,61,0,19,20,21,22,0, + 24,64,65,66,67,74,62,63,76,0, + 64,65,66,67,38,39,40,41,42,43, + 44,45,46,47,48,49,0,51,52,53, + 54,0,56,0,1,61,3,0,5,6, + 7,8,9,10,11,0,15,14,57,58, + 62,63,19,20,21,22,0,24,64,65, + 66,67,6,7,8,9,10,11,0,70, + 71,38,39,40,41,42,43,44,45,46, + 47,48,49,0,51,52,53,54,0,56, + 0,1,61,3,57,58,6,7,8,9, + 10,11,0,0,14,2,4,4,0,19, + 20,21,22,0,24,70,71,0,15,6, + 7,8,9,10,11,57,58,0,38,39, + 40,41,42,43,44,45,46,47,48,49, + 57,58,52,53,54,0,1,2,3,4, + 5,0,1,2,0,0,5,12,13,14, + 5,16,17,18,0,1,15,3,23,15, 25,26,27,28,29,30,31,32,33,34, - 35,36,0,1,2,3,4,0,0,0, - 0,0,0,0,0,0,14,15,16,0, - 0,0,0,4,22,23,24,25,26,27, + 35,36,0,1,2,3,4,5,0,72, + 2,0,0,5,12,13,14,0,16,17, + 18,50,0,15,59,23,51,25,26,27, 28,29,30,31,32,33,34,35,36,0, - 1,2,3,4,62,63,0,0,0,0, - 0,0,0,14,15,16,0,0,0,0, - 0,22,23,24,25,26,27,28,29,30, - 31,32,33,34,35,36,0,0,2,60, - 4,5,6,7,8,9,10,11,12,13, - 13,0,1,17,18,19,20,21,0,0, - 2,2,4,5,6,7,8,9,10,11, - 12,13,13,54,0,17,18,19,20,21, - 0,22,23,0,4,0,50,0,0,6, - 7,8,9,10,11,0,0,0,61,0, - 13,6,7,8,9,10,11,0,50,0, - 0,60,0,6,7,8,9,10,11,0, - 61,0,0,0,5,0,5,5,0,0, - 0,0,0,0,60,76,0,0,0,54, - 0,0,62,63,0,0,0,0,61,0, - 54,0,0,0,0,0,0,0,0,0, + 1,2,3,4,5,0,1,2,0,4, + 2,12,13,0,0,16,17,18,50,5, + 15,59,23,15,25,26,27,28,29,30, + 31,32,33,34,35,36,37,0,0,1, + 2,69,4,6,7,8,9,10,11,0, + 51,14,0,15,77,78,19,20,21,22, + 0,24,0,1,50,3,6,7,8,9, + 10,11,0,1,2,38,39,40,41,42, + 43,44,45,46,47,48,49,0,1,2, + 3,4,5,0,1,0,3,0,0,12, + 13,0,5,16,17,18,0,1,0,3, + 23,16,25,26,27,28,29,30,31,32, + 33,34,35,36,0,1,2,3,4,5, + 37,0,1,0,3,0,12,13,37,0, + 16,17,18,37,0,1,59,23,51,25, + 26,27,28,29,30,31,32,33,34,35, + 36,0,1,2,3,4,0,0,37,0, + 0,5,5,12,13,5,0,16,17,18, + 72,12,13,59,23,0,25,26,27,28, + 29,30,31,32,33,34,35,36,0,1, + 2,3,4,0,1,2,0,4,0,74, + 12,13,73,5,16,17,18,56,12,13, + 50,23,55,25,26,27,28,29,30,31, + 32,33,34,35,36,37,0,1,2,3, + 4,75,75,0,1,0,3,0,12,13, + 0,0,16,17,18,0,0,0,50,23, + 0,25,26,27,28,29,30,31,32,33, + 34,35,36,37,0,1,2,3,4,0, + 0,0,37,0,0,0,12,13,0,0, + 16,17,18,37,15,0,16,23,15,25, + 26,27,28,29,30,31,32,33,34,35, + 36,37,0,1,2,3,4,57,58,68, + 73,37,37,68,12,13,69,0,16,17, + 18,0,0,0,0,23,4,25,26,27, + 28,29,30,31,32,33,34,35,36,37, + 0,1,2,3,4,60,0,0,0,0, + 0,5,12,13,0,0,16,17,18,0, + 0,0,0,23,0,25,26,27,28,29, + 30,31,32,33,34,35,36,0,1,2, + 3,4,60,60,0,0,0,0,0,12, + 13,0,0,16,17,18,50,0,0,0, + 23,55,25,26,27,28,29,30,31,32, + 33,34,35,36,0,1,2,3,4,55, + 0,0,0,0,0,0,12,13,0,0, + 16,17,18,5,0,0,0,23,0,25, + 26,27,28,29,30,31,32,33,34,35, + 36,0,55,2,55,4,5,6,7,8, + 9,10,11,0,0,14,15,0,0,0, + 19,20,21,22,0,24,2,0,4,5, + 6,7,8,9,10,11,0,59,14,15, + 0,0,0,19,20,21,22,0,24,0, + 0,50,0,6,7,8,9,10,11,0, + 0,14,0,0,0,0,19,20,21,22, + 0,24,0,0,50,0,6,7,8,9, + 10,11,0,0,14,0,0,0,0,19, + 20,21,22,0,24,0,0,0,0,6, + 7,8,9,10,11,0,0,14,0,0, + 0,0,19,20,21,22,0,24,0,0, + 0,0,6,7,8,9,10,11,0,0, + 14,0,0,0,0,19,20,21,22,0, + 24,0,0,0,0,6,7,8,9,10, + 11,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,54,0,0,0,55,0,0, - 59,0,0,0,0,0,0,0,0,0, - 0,0,0,0,75,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -533,112 +546,115 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TermAction { public final static char termAction[] = {0, - 1822,599,1563,601,1549,1,2033,2034,2035,2140, - 1401,2141,1983,67,1542,1535,1556,1984,1982,2036, - 1985,1981,1528,1205,631,1832,1833,1834,1835,1403, - 641,2130,2131,2132,504,424,414,267,1988,1993, - 1992,1990,1991,1989,1994,1995,1987,1996,1997,1998, - 553,1186,1125,987,1822,1,1822,1,1822,189, - 1,1,1,1,1,1,1,53,1822,50, - 128,1,1,1,1,1,2033,2034,2035,2140, - 1401,2141,1983,1172,511,1822,1247,1984,1982,2036, - 1985,1981,1,1,1,1,1,1,1,1, - 1,1,1,1,71,1,1,1,1822,189, - 2016,1822,1,266,1,1156,189,1,1,1, - 1,1,1,1,1022,1075,553,129,1,1, - 1,1,1,2033,2034,2035,2140,1401,2141,1983, - 1822,1851,57,1852,1984,1982,2036,1985,1981,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1822,1,1,1,69,189,2016,1822,1, - 219,1,1313,189,1,1,1,1,1,1, - 1,1132,1756,553,130,1,1,1,1,1, - 2033,2034,2035,2140,1401,2141,1983,56,1311,1022, - 1075,1984,1982,2036,1985,1981,1,1,1,1, - 1,1,1,1,1,1,1,1,1822,1, - 1,1,63,189,2016,1822,1,41,1,1822, - 188,1,1,1,1,1,1,1,523,1218, - 55,131,1,1,1,1,1,2033,2034,2035, - 2140,1401,2141,1983,1022,1075,1822,2057,1984,1982, - 2036,1985,1981,1,1,1,1,1,1,1, - 1,1,1,1,1,1822,1,1,1,1, - 188,2016,1822,1,1831,1,54,189,1,1, - 1,1,1,1,1,65,918,1022,1075,1, - 1,1,1,1,58,1822,898,878,858,838, - 818,778,798,758,738,718,1822,2001,1806,2002, + 1842,1172,1599,1174,1585,1,2053,2054,2055,2163, + 542,2164,1578,1571,2003,281,1592,1536,1353,2004, + 2002,2056,2005,1250,2001,1852,1853,1854,1855,1467, + 417,2153,2154,2155,1216,443,428,1842,2008,2013, + 2012,2010,2011,2009,2014,2015,2007,2016,2017,2018, + 1,1839,1031,511,510,1842,1,1842,1,41, + 189,1,1,1,1,1,1,47,261,1, + 1222,1617,1,1842,1,1,1,1,246,1, + 1,2065,1465,558,1,1,1,1,1,1, + 266,1842,1200,1,1,1,1,1,1,1, + 1,1,1,1,1,558,189,1,1,1, + 2096,2036,1842,1,1842,1,87,189,1,1, + 1,1,1,1,1842,1871,1,1872,962,1610, + 1601,1,1,1,1,1842,1,252,942,922, + 902,882,862,822,842,802,782,762,1094,1842, 1,1,1,1,1,1,1,1,1,1, - 1,1,61,1,1,1,1822,189,2016,1822, - 2000,66,1999,1022,1075,2033,2034,2035,2140,1401, - 2141,1983,87,1374,1830,246,1984,1982,2036,1985, - 1981,1,1,1,1,1,1,1280,1435,1424, - 1413,1392,208,1822,2001,68,2002,1988,1993,1992, - 1990,1991,1989,1994,1995,1987,1996,1997,1998,1822, - 1186,1125,987,1,1839,1563,1840,1472,1825,1, - 1816,1155,1360,540,1827,575,698,1542,1535,1556, - 1460,60,553,1280,64,1528,1205,631,1832,1833, - 1834,1835,1403,641,2130,2131,2132,504,424,414, - 523,1822,1839,1563,1840,1514,1825,1,317,1296, - 1822,997,1827,958,1372,1542,1535,1556,1247,1826, - 553,1807,1824,1528,1205,631,1832,1833,1834,1835, - 1403,641,2130,2131,2132,504,424,414,59,1, - 1839,1563,1840,1549,27,1435,1424,1413,1392,1, - 2045,1444,47,1542,1535,1556,1581,1826,252,1822, - 1824,1528,1205,631,1832,1833,1834,1835,1403,641, - 2130,2131,2132,504,424,414,1594,1,127,258, - 2045,1155,1822,1,2033,2034,2035,2140,1401,2141, - 1983,70,553,1822,27,1984,1982,2036,1985,1981, - 1822,1822,1435,1424,1413,1392,2033,2034,2035,2140, - 1401,2141,1188,62,1574,1565,1988,1993,1992,1990, - 1991,1989,1994,1995,1987,1996,1997,1998,1822,1839, - 1563,1840,1549,1825,264,2045,1155,2076,1462,1822, - 1822,186,1542,1535,1556,205,2001,553,2002,1822, - 1528,1205,631,1832,1833,1834,1835,1403,641,2130, - 2131,2132,504,424,414,1218,1822,1839,1563,1840, - 1507,1825,261,264,1296,1296,1,1462,1487,185, - 1542,1535,1556,1360,540,553,553,1824,1528,1205, - 631,1832,1833,1834,1835,1403,641,2130,2131,2132, - 504,424,414,247,1822,1,1,1,1,1, - 1,1,1,1,1,187,1591,1103,1,1, - 1,1822,2001,1822,2002,1824,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1822,1839,1563,1840,1549,1822,2045,1444,1, - 1462,1822,1593,1822,89,1542,1535,1556,1461,1822, - 2129,199,1822,1528,1205,631,1832,1833,1834,1835, - 1403,641,2130,2131,2132,504,424,414,1311,1, - 1839,1563,1840,1549,1822,1822,1822,217,1822,1827, - 1827,1822,608,1542,1535,1556,1,2045,1444,89, - 553,1528,1205,631,1832,1833,1834,1835,1403,641, - 2130,2131,2132,504,424,414,1594,1822,1839,1563, - 1840,1549,52,1,1822,2001,1822,2002,1827,1084, - 1822,1542,1535,1556,1826,1826,1172,511,1655,1528, - 1205,631,1832,1833,1834,1835,1403,641,2130,2131, - 2132,504,424,414,1594,1822,1839,1563,1840,1549, - 51,1822,204,1355,1050,1355,1822,1822,1822,1542, - 1535,1556,49,1826,1172,511,1581,1528,1205,631, - 1832,1833,1834,1835,1403,641,2130,2131,2132,504, - 424,414,1822,1839,1564,1840,1549,1822,1822,1822, - 1822,1822,1822,1822,1822,1822,1542,1535,1556,1, - 1822,1822,1822,1372,1528,1205,631,1832,1833,1834, - 1835,1403,641,2130,2131,2132,504,424,414,1, - 1839,1563,1840,1549,1574,1565,1822,1822,1822,1822, - 1822,1822,1822,1542,1535,1556,1822,1822,1822,28, - 1822,1528,1205,631,1832,1833,1834,1835,1403,641, - 2130,2131,2132,504,424,414,17,1822,1810,2076, - 1810,1810,178,178,178,178,178,178,178,1810, - 978,1,1819,178,178,178,178,178,18,31, - 1813,1636,1813,1813,177,177,177,177,177,177, - 177,1813,1755,484,1,177,177,177,177,177, - 48,1846,1847,245,1581,28,1810,284,1822,2033, - 2034,2035,2140,1401,2141,248,204,1822,1227,1822, - 1031,2033,2034,2035,2140,1401,2141,249,1813,1822, - 1822,2076,1822,2033,2034,2035,2140,1401,2141,1822, - 1071,1822,1822,1822,1831,1822,1825,1829,1822,1822, - 1822,1822,1822,1822,2075,603,1822,1822,1822,1849, - 1822,1822,1574,1565,1822,1822,1822,1822,1239,1822, - 2971,1822,1822,1822,1822,1822,1822,1822,1822,1822, - 1822,1822,1822,1822,1822,1822,1822,1822,1822,1822, - 1822,1822,1822,1310,1822,1822,1822,1828,1822,1822, - 1824,1822,1822,1822,1822,1822,1822,1822,1822,1822, - 1822,1822,1822,1822,1830 + 1,1,1826,189,1,1,1,1842,2036,1842, + 1,742,1,50,189,1,1,1,1,1, + 1,69,31,1,1737,1528,1490,58,1,1, + 1,1,1767,1,49,1842,60,1366,1617,1866, + 1867,2053,2054,2055,2163,542,2164,1,1,1, + 1,1,1,1,1,1,1,1,1,1842, + 189,1,1,1,1842,2036,1842,1,1842,1, + 1842,188,1,1,1,1,1,1,48,1022, + 1,53,1617,465,59,1,1,1,1,61, + 1,1456,1445,1433,1422,1176,1610,1601,387,1842, + 1456,1445,1433,1422,1,1,1,1,1,1, + 1,1,1,1,1,1,1842,188,1,1, + 1,287,2036,1842,1,1156,1,57,189,1, + 1,1,1,1,1,62,1075,1,1066,1119, + 1610,1601,1,1,1,1,247,1,1456,1445, + 1433,1422,1,1,1,1,1,1,56,1391, + 1379,1,1,1,1,1,1,1,1,1, + 1,1,1,55,189,1,1,1,1842,2036, + 1842,2020,1646,2019,1066,1119,2053,2054,2055,2163, + 542,2164,1842,264,2003,1222,1323,1407,1842,2004, + 2002,2056,2005,245,2001,1391,1379,65,558,2053, + 2054,2055,2163,542,2164,1066,1119,1842,2008,2013, + 2012,2010,2011,2009,2014,2015,2007,2016,2017,2018, + 1066,1119,1031,511,510,1,1859,1599,1860,647, + 1845,1,1836,1199,267,1842,1847,1578,1571,580, + 1849,1592,1536,1353,205,2021,558,2022,1250,558, + 1852,1853,1854,1855,1467,417,2153,2154,2155,1216, + 443,428,1842,1859,1599,1860,1550,1845,1,1309, + 1222,1842,208,1847,1578,1571,1002,71,1592,1536, + 1353,1846,1842,558,1844,1250,1848,1852,1853,1854, + 1855,1467,417,2153,2154,2155,1216,443,428,1, + 1859,1599,1860,1585,27,258,2065,1199,219,1, + 1713,1578,1571,1842,1,1592,1536,1353,1846,89, + 558,1844,1250,558,1852,1853,1854,1855,1467,417, + 2153,2154,2155,1216,443,428,2769,127,264,2065, + 1199,1041,1407,2053,2054,2055,2163,542,2164,1842, + 27,2003,1842,558,514,1628,2004,2002,2056,2005, + 248,2001,1842,2021,89,2022,2053,2054,2055,2163, + 542,2164,1,2065,1465,2008,2013,2012,2010,2011, + 2009,2014,2015,2007,2016,2017,2018,1842,1859,1599, + 1860,1585,1845,1842,2021,63,2022,280,1842,1578, + 1571,1842,1559,1592,1536,1353,1842,2021,66,2022, + 1250,1340,1852,1853,1854,1855,1467,417,2153,2154, + 2155,1216,443,428,1842,1859,1599,1860,1543,1845, + 1367,1842,2021,1842,2022,70,1578,1571,1214,67, + 1592,1536,1353,1368,1842,2077,1844,1250,1559,1852, + 1853,1854,1855,1467,417,2153,2154,2155,1216,443, + 428,1842,1,1,1,1,1,1842,1404,52, + 1842,1851,1851,1,1,1847,1842,1,1,1, + 1309,1528,1490,1844,1,1842,1,1,1,1, + 1,1,1,1,1,1,1,1,1842,1859, + 1599,1860,1585,1842,2065,1465,51,1407,1,1176, + 1578,1571,1275,1847,1592,1536,1353,2152,1528,1490, + 1846,1250,1324,1852,1853,1854,1855,1467,417,2153, + 2154,2155,1216,443,428,1214,1,1859,1599,1860, + 1585,1850,1850,204,607,186,607,68,1578,1571, + 1842,1842,1592,1536,1353,199,185,1842,1846,1250, + 54,1852,1853,1854,1855,1467,417,2153,2154,2155, + 1216,443,428,2769,1842,1859,1599,1860,1585,320, + 64,1842,1513,217,187,1842,1578,1571,1842,1842, + 1592,1536,1353,1557,1827,1,1340,1250,558,1852, + 1853,1854,1855,1467,417,2153,2154,2155,1216,443, + 428,2769,1,1859,1599,1860,1585,1066,1119,1147, + 1275,1558,1629,1128,1578,1571,613,1842,1592,1536, + 1353,1842,1,1,1842,1250,1323,1852,1853,1854, + 1855,1467,417,2153,2154,2155,1216,443,428,2769, + 1842,1859,1599,1860,1585,2096,1842,1842,1842,1842, + 1842,1847,1578,1571,1842,1842,1592,1536,1353,1842, + 1842,1842,1842,1250,28,1852,1853,1854,1855,1467, + 417,2153,2154,2155,1216,443,428,1842,1859,1600, + 1860,1585,2096,2095,1842,1842,1842,1842,1842,1578, + 1571,1842,1842,1592,1536,1353,1846,28,1842,204, + 1250,1627,1852,1853,1854,1855,1467,417,2153,2154, + 2155,1216,443,428,1,1859,1599,1860,1585,488, + 1842,1842,1842,1842,1842,1842,1578,1571,1842,1842, + 1592,1536,1353,1845,1842,1842,1842,1250,1842,1852, + 1853,1854,1855,1467,417,2153,2154,2155,1216,443, + 428,17,1869,1830,2915,1830,1830,178,178,178, + 178,178,178,1842,1842,178,1830,1842,1842,1842, + 178,178,178,178,18,178,1833,1842,1833,1833, + 177,177,177,177,177,177,1842,1844,177,1833, + 1842,1842,1842,177,177,177,177,128,177,1842, + 1842,1830,1842,2053,2054,2055,2163,542,2164,1842, + 1842,2003,1842,1842,1842,1842,2004,2002,2056,2005, + 129,2001,1842,1842,1833,1842,2053,2054,2055,2163, + 542,2164,1842,1842,2003,1842,1842,1842,1842,2004, + 2002,2056,2005,130,2001,1842,1842,1842,1842,2053, + 2054,2055,2163,542,2164,1842,1842,2003,1842,1842, + 1842,1842,2004,2002,2056,2005,131,2001,1842,1842, + 1842,1842,2053,2054,2055,2163,542,2164,1842,1842, + 2003,1842,1842,1842,1842,2004,2002,2056,2005,249, + 2001,1842,1842,1842,1842,2053,2054,2055,2163,542, + 2164 }; }; public final static char termAction[] = TermAction.termAction; @@ -646,28 +662,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asb { public final static char asb[] = {0, - 476,1,113,41,113,113,113,113,113,113, - 113,113,113,113,113,113,3,324,51,48, - 55,53,61,59,63,62,65,64,10,113, - 324,247,247,451,113,185,185,278,324,113, - 113,113,113,113,113,113,113,113,113,113, - 113,113,113,113,113,113,113,113,113,113, - 113,113,113,113,113,113,113,113,113,185, - 185,45,80,282,104,214,183,182,250,317, - 262,262,100,100,262,100,262,344,136,136, - 48,48,53,53,53,53,51,51,59,55, - 55,62,61,401,64,63,102,78,278,270, - 107,45,367,189,185,414,217,189,380,284, - 380,284,374,380,113,78,270,367,367,45, - 188,104,185,276,344,184,219,45,189,284, - 284,284,284,374,374,376,404,78,367,270, - 113,113,45,189,214,396,395,282,219,185, - 284,314,407,284,284,314,376,446,376,374, - 314,76,449,247,113,403,78,270,45,45, - 185,414,217,276,314,409,314,314,113,247, - 376,80,45,247,113,376,219,72,113,71, - 132,282,314,45,314,185,184,409,113,132, - 248 + 451,1,170,41,170,170,170,170,170,170, + 170,170,170,170,170,170,3,111,79,76, + 83,81,89,87,91,90,93,92,10,170, + 111,304,304,475,170,268,268,372,111,170, + 170,170,170,170,170,170,170,170,170,170, + 170,170,170,170,170,170,170,170,170,170, + 170,170,170,170,170,170,170,170,170,268, + 268,45,52,376,161,271,266,265,344,104, + 356,356,72,72,356,72,356,131,219,219, + 76,76,81,81,81,81,79,79,87,83, + 83,90,89,412,92,91,74,50,372,364, + 164,45,154,194,268,419,274,194,391,311, + 391,311,378,391,170,50,364,154,154,45, + 193,161,268,370,131,267,276,45,194,311, + 311,311,311,378,378,380,308,341,74,154, + 364,170,170,45,194,271,407,406,376,276, + 268,311,341,384,311,311,341,380,414,380, + 378,341,48,417,304,170,307,341,50,364, + 45,45,268,419,274,370,341,386,341,341, + 170,304,380,52,45,304,170,50,276,100, + 170,99,189,376,341,45,380,268,267,386, + 170,189,341,305,380 }; }; public final static char asb[] = Asb.asb; @@ -675,56 +691,56 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Asr { public final static byte asr[] = {0, - 89,0,75,13,2,61,76,22,23,16, - 4,14,15,62,63,57,58,64,65,66, - 67,70,71,72,73,74,77,78,55,69, + 89,0,75,15,2,61,76,17,18,16, + 4,12,13,62,63,57,58,64,65,66, + 67,70,71,72,73,74,77,78,51,69, 79,80,81,82,83,85,84,86,87,88, - 68,50,89,54,59,5,0,4,62,63, - 14,15,58,57,64,65,66,67,70,71, - 16,72,73,74,59,50,55,89,77,78, - 68,75,5,54,0,5,55,13,61,22, - 23,16,4,14,15,29,30,24,34,35, - 36,2,25,26,27,28,31,32,33,1, - 3,37,0,59,5,12,6,7,8,9, - 10,11,25,26,27,28,31,32,33,3, - 22,23,16,14,15,29,30,24,34,35, - 36,4,2,1,0,7,12,21,8,20, - 19,18,6,17,9,10,11,61,76,22, - 23,16,14,15,62,63,57,58,64,65, - 66,67,70,71,72,73,74,77,78,69, - 79,80,81,82,83,84,85,86,87,88, - 4,2,13,54,50,5,0,12,59,5, - 22,23,16,4,14,15,29,30,24,34, - 35,36,2,1,3,25,26,27,28,31, - 32,33,0,4,2,13,50,5,17,38, - 6,39,51,18,40,19,41,42,20,7, - 43,44,12,52,21,53,45,46,8,47, - 48,49,9,10,11,60,3,1,0,46, - 38,43,41,42,40,39,44,45,47,48, - 49,68,75,21,18,12,17,20,19,6, - 7,8,9,10,11,54,1,5,50,2, - 13,4,0,17,38,6,39,51,18,40, - 19,41,42,20,7,43,44,12,52,21, - 53,45,46,8,47,48,49,1,3,9, - 10,11,56,55,5,0,5,68,54,59, - 50,75,13,24,25,26,27,28,2,22, - 23,16,4,14,15,29,30,31,32,33, - 34,35,36,3,1,51,52,53,46,38, - 43,41,42,40,39,44,45,47,48,49, - 21,18,12,17,20,19,6,7,8,10, - 9,11,0,1,3,5,55,54,0,17, - 6,18,19,20,7,12,21,8,1,4, - 9,10,11,37,2,5,54,50,75,13, - 68,0,69,13,61,0,75,5,4,1, - 2,68,0,17,38,6,39,51,18,40, - 19,41,42,20,7,43,44,12,52,21, - 53,45,46,8,47,48,49,1,3,9, - 10,11,60,4,0,5,54,55,69,0, - 5,50,24,25,26,27,28,1,3,2, - 22,23,16,4,14,15,29,30,31,32, - 33,34,35,36,0,24,25,26,27,28, - 1,3,2,22,23,16,4,14,15,29, - 30,31,32,33,34,35,36,56,0 + 68,50,89,55,59,5,0,5,51,15, + 61,17,18,16,4,12,13,29,30,23, + 34,35,36,2,25,26,27,28,31,32, + 33,1,3,37,0,4,62,63,12,13, + 58,57,64,65,66,67,70,71,16,72, + 73,74,59,50,51,89,77,78,68,75, + 5,55,0,5,68,55,59,50,75,15, + 23,25,26,27,28,2,17,18,16,4, + 12,13,29,30,31,32,33,34,35,36, + 3,1,52,53,54,46,38,43,41,42, + 40,39,44,45,47,48,49,24,20,14, + 19,22,21,6,7,8,10,9,11,0, + 59,5,14,6,7,8,9,10,11,25, + 26,27,28,31,32,33,3,17,18,16, + 12,13,29,30,23,34,35,36,4,2, + 1,0,14,59,5,17,18,16,4,12, + 13,29,30,23,34,35,36,2,1,3, + 25,26,27,28,31,32,33,0,7,14, + 24,8,22,21,20,6,19,9,10,11, + 61,76,17,18,16,12,13,62,63,57, + 58,64,65,66,67,70,71,72,73,74, + 77,78,69,79,80,81,82,83,84,85, + 86,87,88,4,2,15,55,50,5,0, + 4,2,15,50,5,19,38,6,39,52, + 20,40,21,41,42,22,7,43,44,14, + 53,24,54,45,46,8,47,48,49,9, + 10,11,60,3,1,0,69,15,61,0, + 19,38,6,39,52,20,40,21,41,42, + 22,7,43,44,14,53,24,54,45,46, + 8,47,48,49,1,3,9,10,11,56, + 5,51,0,46,38,43,41,42,40,39, + 44,45,47,48,49,68,75,24,20,14, + 19,22,21,6,7,8,9,10,11,55, + 1,5,50,2,15,4,0,1,3,5, + 51,55,0,75,5,4,1,2,68,0, + 19,6,20,21,22,7,14,24,8,1, + 4,9,10,11,37,2,5,55,50,75, + 15,68,0,5,55,51,69,0,19,38, + 6,39,52,20,40,21,41,42,22,7, + 43,44,14,53,24,54,45,46,8,47, + 48,49,1,3,9,10,11,60,4,0, + 23,25,26,27,28,1,3,2,17,18, + 16,4,12,13,29,30,31,32,33,34, + 35,36,56,0,5,50,23,25,26,27, + 28,1,3,2,17,18,16,4,12,13, + 29,30,31,32,33,34,35,36,0 }; }; public final static byte asr[] = Asr.asr; @@ -732,28 +748,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasb { public final static byte nasb[] = {0, - 81,8,13,8,13,13,13,13,13,13, - 13,13,13,13,13,13,8,59,8,8, - 8,8,8,8,8,8,8,8,8,13, - 59,19,19,78,60,35,35,51,1,13, - 13,13,13,13,13,13,13,13,13,13, - 13,13,13,13,13,60,13,13,13,13, - 13,13,13,13,13,13,13,13,13,35, - 35,17,13,72,15,50,9,9,43,55, - 44,44,25,25,44,25,44,39,8,8, + 78,8,14,8,14,14,14,14,14,14, + 14,14,14,14,14,14,8,70,8,8, + 8,8,8,8,8,8,8,8,8,14, + 70,9,9,91,71,47,47,50,1,14, + 14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,71,14,14,14,14, + 14,14,14,14,14,14,14,14,14,47, + 47,24,14,76,22,49,29,29,58,20, + 59,59,16,16,59,16,59,54,8,8, 8,8,8,8,8,8,8,8,8,8, - 8,8,8,8,8,8,8,86,52,86, - 12,17,68,16,35,70,34,16,8,86, - 8,86,86,8,13,12,86,68,68,17, - 16,57,35,28,2,8,85,17,16,86, - 74,86,74,25,86,23,21,86,68,57, - 13,13,17,16,27,9,9,72,85,35, - 74,37,65,88,74,37,23,8,8,25, - 37,11,8,25,13,63,12,57,17,17, - 35,70,34,29,37,46,37,37,13,25, - 23,13,17,25,13,23,84,66,13,8, - 46,72,37,17,37,35,35,46,13,31, - 8 + 8,8,8,8,8,8,8,87,51,87, + 26,24,37,23,47,74,46,23,8,87, + 8,87,87,8,14,12,87,37,37,24, + 23,89,47,40,2,8,86,24,23,87, + 81,87,81,16,87,31,18,87,8,37, + 89,14,14,24,23,39,29,29,76,86, + 47,81,35,67,94,81,35,31,8,8, + 16,35,11,8,16,14,61,35,87,89, + 24,24,47,74,46,41,35,63,35,35, + 14,16,31,13,24,16,14,12,85,68, + 14,8,63,76,35,24,31,47,47,63, + 14,43,35,8,33 }; }; public final static byte nasb[] = Nasb.nasb; @@ -761,16 +777,16 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface Nasr { public final static char nasr[] = {0, - 4,79,78,77,76,75,74,0,27,0, - 68,9,4,0,9,4,20,0,70,0, - 91,0,53,0,29,0,25,9,46,45, - 38,36,0,9,25,0,28,0,63,64, - 65,66,54,30,0,9,38,36,0,25, - 9,46,45,0,94,0,21,0,34,9, - 48,0,93,0,9,69,0,60,0,9, - 26,51,0,58,9,34,0,9,86,0, - 9,85,0,88,26,9,0,9,34,50, - 0 + 4,80,79,78,77,76,75,0,71,0, + 69,9,63,4,0,29,0,93,0,96, + 0,9,4,20,0,4,9,0,27,0, + 53,0,91,0,28,0,60,0,25,9, + 46,45,38,36,0,9,25,0,25,9, + 46,45,0,64,65,66,67,54,30,0, + 95,0,9,38,36,0,9,70,0,34, + 9,48,0,9,26,51,0,9,86,0, + 58,9,34,0,89,26,9,0,21,0, + 9,87,0,9,34,50,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -779,11 +795,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface TerminalIndex { public final static char terminalIndex[] = {0, 85,2,86,9,87,48,64,76,96,97, - 98,69,1,10,11,8,44,55,60,63, - 72,6,7,68,81,82,83,84,12,13, + 98,10,11,69,1,8,6,7,44,55, + 60,63,68,72,81,82,83,84,12,13, 93,94,95,100,101,102,3,47,52,56, 61,62,66,67,74,75,78,79,80,90, - 54,70,73,42,91,107,16,17,89,30, + 91,54,70,73,42,107,16,17,89,30, 4,14,15,18,19,20,21,29,31,22, 23,24,25,26,92,5,27,28,32,33, 34,35,36,37,38,39,40,41,108,45, @@ -802,12 +818,13 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab 0,0,0,154,159,161,0,162,0,0, 0,0,134,172,173,174,0,114,151,153, 160,169,0,145,150,0,0,152,164,167, - 168,171,146,147,148,149,158,175,113,116, - 117,118,133,137,138,139,140,141,144,156, - 0,0,157,166,109,0,155,165,170,176, - 177,0,178,179,0,0,0,0,0,0, + 168,171,0,146,147,148,149,158,175,113, + 116,117,118,133,137,138,139,140,141,144, + 156,0,0,157,166,109,0,155,165,170, + 0,176,177,0,178,179,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0 + 0,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -815,11 +832,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopePrefix { public final static char scopePrefix[] = { - 198,106,45,55,113,133,139,176,12,19, - 73,91,145,150,61,26,69,38,123,213, - 217,38,38,185,38,1,1,1,30,33, - 78,101,33,221,6,127,192,167,192,119, - 155,155,155,155,155,81,81,81 + 202,108,47,57,117,137,143,12,180,21, + 75,93,149,154,63,28,71,40,127,217, + 221,40,40,189,40,1,1,1,32,35, + 80,103,35,225,6,131,196,171,196,123, + 159,159,159,159,159,83,83,83 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -827,11 +844,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeSuffix { public final static char scopeSuffix[] = { - 17,17,4,4,17,17,17,182,17,24, - 4,24,17,17,66,24,4,4,121,24, - 4,42,66,189,51,4,4,4,24,36, - 4,24,104,24,9,130,195,170,206,121, - 157,159,161,163,165,88,83,96 + 115,115,4,4,115,115,115,18,186,26, + 4,26,115,115,68,26,4,4,125,26, + 4,44,68,193,53,4,4,4,26,38, + 4,26,106,26,9,134,199,174,210,125, + 161,163,165,167,169,90,85,98 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -839,11 +856,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLhs { public final static char scopeLhs[] = { - 4,65,27,27,65,63,63,101,55,47, - 27,41,63,63,27,47,27,27,50,4, - 4,27,27,18,27,94,93,92,45,62, - 27,38,49,2,68,50,6,102,4,50, - 78,77,76,75,74,41,39,41 + 4,66,27,27,66,64,64,55,103,47, + 27,41,64,64,27,47,27,27,50,4, + 4,27,27,18,27,96,95,94,45,62, + 27,38,49,2,69,50,6,104,4,50, + 79,78,77,76,75,41,39,41 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -851,11 +868,11 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeLa { public final static byte scopeLa[] = { - 55,55,59,59,55,55,55,95,55,50, - 59,50,55,55,25,50,59,59,75,50, - 59,4,25,68,12,59,59,59,50,2, + 51,51,59,59,51,51,51,51,95,50, + 59,50,51,51,25,50,59,59,75,50, + 59,4,25,68,14,59,59,59,50,2, 59,50,1,50,69,1,50,101,50,75, - 3,51,52,52,46,2,2,2 + 3,52,53,53,46,2,2,2 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -863,7 +880,7 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeStateSet { public final static byte scopeStateSet[] = { - 36,21,25,25,21,21,21,-1,96,29, + 36,21,25,25,21,21,21,96,-1,29, 25,11,21,21,25,29,25,25,5,36, 36,25,25,70,25,19,1,3,29,31, 25,11,13,36,97,5,42,-1,36,5, @@ -875,29 +892,29 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeRhs { public final static char scopeRhs[] = {0, - 150,13,0,110,0,197,116,0,31,150, - 0,160,179,116,37,0,112,0,166,116, - 2,152,0,111,0,166,116,2,0,169, - 2,0,158,116,0,172,0,191,116,13, - 0,9,110,0,126,12,191,116,13,0, - 69,132,110,0,126,191,116,12,13,0, - 191,116,12,13,0,132,110,0,126,12, - 13,0,126,191,116,13,0,126,13,0, - 145,0,2,0,165,111,0,2,111,0, - 166,116,2,145,0,2,0,164,111,0, - 156,2,0,159,0,160,189,116,37,136, - 51,0,160,189,116,37,51,0,141,0, - 113,0,194,116,141,0,116,141,0,155, - 113,0,164,116,37,136,53,0,164,116, - 37,136,52,0,164,116,37,53,0,164, - 116,37,52,0,186,0,149,0,148,0, - 147,0,146,0,145,0,204,94,0,77, - 2,114,111,113,0,204,132,155,2,98, - 0,53,0,0,155,78,124,0,29,131, - 0,178,2,0,111,120,0,160,179,116, - 37,132,178,2,0,111,3,0,118,0, - 112,0,193,2,111,0,155,13,111,0, - 155,2,0 + 150,15,0,110,0,199,116,0,31,150, + 0,160,180,116,37,170,0,112,0,0, + 166,116,2,152,0,111,0,166,116,2, + 0,169,2,0,158,116,0,172,0,192, + 116,15,0,9,110,0,126,14,192,116, + 15,0,69,132,110,0,126,192,116,14, + 15,0,192,116,14,15,0,132,110,0, + 126,14,15,0,126,192,116,15,0,126, + 15,0,145,0,2,0,165,111,0,2, + 111,0,166,116,2,145,0,2,0,164, + 111,0,156,2,0,159,0,160,190,116, + 37,136,52,0,112,0,160,190,116,37, + 52,0,141,0,113,0,195,116,141,0, + 116,141,0,155,113,0,164,116,37,136, + 54,0,164,116,37,136,53,0,164,116, + 37,54,0,164,116,37,53,0,187,0, + 149,0,148,0,147,0,146,0,145,0, + 206,94,0,77,2,114,111,113,0,206, + 132,155,2,98,0,53,0,0,155,78, + 124,0,29,131,0,179,2,0,111,120, + 0,160,180,116,37,132,179,2,0,111, + 3,0,118,0,112,0,194,2,111,0, + 155,15,111,0,155,2,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -905,16 +922,16 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface ScopeState { public final static char scopeState[] = {0, - 1592,0,927,0,1642,1719,1639,1637,1624,0, - 1411,1262,1310,1444,1295,1155,1122,0,1401,0, - 1213,574,357,0,1677,1643,602,385,1262,1666, - 1155,1122,1296,1459,0,1528,1205,631,504,424, - 414,1514,1507,1472,1613,1218,1132,1280,1247,1360, - 540,523,1075,1022,1435,1424,1413,1392,1581,1574, - 1565,1172,511,1556,1549,1542,1535,1403,641,1084, - 1050,1031,997,978,958,938,675,1103,654,575, - 553,918,898,878,858,838,818,798,778,758, - 738,718,357,698,437,608,464,484,391,0 + 1242,0,512,0,1678,1752,1674,1668,1635,0, + 509,415,1324,1465,1290,1199,1166,0,542,0, + 1241,579,360,0,1663,1232,1230,637,415,508, + 1199,1166,1222,1480,0,1536,1353,1250,1216,443, + 428,1550,1543,647,1649,1176,514,1309,1275,1391, + 1379,1340,1119,1066,1456,1445,1433,1422,1617,1610, + 1601,1528,1490,1592,1585,1578,1571,1467,417,1128, + 1094,1075,1041,1022,1002,982,718,1147,697,580, + 558,962,942,922,902,882,862,842,822,802, + 782,762,360,742,677,613,468,488,394,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -922,28 +939,28 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public interface InSymb { public final static char inSymb[] = {0, - 0,192,116,180,36,35,34,24,30,29, - 15,14,4,16,23,22,111,2,115,114, - 118,117,120,119,122,121,124,123,112,54, - 2,76,61,2,13,178,155,141,116,15, - 14,63,62,4,67,66,65,64,57,58, + 0,193,116,181,36,35,34,23,30,29, + 13,12,4,16,18,17,111,2,115,114, + 118,117,120,119,122,121,124,123,112,55, + 2,76,61,2,15,179,155,141,116,13, + 12,63,62,4,67,66,65,64,57,58, 16,71,70,73,72,78,77,74,88,87, - 86,84,85,83,82,81,80,79,69,178, - 193,155,132,116,13,2,153,152,181,10, - 182,183,53,52,184,51,185,186,1,3, + 86,84,85,83,82,81,80,79,69,179, + 194,155,132,116,15,2,153,152,182,10, + 183,184,54,53,185,52,186,187,1,3, 114,114,117,117,117,117,115,115,119,118, 118,121,120,155,123,122,132,37,158,4, - 12,126,116,4,169,116,2,13,136,37, + 14,126,116,4,169,116,2,15,136,37, 136,37,37,136,68,116,4,116,116,126, - 191,167,166,133,116,168,116,150,4,37, - 116,37,116,116,37,179,116,37,116,167, - 191,12,126,4,2,143,145,116,54,166, - 116,164,141,165,116,164,189,136,190,116, - 160,54,197,61,13,198,116,167,126,126, - 156,116,2,158,164,116,164,160,69,54, - 189,69,150,61,13,179,116,194,68,156, - 2,116,160,150,160,166,195,54,68,158, - 54 + 192,167,166,133,116,168,116,150,4,37, + 116,37,116,116,37,180,116,37,170,116, + 167,192,14,126,4,2,143,145,116,55, + 166,116,164,141,165,116,164,190,136,191, + 116,160,55,199,61,15,200,116,37,167, + 126,126,156,116,2,158,164,116,164,160, + 69,55,190,69,150,61,15,116,116,195, + 68,156,2,116,160,150,180,166,196,55, + 68,158,160,55,135 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1153,20 +1170,20 @@ public class UPCSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTab public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 211, + NUM_STATES = 215, NT_OFFSET = 107, - LA_STATE_OFFSET = 2178, + LA_STATE_OFFSET = 2201, MAX_LA = 2, - NUM_RULES = 356, - NUM_NONTERMINALS = 120, - NUM_SYMBOLS = 227, + NUM_RULES = 359, + NUM_NONTERMINALS = 122, + NUM_SYMBOLS = 229, SEGMENT_SIZE = 8192, - START_STATE = 1638, + START_STATE = 1631, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 89, EOLT_SYMBOL = 89, - ACCEPT_ACTION = 1806, - ERROR_ACTION = 1822; + ACCEPT_ACTION = 1826, + ERROR_ACTION = 1842; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java index 62f3c15c294..aec960a5dee 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCSizeofExpressionParsersym.java @@ -15,7 +15,7 @@ package org.eclipse.cdt.internal.core.dom.parser.upc; public interface UPCSizeofExpressionParsersym { public final static int - TK_auto = 17, + TK_auto = 19, TK_break = 90, TK_case = 91, TK_char = 38, @@ -25,26 +25,26 @@ public interface UPCSizeofExpressionParsersym { TK_do = 94, TK_double = 39, TK_else = 95, - TK_enum = 51, - TK_extern = 18, + TK_enum = 52, + TK_extern = 20, TK_float = 40, TK_for = 96, TK_goto = 97, TK_if = 98, - TK_inline = 19, + TK_inline = 21, TK_int = 41, TK_long = 42, - TK_register = 20, + TK_register = 22, TK_restrict = 7, TK_return = 99, TK_short = 43, TK_signed = 44, - TK_sizeof = 24, - TK_static = 12, - TK_struct = 52, + TK_sizeof = 23, + TK_static = 14, + TK_struct = 53, TK_switch = 100, - TK_typedef = 21, - TK_union = 53, + TK_typedef = 24, + TK_union = 54, TK_unsigned = 45, TK_void = 46, TK_volatile = 8, @@ -60,17 +60,17 @@ public interface UPCSizeofExpressionParsersym { TK_Completion = 3, TK_EndOfCompletion = 5, TK_Invalid = 102, - TK_LeftBracket = 13, + TK_LeftBracket = 15, TK_LeftParen = 2, TK_LeftBrace = 37, TK_Dot = 61, TK_Arrow = 76, - TK_PlusPlus = 22, - TK_MinusMinus = 23, + TK_PlusPlus = 17, + TK_MinusMinus = 18, TK_And = 16, TK_Star = 4, - TK_Plus = 14, - TK_Minus = 15, + TK_Plus = 12, + TK_Minus = 13, TK_Tilde = 29, TK_Bang = 30, TK_Slash = 62, @@ -101,10 +101,10 @@ public interface UPCSizeofExpressionParsersym { TK_AndAssign = 86, TK_CaretAssign = 87, TK_OrAssign = 88, - TK_Comma = 54, + TK_Comma = 55, TK_RightBracket = 59, TK_RightParen = 50, - TK_RightBrace = 55, + TK_RightBrace = 51, TK_SemiColon = 75, TK_MYTHREAD = 31, TK_THREADS = 32, @@ -136,19 +136,19 @@ public interface UPCSizeofExpressionParsersym { "relaxed", "shared", "strict", - "static", - "LeftBracket", "Plus", "Minus", + "static", + "LeftBracket", "And", + "PlusPlus", + "MinusMinus", "auto", "extern", "inline", "register", - "typedef", - "PlusPlus", - "MinusMinus", "sizeof", + "typedef", "integer", "floating", "charconst", @@ -175,11 +175,11 @@ public interface UPCSizeofExpressionParsersym { "_Complex", "_Imaginary", "RightParen", + "RightBrace", "enum", "struct", "union", "Comma", - "RightBrace", "ERROR_TOKEN", "RightShift", "LeftShift", |