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 6dce734dc93..bcb01a4cf70 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 @@ -91,7 +91,7 @@ public class UPCParser extends PrsStream implements RuleAction , IParserActionTo for (int i = 0; i < unimplemented_symbols.size(); i++) { Integer id = (Integer) unimplemented_symbols.get(i); - System.out.println(" " + UPCParsersym.orderedTerminalSymbols[id.intValue()]); + System.out.println(" " + UPCParsersym.orderedTerminalSymbols[id.intValue()]); //$NON-NLS-1$ } System.out.println(); } @@ -294,7 +294,7 @@ public List getRuleTokens() { } // - // Rule 17: primary_expression ::= ident + // Rule 17: primary_expression ::= identifier_or_completion // case 17: { action.beforeConsume(); action. consumeExpressionID(); break; } @@ -324,13 +324,13 @@ public List getRuleTokens() { } // - // Rule 23: postfix_expression ::= postfix_expression . ident + // Rule 23: postfix_expression ::= postfix_expression . member_name // case 23: { action.beforeConsume(); action. consumeExpressionFieldReference(false); break; } // - // Rule 24: postfix_expression ::= postfix_expression -> ident + // Rule 24: postfix_expression ::= postfix_expression -> member_name // case 24: { action.beforeConsume(); action. consumeExpressionFieldReference(true); break; } @@ -360,1359 +360,1359 @@ public List getRuleTokens() { } // - // Rule 29: argument_expression_list ::= assignment_expression + // Rule 30: argument_expression_list ::= assignment_expression // - case 29: { action.beforeConsume(); action. consumeExpressionList(true); break; + case 30: { action.beforeConsume(); action. consumeExpressionList(true); break; } // - // Rule 30: argument_expression_list ::= argument_expression_list , assignment_expression + // Rule 31: argument_expression_list ::= argument_expression_list , assignment_expression // - case 30: { action.beforeConsume(); action. consumeExpressionList(false); break; + case 31: { action.beforeConsume(); action. consumeExpressionList(false); break; } // - // Rule 32: unary_expression ::= ++ unary_expression + // Rule 33: unary_expression ::= ++ unary_expression // - case 32: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break; + case 33: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixIncr); break; } // - // Rule 33: unary_expression ::= -- unary_expression + // Rule 34: unary_expression ::= -- unary_expression // - case 33: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break; + case 34: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_prefixDecr); break; } // - // Rule 34: unary_expression ::= & cast_expression + // Rule 35: unary_expression ::= & cast_expression // - case 34: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break; + case 35: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_amper); break; } // - // Rule 35: unary_expression ::= * cast_expression + // Rule 36: unary_expression ::= * cast_expression // - case 35: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break; + case 36: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_star); break; } // - // Rule 36: unary_expression ::= + cast_expression + // Rule 37: unary_expression ::= + cast_expression // - case 36: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break; + case 37: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_plus); break; } // - // Rule 37: unary_expression ::= - cast_expression + // Rule 38: unary_expression ::= - cast_expression // - case 37: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break; + case 38: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_minus); break; } // - // Rule 38: unary_expression ::= ~ cast_expression + // Rule 39: unary_expression ::= ~ cast_expression // - case 38: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break; + case 39: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_tilde); break; } // - // Rule 39: unary_expression ::= ! cast_expression + // Rule 40: unary_expression ::= ! cast_expression // - case 39: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break; + case 40: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_not); break; } // - // Rule 40: unary_expression ::= sizeof unary_expression + // Rule 41: unary_expression ::= sizeof unary_expression // - case 40: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break; + case 41: { action.beforeConsume(); action. consumeExpressionUnaryOperator(IASTUnaryExpression.op_sizeof); break; } // - // Rule 41: unary_expression ::= sizeof ( type_name ) + // Rule 42: unary_expression ::= sizeof ( type_name ) // - case 41: { action.beforeConsume(); action. consumeExpressionUnarySizeofTypeName(); break; + case 42: { action.beforeConsume(); action. consumeExpressionUnarySizeofTypeName(); break; } // - // Rule 43: cast_expression ::= ( type_name ) cast_expression + // Rule 44: cast_expression ::= ( type_name ) cast_expression // - case 43: { action.beforeConsume(); action. consumeExpressionCast(); break; + case 44: { action.beforeConsume(); action. consumeExpressionCast(); break; } // - // Rule 45: multiplicative_expression ::= multiplicative_expression * cast_expression + // Rule 46: multiplicative_expression ::= multiplicative_expression * cast_expression // - case 45: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break; + case 46: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiply); break; } // - // Rule 46: multiplicative_expression ::= multiplicative_expression / cast_expression + // Rule 47: multiplicative_expression ::= multiplicative_expression / cast_expression // - case 46: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break; + case 47: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divide); break; } // - // Rule 47: multiplicative_expression ::= multiplicative_expression % cast_expression + // Rule 48: multiplicative_expression ::= multiplicative_expression % cast_expression // - case 47: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break; + case 48: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_modulo); break; } // - // Rule 49: additive_expression ::= additive_expression + multiplicative_expression + // Rule 50: additive_expression ::= additive_expression + multiplicative_expression // - case 49: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break; + case 50: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plus); break; } // - // Rule 50: additive_expression ::= additive_expression - multiplicative_expression + // Rule 51: additive_expression ::= additive_expression - multiplicative_expression // - case 50: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break; + case 51: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minus); break; } // - // Rule 52: shift_expression ::= shift_expression << additive_expression + // Rule 53: shift_expression ::= shift_expression << additive_expression // - case 52: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break; + case 53: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeft); break; } // - // Rule 53: shift_expression ::= shift_expression >> additive_expression + // Rule 54: shift_expression ::= shift_expression >> additive_expression // - case 53: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break; + case 54: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRight); break; } // - // Rule 55: relational_expression ::= relational_expression < shift_expression + // Rule 56: relational_expression ::= relational_expression < shift_expression // - case 55: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break; + case 56: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessThan); break; } // - // Rule 56: relational_expression ::= relational_expression > shift_expression + // Rule 57: relational_expression ::= relational_expression > shift_expression // - case 56: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break; + case 57: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterThan); break; } // - // Rule 57: relational_expression ::= relational_expression <= shift_expression + // Rule 58: relational_expression ::= relational_expression <= shift_expression // - case 57: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break; + case 58: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_lessEqual); break; } // - // Rule 58: relational_expression ::= relational_expression >= shift_expression + // Rule 59: relational_expression ::= relational_expression >= shift_expression // - case 58: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break; + case 59: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_greaterEqual); break; } // - // Rule 60: equality_expression ::= equality_expression == relational_expression + // Rule 61: equality_expression ::= equality_expression == relational_expression // - case 60: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break; + case 61: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_equals); break; } // - // Rule 61: equality_expression ::= equality_expression != relational_expression + // Rule 62: equality_expression ::= equality_expression != relational_expression // - case 61: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break; + case 62: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_notequals); break; } // - // Rule 63: AND_expression ::= AND_expression & equality_expression + // Rule 64: AND_expression ::= AND_expression & equality_expression // - case 63: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break; + case 64: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAnd); break; } // - // Rule 65: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression + // Rule 66: exclusive_OR_expression ::= exclusive_OR_expression ^ AND_expression // - case 65: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break; + case 66: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXor); break; } // - // Rule 67: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression + // Rule 68: inclusive_OR_expression ::= inclusive_OR_expression | exclusive_OR_expression // - case 67: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break; + case 68: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOr); break; } // - // Rule 69: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression + // Rule 70: logical_AND_expression ::= logical_AND_expression && inclusive_OR_expression // - case 69: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break; + case 70: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalAnd); break; } // - // Rule 71: logical_OR_expression ::= logical_OR_expression || logical_AND_expression + // Rule 72: logical_OR_expression ::= logical_OR_expression || logical_AND_expression // - case 71: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break; + case 72: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_logicalOr); break; } // - // Rule 73: conditional_expression ::= logical_OR_expression ? expression : conditional_expression + // Rule 74: conditional_expression ::= logical_OR_expression ? expression : conditional_expression // - case 73: { action.beforeConsume(); action. consumeExpressionConditional(); break; + case 74: { action.beforeConsume(); action. consumeExpressionConditional(); break; } // - // Rule 75: assignment_expression ::= unary_expression = assignment_expression + // Rule 76: assignment_expression ::= unary_expression = assignment_expression // - case 75: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; + case 76: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_assign); break; } // - // Rule 76: assignment_expression ::= unary_expression *= assignment_expression + // Rule 77: assignment_expression ::= unary_expression *= assignment_expression // - case 76: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break; + case 77: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_multiplyAssign); break; } // - // Rule 77: assignment_expression ::= unary_expression /= assignment_expression + // Rule 78: assignment_expression ::= unary_expression /= assignment_expression // - case 77: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break; + case 78: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_divideAssign); break; } // - // Rule 78: assignment_expression ::= unary_expression %= assignment_expression + // Rule 79: assignment_expression ::= unary_expression %= assignment_expression // - case 78: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break; + case 79: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_moduloAssign); break; } // - // Rule 79: assignment_expression ::= unary_expression += assignment_expression + // Rule 80: assignment_expression ::= unary_expression += assignment_expression // - case 79: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break; + case 80: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_plusAssign); break; } // - // Rule 80: assignment_expression ::= unary_expression -= assignment_expression + // Rule 81: assignment_expression ::= unary_expression -= assignment_expression // - case 80: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break; + case 81: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_minusAssign); break; } // - // Rule 81: assignment_expression ::= unary_expression <<= assignment_expression + // Rule 82: assignment_expression ::= unary_expression <<= assignment_expression // - case 81: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break; + case 82: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftLeftAssign); break; } // - // Rule 82: assignment_expression ::= unary_expression >>= assignment_expression + // Rule 83: assignment_expression ::= unary_expression >>= assignment_expression // - case 82: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break; + case 83: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_shiftRightAssign); break; } // - // Rule 83: assignment_expression ::= unary_expression &= assignment_expression + // Rule 84: assignment_expression ::= unary_expression &= assignment_expression // - case 83: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break; + case 84: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryAndAssign); break; } // - // Rule 84: assignment_expression ::= unary_expression ^= assignment_expression + // Rule 85: assignment_expression ::= unary_expression ^= assignment_expression // - case 84: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break; + case 85: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryXorAssign); break; } // - // Rule 85: assignment_expression ::= unary_expression |= assignment_expression + // Rule 86: assignment_expression ::= unary_expression |= assignment_expression // - case 85: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break; + case 86: { action.beforeConsume(); action. consumeExpressionBinaryOperator(IASTBinaryExpression.op_binaryOrAssign); break; } // - // Rule 86: expression_in_statement ::= expression_list - // - case 86: { action.beforeConsume(); action. consumeExpression(); break; - } - - // - // Rule 87: expression ::= expression_list + // Rule 87: expression_in_statement ::= expression_list // case 87: { action.beforeConsume(); action. consumeExpression(); break; } // - // Rule 88: expression_list ::= assignment_expression + // Rule 88: expression ::= expression_list // - case 88: { action.beforeConsume(); action. consumeExpressionList(true); break; + case 88: { action.beforeConsume(); action. consumeExpression(); break; } // - // Rule 89: expression_list ::= expression_list , assignment_expression + // Rule 89: expression_list ::= assignment_expression // - case 89: { action.beforeConsume(); action. consumeExpressionList(false); break; + case 89: { action.beforeConsume(); action. consumeExpressionList(true); break; } // - // Rule 97: statement ::= ERROR_TOKEN + // Rule 90: expression_list ::= expression_list , assignment_expression // - case 97: { action.beforeConsume(); action. consumeStatementProblem(); break; + case 90: { action.beforeConsume(); action. consumeExpressionList(false); break; } // - // Rule 98: labeled_statement ::= label_identifier : statement + // Rule 98: statement ::= ERROR_TOKEN // - case 98: { action.beforeConsume(); action. consumeStatementLabeled(); break; + case 98: { action.beforeConsume(); action. consumeStatementProblem(); break; } // - // Rule 99: labeled_statement ::= case constant_expression : + // Rule 99: labeled_statement ::= label_identifier : statement // - case 99: { action.beforeConsume(); action. consumeStatementCase(); break; + case 99: { action.beforeConsume(); action. consumeStatementLabeled(); break; } // - // Rule 100: labeled_statement ::= default : + // Rule 100: labeled_statement ::= case constant_expression : // - case 100: { action.beforeConsume(); action. consumeStatementDefault(); break; + case 100: { action.beforeConsume(); action. consumeStatementCase(); break; } // - // Rule 101: label_identifier ::= identifier + // Rule 101: labeled_statement ::= default : // - case 101: { action.beforeConsume(); action. consumeName(); break; + case 101: { action.beforeConsume(); action. consumeStatementDefault(); break; } // - // Rule 102: compound_statement ::= { } + // Rule 102: label_identifier ::= identifier // - case 102: { action.beforeConsume(); action. consumeStatementEmptyCompoundStatement(); break; + case 102: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 103: compound_statement ::= { block_item_list } + // Rule 103: compound_statement ::= { } // - case 103: { action.beforeConsume(); action. consumeStatementCompoundStatement(); break; + case 103: { action.beforeConsume(); action. consumeStatementEmptyCompoundStatement(); break; } // - // Rule 107: block_item ::= declaration + // Rule 104: compound_statement ::= { block_item_list } // - case 107: { action.beforeConsume(); action. consumeStatementDeclaration(); break; + case 104: { action.beforeConsume(); action. consumeStatementCompoundStatement(); break; } // - // Rule 108: expression_statement ::= ; + // Rule 108: block_item ::= declaration // - case 108: { action.beforeConsume(); action. consumeStatementNull(); break; + case 108: { action.beforeConsume(); action. consumeStatementDeclaration(); break; } // - // Rule 109: expression_statement ::= expression_in_statement ; + // Rule 109: expression_statement ::= ; // - case 109: { action.beforeConsume(); action. consumeStatementExpression(); break; + case 109: { action.beforeConsume(); action. consumeStatementNull(); break; } // - // Rule 110: selection_statement ::= if ( expression ) statement + // Rule 110: expression_statement ::= expression_in_statement ; // - case 110: { action.beforeConsume(); action. consumeStatementIfThen(); break; + case 110: { action.beforeConsume(); action. consumeStatementExpression(); break; } // - // Rule 111: selection_statement ::= if ( expression ) statement else statement + // Rule 111: selection_statement ::= if ( expression ) statement // - case 111: { action.beforeConsume(); action. consumeStatementIfThenElse(); break; + case 111: { action.beforeConsume(); action. consumeStatementIfThen(); break; } // - // Rule 112: selection_statement ::= switch ( expression ) statement + // Rule 112: selection_statement ::= if ( expression ) statement else statement // - case 112: { action.beforeConsume(); action. consumeStatementSwitch(); break; + case 112: { action.beforeConsume(); action. consumeStatementIfThenElse(); break; } // - // Rule 113: iteration_statement ::= do statement while ( expression ) ; + // Rule 113: selection_statement ::= switch ( expression ) statement // - case 113: { action.beforeConsume(); action. consumeStatementDoLoop(); break; + case 113: { action.beforeConsume(); action. consumeStatementSwitch(); break; } // - // Rule 114: iteration_statement ::= while ( expression ) statement + // Rule 114: iteration_statement ::= do statement while ( expression ) ; // - case 114: { action.beforeConsume(); action. consumeStatementWhileLoop(); break; + case 114: { action.beforeConsume(); action. consumeStatementDoLoop(); break; } // - // Rule 115: iteration_statement ::= for ( expression ; expression ; expression ) statement + // Rule 115: iteration_statement ::= while ( expression ) statement // - case 115: { action.beforeConsume(); action. consumeStatementForLoop(true, true, true); break; + case 115: { action.beforeConsume(); action. consumeStatementWhileLoop(); break; } // - // Rule 116: iteration_statement ::= for ( expression ; expression ; ) statement + // Rule 116: iteration_statement ::= for ( expression ; expression ; expression ) statement // - case 116: { action.beforeConsume(); action. consumeStatementForLoop(true, true, false); break; + case 116: { action.beforeConsume(); action. consumeStatementForLoop(true, true, true); break; } // - // Rule 117: iteration_statement ::= for ( expression ; ; expression ) statement + // Rule 117: iteration_statement ::= for ( expression ; expression ; ) statement // - case 117: { action.beforeConsume(); action. consumeStatementForLoop(true, false, true); break; + case 117: { action.beforeConsume(); action. consumeStatementForLoop(true, true, false); break; } // - // Rule 118: iteration_statement ::= for ( expression ; ; ) statement + // Rule 118: iteration_statement ::= for ( expression ; ; expression ) statement // - case 118: { action.beforeConsume(); action. consumeStatementForLoop(true, false, false); break; + case 118: { action.beforeConsume(); action. consumeStatementForLoop(true, false, true); break; } // - // Rule 119: iteration_statement ::= for ( ; expression ; expression ) statement + // Rule 119: iteration_statement ::= for ( expression ; ; ) statement // - case 119: { action.beforeConsume(); action. consumeStatementForLoop(false, true, true); break; + case 119: { action.beforeConsume(); action. consumeStatementForLoop(true, false, false); break; } // - // Rule 120: iteration_statement ::= for ( ; expression ; ) statement + // Rule 120: iteration_statement ::= for ( ; expression ; expression ) statement // - case 120: { action.beforeConsume(); action. consumeStatementForLoop(false, true, false); break; + case 120: { action.beforeConsume(); action. consumeStatementForLoop(false, true, true); break; } // - // Rule 121: iteration_statement ::= for ( ; ; expression ) statement + // Rule 121: iteration_statement ::= for ( ; expression ; ) statement // - case 121: { action.beforeConsume(); action. consumeStatementForLoop(false, false, true); break; + case 121: { action.beforeConsume(); action. consumeStatementForLoop(false, true, false); break; } // - // Rule 122: iteration_statement ::= for ( ; ; ) statement + // Rule 122: iteration_statement ::= for ( ; ; expression ) statement // - case 122: { action.beforeConsume(); action. consumeStatementForLoop(false, false, false); break; + case 122: { action.beforeConsume(); action. consumeStatementForLoop(false, false, true); break; } // - // Rule 123: iteration_statement ::= for ( declaration expression ; expression ) statement + // Rule 123: iteration_statement ::= for ( ; ; ) statement // - case 123: { action.beforeConsume(); action. consumeStatementForLoop(true, true, true); break; + case 123: { action.beforeConsume(); action. consumeStatementForLoop(false, false, false); break; } // - // Rule 124: iteration_statement ::= for ( declaration expression ; ) statement + // Rule 124: iteration_statement ::= for ( declaration expression ; expression ) statement // - case 124: { action.beforeConsume(); action. consumeStatementForLoop(true, true, false); break; + case 124: { action.beforeConsume(); action. consumeStatementForLoop(true, true, true); break; } // - // Rule 125: iteration_statement ::= for ( declaration ; expression ) statement + // Rule 125: iteration_statement ::= for ( declaration expression ; ) statement // - case 125: { action.beforeConsume(); action. consumeStatementForLoop(true, false, true); break; + case 125: { action.beforeConsume(); action. consumeStatementForLoop(true, true, false); break; } // - // Rule 126: iteration_statement ::= for ( declaration ; ) statement + // Rule 126: iteration_statement ::= for ( declaration ; expression ) statement // - case 126: { action.beforeConsume(); action. consumeStatementForLoop(true, false, false); break; + case 126: { action.beforeConsume(); action. consumeStatementForLoop(true, false, true); break; } // - // Rule 127: jump_statement ::= goto goto_identifier ; + // Rule 127: iteration_statement ::= for ( declaration ; ) statement // - case 127: { action.beforeConsume(); action. consumeStatementGoto(); break; + case 127: { action.beforeConsume(); action. consumeStatementForLoop(true, false, false); break; } // - // Rule 128: jump_statement ::= continue ; + // Rule 128: jump_statement ::= goto goto_identifier ; // - case 128: { action.beforeConsume(); action. consumeStatementContinue(); break; + case 128: { action.beforeConsume(); action. consumeStatementGoto(); break; } // - // Rule 129: jump_statement ::= break ; + // Rule 129: jump_statement ::= continue ; // - case 129: { action.beforeConsume(); action. consumeStatementBreak(); break; + case 129: { action.beforeConsume(); action. consumeStatementContinue(); break; } // - // Rule 130: jump_statement ::= return ; + // Rule 130: jump_statement ::= break ; // - case 130: { action.beforeConsume(); action. consumeStatementReturn(false); break; + case 130: { action.beforeConsume(); action. consumeStatementBreak(); break; } // - // Rule 131: jump_statement ::= return expression ; + // Rule 131: jump_statement ::= return ; // - case 131: { action.beforeConsume(); action. consumeStatementReturn(true); break; + case 131: { action.beforeConsume(); action. consumeStatementReturn(false); break; } // - // Rule 132: goto_identifier ::= identifier + // Rule 132: jump_statement ::= return expression ; // - case 132: { action.beforeConsume(); action. consumeName(); break; + case 132: { action.beforeConsume(); action. consumeStatementReturn(true); break; } // - // Rule 133: declaration ::= declaration_specifiers ; + // Rule 133: goto_identifier ::= identifier // - case 133: { action.beforeConsume(); action. consumeDeclaration(false); break; + case 133: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 134: declaration ::= declaration_specifiers init_declarator_list ; + // Rule 134: declaration ::= declaration_specifiers ; // - case 134: { action.beforeConsume(); action. consumeDeclaration(true); break; + case 134: { action.beforeConsume(); action. consumeDeclaration(false); break; } // - // Rule 135: declaration_specifiers ::= simple_declaration_specifiers + // Rule 135: declaration ::= declaration_specifiers init_declarator_list ; // - case 135: { action.beforeConsume(); action. consumeDeclarationSpecifiersSimple(); break; + case 135: { action.beforeConsume(); action. consumeDeclaration(true); break; } // - // Rule 136: declaration_specifiers ::= struct_or_union_declaration_specifiers + // Rule 136: declaration_specifiers ::= simple_declaration_specifiers // - case 136: { action.beforeConsume(); action. consumeDeclarationSpecifiersStructUnionEnum(); break; + case 136: { action.beforeConsume(); action. consumeDeclarationSpecifiersSimple(); break; } // - // Rule 137: declaration_specifiers ::= enum_declaration_specifiers + // Rule 137: declaration_specifiers ::= struct_or_union_declaration_specifiers // case 137: { action.beforeConsume(); action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 138: declaration_specifiers ::= typdef_name_declaration_specifiers + // Rule 138: declaration_specifiers ::= enum_declaration_specifiers // - case 138: { action.beforeConsume(); action. consumeDeclarationSpecifiersTypedefName(); break; + case 138: { action.beforeConsume(); action. consumeDeclarationSpecifiersStructUnionEnum(); break; } // - // Rule 165: init_declarator ::= declarator = initializer + // Rule 139: declaration_specifiers ::= typdef_name_declaration_specifiers // - case 165: { action.beforeConsume(); action. consumeDeclaratorWithInitializer(); break; + case 139: { action.beforeConsume(); action. consumeDeclarationSpecifiersTypedefName(); break; } // - // Rule 166: storage_class_specifier ::= typedef + // Rule 161: init_declarator ::= declarator = initializer + // + case 161: { action.beforeConsume(); action. consumeDeclaratorWithInitializer(); break; + } + + // + // Rule 162: storage_class_specifier ::= typedef + // + case 162: { action.beforeConsume(); action. consumeToken(); break; + } + + // + // Rule 163: storage_class_specifier ::= extern + // + case 163: { action.beforeConsume(); action. consumeToken(); break; + } + + // + // Rule 164: storage_class_specifier ::= static + // + case 164: { action.beforeConsume(); action. consumeToken(); break; + } + + // + // Rule 165: storage_class_specifier ::= auto + // + case 165: { action.beforeConsume(); action. consumeToken(); break; + } + + // + // Rule 166: storage_class_specifier ::= register // case 166: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 167: storage_class_specifier ::= extern + // Rule 167: type_specifier ::= void // case 167: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 168: storage_class_specifier ::= static + // Rule 168: type_specifier ::= char // case 168: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 169: storage_class_specifier ::= auto + // Rule 169: type_specifier ::= short // case 169: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 170: storage_class_specifier ::= register + // Rule 170: type_specifier ::= int // case 170: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 171: type_specifier ::= void + // Rule 171: type_specifier ::= long // case 171: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 172: type_specifier ::= char + // Rule 172: type_specifier ::= float // case 172: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 173: type_specifier ::= short + // Rule 173: type_specifier ::= double // case 173: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 174: type_specifier ::= int + // Rule 174: type_specifier ::= signed // case 174: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 175: type_specifier ::= long + // Rule 175: type_specifier ::= unsigned // case 175: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 176: type_specifier ::= float + // Rule 176: type_specifier ::= _Bool // case 176: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 177: type_specifier ::= double + // Rule 177: type_specifier ::= _Complex // case 177: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 178: type_specifier ::= signed + // Rule 178: type_specifier ::= _Imaginary // case 178: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 179: type_specifier ::= unsigned + // Rule 179: typedef_name ::= identifier_or_completion // case 179: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 180: type_specifier ::= _Bool + // Rule 180: struct_or_union_specifier ::= struct { struct_declaration_list_opt } // - case 180: { action.beforeConsume(); action. consumeToken(); break; + case 180: { action.beforeConsume(); action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 181: type_specifier ::= _Complex + // Rule 181: struct_or_union_specifier ::= union { struct_declaration_list_opt } // - case 181: { action.beforeConsume(); action. consumeToken(); break; + case 181: { action.beforeConsume(); action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 182: type_specifier ::= _Imaginary + // Rule 182: struct_or_union_specifier ::= struct struct_or_union_identifier { struct_declaration_list_opt } // - case 182: { action.beforeConsume(); action. consumeToken(); break; + case 182: { action.beforeConsume(); action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break; } // - // Rule 183: typedef_name ::= ident + // Rule 183: struct_or_union_specifier ::= union struct_or_union_identifier { struct_declaration_list_opt } // - case 183: { action.beforeConsume(); action. consumeToken(); break; + case 183: { action.beforeConsume(); action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break; } // - // Rule 184: struct_or_union_specifier ::= struct { struct_declaration_list_opt } + // Rule 184: struct_or_union_specifier ::= struct struct_or_union_identifier // - case 184: { action.beforeConsume(); action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_struct); break; + case 184: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_struct); break; } // - // Rule 185: struct_or_union_specifier ::= union { struct_declaration_list_opt } + // Rule 185: struct_or_union_specifier ::= union struct_or_union_identifier // - case 185: { action.beforeConsume(); action. consumeTypeSpecifierComposite(false, IASTCompositeTypeSpecifier.k_union); break; + case 185: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_union); break; } // - // Rule 186: struct_or_union_specifier ::= struct struct_or_union_identifier { struct_declaration_list_opt } + // Rule 186: struct_or_union_identifier ::= identifier // - case 186: { action.beforeConsume(); action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_struct); break; + case 186: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 187: struct_or_union_specifier ::= union struct_or_union_identifier { struct_declaration_list_opt } + // Rule 191: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; // - case 187: { action.beforeConsume(); action. consumeTypeSpecifierComposite(true, IASTCompositeTypeSpecifier.k_union); break; + case 191: { action.beforeConsume(); action. consumeStructDeclaration(true); break; } // - // Rule 188: struct_or_union_specifier ::= struct struct_or_union_identifier + // Rule 192: struct_declaration ::= specifier_qualifier_list ; // - case 188: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_struct); break; + case 192: { action.beforeConsume(); action. consumeStructDeclaration(false); break; } // - // Rule 189: struct_or_union_specifier ::= union struct_or_union_identifier + // Rule 197: struct_declarator ::= : constant_expression // - case 189: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_union); break; + case 197: { action.beforeConsume(); action. consumeStructBitField(false); break; } // - // Rule 190: struct_or_union_identifier ::= identifier + // Rule 198: struct_declarator ::= declarator : constant_expression // - case 190: { action.beforeConsume(); action. consumeName(); break; + case 198: { action.beforeConsume(); action. consumeStructBitField(true); break; } // - // Rule 195: struct_declaration ::= specifier_qualifier_list struct_declarator_list ; + // Rule 199: enum_identifier ::= identifier // - case 195: { action.beforeConsume(); action. consumeStructDeclaration(true); break; + case 199: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 196: struct_declaration ::= specifier_qualifier_list ; + // Rule 200: enum_specifier ::= enum { enumerator_list_opt } // - case 196: { action.beforeConsume(); action. consumeStructDeclaration(false); break; + case 200: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 201: struct_declarator ::= : constant_expression + // Rule 201: enum_specifier ::= enum enum_identifier { enumerator_list_opt } // - case 201: { action.beforeConsume(); action. consumeStructBitField(false); break; + case 201: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 202: struct_declarator ::= declarator : constant_expression + // Rule 202: enum_specifier ::= enum { enumerator_list_opt , } // - case 202: { action.beforeConsume(); action. consumeStructBitField(true); break; + case 202: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(false); break; } // - // Rule 203: enum_identifier ::= identifier + // Rule 203: enum_specifier ::= enum enum_identifier { enumerator_list_opt , } // - case 203: { action.beforeConsume(); action. consumeName(); break; + case 203: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(true); break; } // - // Rule 204: enum_specifier ::= enum { enumerator_list_opt } + // Rule 204: enum_specifier ::= enum enum_identifier // - case 204: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(false); break; + case 204: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; } // - // Rule 205: enum_specifier ::= enum enum_identifier { enumerator_list_opt } + // Rule 209: enumerator ::= enum_identifier // - case 205: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(true); break; + case 209: { action.beforeConsume(); action. consumeEnumerator(false); break; } // - // Rule 206: enum_specifier ::= enum { enumerator_list_opt , } + // Rule 210: enumerator ::= enum_identifier = constant_expression // - case 206: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(false); break; + case 210: { action.beforeConsume(); action. consumeEnumerator(true); break; } // - // Rule 207: enum_specifier ::= enum enum_identifier { enumerator_list_opt , } + // Rule 211: type_qualifier ::= const // - case 207: { action.beforeConsume(); action. consumeTypeSpecifierEnumeration(true); break; + case 211: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 208: enum_specifier ::= enum enum_identifier + // Rule 212: type_qualifier ::= restrict // - case 208: { action.beforeConsume(); action. consumeTypeSpecifierElaborated(IASTElaboratedTypeSpecifier.k_enum); break; + case 212: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 213: enumerator ::= enum_identifier + // Rule 213: type_qualifier ::= volatile // - case 213: { action.beforeConsume(); action. consumeEnumerator(false); break; + case 213: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 214: enumerator ::= enum_identifier = constant_expression + // Rule 214: function_specifier ::= inline // - case 214: { action.beforeConsume(); action. consumeEnumerator(true); break; + case 214: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 215: type_qualifier ::= const + // Rule 216: declarator ::= pointer direct_declarator // - case 215: { action.beforeConsume(); action. consumeToken(); break; + case 216: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; } // - // Rule 216: type_qualifier ::= restrict + // Rule 217: direct_declarator ::= identifier // - case 216: { action.beforeConsume(); action. consumeToken(); break; + case 217: { action.beforeConsume(); action. consumeDirectDeclaratorIdentifier(); break; } // - // Rule 217: type_qualifier ::= volatile + // Rule 218: direct_declarator ::= ( declarator ) // - case 217: { action.beforeConsume(); action. consumeToken(); break; + case 218: { action.beforeConsume(); action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 218: function_specifier ::= inline + // Rule 221: array_direct_declarator ::= direct_declarator array_modifier // - case 218: { action.beforeConsume(); action. consumeToken(); break; + case 221: { action.beforeConsume(); action. consumeDirectDeclaratorArrayDeclarator(); break; } // - // Rule 220: declarator ::= pointer direct_declarator + // Rule 222: function_direct_declarator ::= direct_declarator ( parameter_type_list ) // - case 220: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; + case 222: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclarator(true); break; } // - // Rule 221: direct_declarator ::= identifier + // Rule 223: function_direct_declarator ::= direct_declarator ( ) // - case 221: { action.beforeConsume(); action. consumeDirectDeclaratorIdentifier(); break; + case 223: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclarator(false); break; } // - // Rule 222: direct_declarator ::= ( declarator ) + // Rule 225: function_declarator ::= pointer function_direct_declarator // - case 222: { action.beforeConsume(); action. consumeDirectDeclaratorBracketed(); break; + case 225: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; } // - // Rule 225: array_direct_declarator ::= direct_declarator array_modifier + // Rule 226: knr_direct_declarator ::= direct_declarator ( identifier_list ) // - case 225: { action.beforeConsume(); action. consumeDirectDeclaratorArrayDeclarator(); break; + case 226: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; } // - // Rule 226: function_direct_declarator ::= direct_declarator ( parameter_type_list ) + // Rule 228: knr_function_declarator ::= pointer knr_direct_declarator // - case 226: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclarator(true); break; + case 228: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; } // - // Rule 227: function_direct_declarator ::= direct_declarator ( ) + // Rule 229: array_modifier ::= [ ] // - case 227: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclarator(false); break; + case 229: { action.beforeConsume(); action. consumeDirectDeclaratorArrayModifier(false); break; } // - // Rule 229: function_declarator ::= pointer function_direct_declarator + // Rule 230: array_modifier ::= [ type_qualifier_list ] // - case 229: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; + case 230: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; } // - // Rule 230: knr_direct_declarator ::= direct_declarator ( identifier_list ) + // Rule 231: array_modifier ::= [ assignment_expression ] // - case 230: { action.beforeConsume(); action. consumeDirectDeclaratorFunctionDeclaratorKnR(); break; + case 231: { action.beforeConsume(); action. consumeDirectDeclaratorArrayModifier(true ); break; } // - // Rule 232: knr_function_declarator ::= pointer knr_direct_declarator + // Rule 232: array_modifier ::= [ type_qualifier_list assignment_expression ] // - case 232: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; + case 232: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true ); break; } // - // Rule 233: array_modifier ::= [ ] + // Rule 233: array_modifier ::= [ static assignment_expression ] // - case 233: { action.beforeConsume(); action. consumeDirectDeclaratorArrayModifier(false); break; + case 233: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true ); break; } // - // Rule 234: array_modifier ::= [ type_qualifier_list ] + // Rule 234: array_modifier ::= [ static type_qualifier_list assignment_expression ] // - case 234: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, false); break; + case 234: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true ); break; } // - // Rule 235: array_modifier ::= [ assignment_expression ] + // Rule 235: array_modifier ::= [ type_qualifier_list static assignment_expression ] // - case 235: { action.beforeConsume(); action. consumeDirectDeclaratorArrayModifier(true ); break; + case 235: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true ); break; } // - // Rule 236: array_modifier ::= [ type_qualifier_list assignment_expression ] + // Rule 236: array_modifier ::= [ * ] // - case 236: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, false, true, true ); break; + case 236: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; } // - // Rule 237: array_modifier ::= [ static assignment_expression ] + // Rule 237: array_modifier ::= [ type_qualifier_list * ] // - case 237: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, false, true ); break; + case 237: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; } // - // Rule 238: array_modifier ::= [ static type_qualifier_list assignment_expression ] + // Rule 238: pointer ::= * // - case 238: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true ); break; + case 238: { action.beforeConsume(); action. consumePointer(); break; } // - // Rule 239: array_modifier ::= [ type_qualifier_list static assignment_expression ] + // Rule 239: pointer ::= pointer * // - case 239: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(true, false, true, true ); break; + case 239: { action.beforeConsume(); action. consumePointer(); break; } // - // Rule 240: array_modifier ::= [ * ] + // Rule 240: pointer ::= * type_qualifier_list // - case 240: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, true, false, false); break; + case 240: { action.beforeConsume(); action. consumePointerTypeQualifierList(); break; } // - // Rule 241: array_modifier ::= [ type_qualifier_list * ] + // Rule 241: pointer ::= pointer * type_qualifier_list // - case 241: { action.beforeConsume(); action. consumeDirectDeclaratorModifiedArrayModifier(false, true, true, false); break; + case 241: { action.beforeConsume(); action. consumePointerTypeQualifierList(); break; } // - // Rule 242: pointer ::= * + // Rule 249: parameter_declaration ::= declaration_specifiers init_declarator // - case 242: { action.beforeConsume(); action. consumePointer(); break; + case 249: { action.beforeConsume(); action. consumeParameterDeclaration(true); break; } // - // Rule 243: pointer ::= pointer * + // Rule 250: parameter_declaration ::= declaration_specifiers // - case 243: { action.beforeConsume(); action. consumePointer(); break; + case 250: { action.beforeConsume(); action. consumeParameterDeclaration(false); break; } // - // Rule 244: pointer ::= * type_qualifier_list + // Rule 251: parameter_declaration ::= declaration_specifiers abstract_declarator // - case 244: { action.beforeConsume(); action. consumePointerTypeQualifierList(); break; + case 251: { action.beforeConsume(); action. consumeParameterDeclaration(true); break; } // - // Rule 245: pointer ::= pointer * type_qualifier_list + // Rule 252: identifier_list ::= identifier // - case 245: { action.beforeConsume(); action. consumePointerTypeQualifierList(); break; + case 252: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 253: parameter_declaration ::= declaration_specifiers init_declarator + // Rule 253: identifier_list ::= identifier_list , identifier // - case 253: { action.beforeConsume(); action. consumeParameterDeclaration(true); break; + case 253: { action.beforeConsume(); action. consumeName(); break; } // - // Rule 254: parameter_declaration ::= declaration_specifiers + // Rule 254: type_name ::= specifier_qualifier_list // - case 254: { action.beforeConsume(); action. consumeParameterDeclaration(false); break; + case 254: { action.beforeConsume(); action. consumeTypeId(false); break; } // - // Rule 255: parameter_declaration ::= declaration_specifiers abstract_declarator + // Rule 255: type_name ::= specifier_qualifier_list abstract_declarator // - case 255: { action.beforeConsume(); action. consumeParameterDeclaration(true); break; + case 255: { action.beforeConsume(); action. consumeTypeId(true); break; } // - // Rule 256: identifier_list ::= identifier + // Rule 256: abstract_declarator ::= pointer // - case 256: { action.beforeConsume(); action. consumeName(); break; + case 256: { action.beforeConsume(); action. consumeDeclaratorWithPointer(false); break; } // - // Rule 257: identifier_list ::= identifier_list , identifier + // Rule 258: abstract_declarator ::= pointer direct_abstract_declarator // - case 257: { action.beforeConsume(); action. consumeName(); break; + case 258: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; } // - // Rule 258: type_name ::= specifier_qualifier_list + // Rule 259: direct_abstract_declarator ::= ( abstract_declarator ) // - case 258: { action.beforeConsume(); action. consumeTypeId(false); break; + case 259: { action.beforeConsume(); action. consumeDirectDeclaratorBracketed(); break; } // - // Rule 259: type_name ::= specifier_qualifier_list abstract_declarator + // Rule 260: direct_abstract_declarator ::= array_modifier // - case 259: { action.beforeConsume(); action. consumeTypeId(true); break; + case 260: { action.beforeConsume(); action. consumeAbstractDeclaratorArrayModifier(false); break; } // - // Rule 260: abstract_declarator ::= pointer + // Rule 261: direct_abstract_declarator ::= direct_abstract_declarator array_modifier // - case 260: { action.beforeConsume(); action. consumeDeclaratorWithPointer(false); break; + case 261: { action.beforeConsume(); action. consumeAbstractDeclaratorArrayModifier(true); break; } // - // Rule 262: abstract_declarator ::= pointer direct_abstract_declarator + // Rule 262: direct_abstract_declarator ::= ( ) // - case 262: { action.beforeConsume(); action. consumeDeclaratorWithPointer(true); break; + case 262: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(false, false); break; } // - // Rule 263: direct_abstract_declarator ::= ( abstract_declarator ) + // Rule 263: direct_abstract_declarator ::= direct_abstract_declarator ( ) // - case 263: { action.beforeConsume(); action. consumeDirectDeclaratorBracketed(); break; + case 263: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(true, false); break; } // - // Rule 264: direct_abstract_declarator ::= array_modifier + // Rule 264: direct_abstract_declarator ::= ( parameter_type_list ) // - case 264: { action.beforeConsume(); action. consumeAbstractDeclaratorArrayModifier(false); break; + case 264: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(false, true); break; } // - // Rule 265: direct_abstract_declarator ::= direct_abstract_declarator array_modifier + // Rule 265: direct_abstract_declarator ::= direct_abstract_declarator ( parameter_type_list ) // - case 265: { action.beforeConsume(); action. consumeAbstractDeclaratorArrayModifier(true); break; + case 265: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(true, true); break; } // - // Rule 266: direct_abstract_declarator ::= ( ) + // Rule 266: initializer ::= assignment_expression // - case 266: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(false, false); break; + case 266: { action.beforeConsume(); action. consumeInitializer(); break; } // - // Rule 267: direct_abstract_declarator ::= direct_abstract_declarator ( ) + // Rule 267: initializer ::= { initializer_list } // - case 267: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(true, false); break; + case 267: { action.beforeConsume(); action. consumeInitializerList(); break; } // - // Rule 268: direct_abstract_declarator ::= ( parameter_type_list ) + // Rule 268: initializer ::= { initializer_list , } // - case 268: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(false, true); break; + case 268: { action.beforeConsume(); action. consumeInitializerList(); break; } // - // Rule 269: direct_abstract_declarator ::= direct_abstract_declarator ( parameter_type_list ) + // Rule 273: designated_initializer ::= designation initializer // - case 269: { action.beforeConsume(); action. consumeAbstractDeclaratorFunctionDeclarator(true, true); break; + case 273: { action.beforeConsume(); action. consumeInitializerDesignated(); break; } // - // Rule 270: initializer ::= assignment_expression + // Rule 277: designator ::= [ constant_expression ] // - case 270: { action.beforeConsume(); action. consumeInitializer(); break; + case 277: { action.beforeConsume(); action. consumeDesignatorArrayDesignator(); break; } // - // Rule 271: initializer ::= { initializer_list } + // Rule 278: designator ::= . identifier // - case 271: { action.beforeConsume(); action. consumeInitializerList(); break; + case 278: { action.beforeConsume(); action. consumeDesignatorFieldDesignator(); break; } // - // Rule 272: initializer ::= { initializer_list , } + // Rule 279: translation_unit ::= external_declaration_list // - case 272: { action.beforeConsume(); action. consumeInitializerList(); break; + case 279: { action.beforeConsume(); action. consumeTranslationUnit(); break; } // - // Rule 277: designated_initializer ::= designation initializer + // Rule 280: translation_unit ::= $Empty // - case 277: { action.beforeConsume(); action. consumeInitializerDesignated(); break; + case 280: { action.beforeConsume(); action. consumeTranslationUnit(); break; } // - // Rule 281: designator ::= [ constant_expression ] + // Rule 285: external_declaration ::= ; // - case 281: { action.beforeConsume(); action. consumeDesignatorArrayDesignator(); break; + case 285: { action.beforeConsume(); action. consumeDeclarationEmpty(); break; } // - // Rule 282: designator ::= . identifier + // Rule 286: external_declaration ::= ERROR_TOKEN // - case 282: { action.beforeConsume(); action. consumeDesignatorFieldDesignator(); break; + case 286: { action.beforeConsume(); action. consumeDeclarationProblem(); break; } // - // Rule 283: translation_unit ::= external_declaration_list + // Rule 287: function_definition ::= declaration_specifiers function_declarator compound_statement // - case 283: { action.beforeConsume(); action. consumeTranslationUnit(); break; + case 287: { action.beforeConsume(); action. consumeFunctionDefinition(true); break; } // - // Rule 284: translation_unit ::= $Empty + // Rule 288: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement // - case 284: { action.beforeConsume(); action. consumeTranslationUnit(); break; + case 288: { action.beforeConsume(); action. consumeFunctionDefinitionKnR(); break; } // - // Rule 289: external_declaration ::= ; + // Rule 289: function_definition ::= function_declarator compound_statement // - case 289: { action.beforeConsume(); action. consumeDeclarationEmpty(); break; + case 289: { action.beforeConsume(); action. consumeFunctionDefinition(false); break; } // - // Rule 290: external_declaration ::= ERROR_TOKEN + // Rule 292: constant ::= MYTHREAD // - case 290: { action.beforeConsume(); action. consumeDeclarationProblem(); break; + case 292: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; } // - // Rule 291: function_definition ::= declaration_specifiers function_declarator compound_statement + // Rule 293: constant ::= THREADS // - case 291: { action.beforeConsume(); action. consumeFunctionDefinition(true); break; + case 293: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; } // - // Rule 292: function_definition ::= declaration_specifiers knr_function_declarator declaration_list compound_statement + // Rule 294: constant ::= UPC_MAX_BLOCKSIZE // - case 292: { action.beforeConsume(); action. consumeFunctionDefinitionKnR(); break; + case 294: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; } // - // Rule 293: function_definition ::= function_declarator compound_statement + // Rule 295: unary_expression ::= upc_localsizeof unary_expression // - case 293: { action.beforeConsume(); action. consumeFunctionDefinition(false); break; + case 295: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_localsizeof); break; } // - // Rule 296: constant ::= MYTHREAD + // Rule 296: unary_expression ::= upc_localsizeof ( type_name ) // - case 296: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_mythread); break; + case 296: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_localsizeof); break; } // - // Rule 297: constant ::= THREADS + // Rule 297: unary_expression ::= upc_blocksizeof unary_expression // - case 297: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_threads); break; + case 297: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_blocksizeof); break; } // - // Rule 298: constant ::= UPC_MAX_BLOCKSIZE + // Rule 298: unary_expression ::= upc_blocksizeof ( type_name ) // - case 298: { action.beforeConsume(); action. consumeKeywordExpression(IUPCASTKeywordExpression.kw_upc_max_block_size); break; + case 298: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_blocksizeof); break; } // - // Rule 299: unary_expression ::= upc_localsizeof unary_expression + // Rule 299: unary_expression ::= upc_elemsizeof unary_expression // - case 299: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_localsizeof); break; + case 299: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_elemsizeof); break; } // - // Rule 300: unary_expression ::= upc_localsizeof ( type_name ) + // Rule 300: unary_expression ::= upc_elemsizeof ( type_name ) // - case 300: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_localsizeof); break; + case 300: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_elemsizeof); break; } // - // Rule 301: unary_expression ::= upc_blocksizeof unary_expression + // Rule 304: shared_type_qualifier ::= shared // - case 301: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_blocksizeof); break; + case 304: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 302: unary_expression ::= upc_blocksizeof ( type_name ) + // Rule 305: reference_type_qualifier ::= relaxed // - case 302: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_blocksizeof); break; + case 305: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 303: unary_expression ::= upc_elemsizeof unary_expression + // Rule 306: reference_type_qualifier ::= strict // - case 303: { action.beforeConsume(); action. consumeExpressionUpcSizeofOperator(IUPCASTSizeofExpression.op_upc_elemsizeof); break; + case 306: { action.beforeConsume(); action. consumeToken(); break; } // - // Rule 304: unary_expression ::= upc_elemsizeof ( type_name ) + // Rule 307: layout_qualifier ::= [ constant_expression ] // - case 304: { action.beforeConsume(); action. consumeExpressionUpcSizeofTypeName(IUPCASTSizeofExpression.op_upc_elemsizeof); break; + case 307: { action.beforeConsume(); action. consumeLayoutQualifier(true, false); break; } // - // Rule 308: shared_type_qualifier ::= shared + // Rule 308: layout_qualifier ::= [ * ] // - case 308: { action.beforeConsume(); action. consumeToken(); break; + case 308: { action.beforeConsume(); action. consumeLayoutQualifier(false, true); break; } // - // Rule 309: reference_type_qualifier ::= relaxed + // Rule 309: layout_qualifier ::= [ ] // - case 309: { action.beforeConsume(); action. consumeToken(); break; + case 309: { action.beforeConsume(); action. consumeLayoutQualifier(false, false); break; } // - // Rule 310: reference_type_qualifier ::= strict + // Rule 311: synchronization_statement ::= upc_notify expression ; // - case 310: { action.beforeConsume(); action. consumeToken(); break; + case 311: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; } // - // Rule 311: layout_qualifier ::= [ constant_expression ] + // Rule 312: synchronization_statement ::= upc_notify ; // - case 311: { action.beforeConsume(); action. consumeLayoutQualifier(true, false); break; + case 312: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; } // - // Rule 312: layout_qualifier ::= [ * ] + // Rule 313: synchronization_statement ::= upc_wait expression ; // - case 312: { action.beforeConsume(); action. consumeLayoutQualifier(false, true); break; + case 313: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; } // - // Rule 313: layout_qualifier ::= [ ] + // Rule 314: synchronization_statement ::= upc_wait ; // - case 313: { action.beforeConsume(); action. consumeLayoutQualifier(false, false); break; + case 314: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; } // - // Rule 315: synchronization_statement ::= upc_notify expression ; + // Rule 315: synchronization_statement ::= upc_barrier expression ; // - case 315: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, true); break; + case 315: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; } // - // Rule 316: synchronization_statement ::= upc_notify ; + // Rule 316: synchronization_statement ::= upc_barrier ; // - case 316: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_notify, false); break; + case 316: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; } // - // Rule 317: synchronization_statement ::= upc_wait expression ; + // Rule 317: synchronization_statement ::= upc_fence ; // - case 317: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, true); break; + case 317: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; } // - // Rule 318: synchronization_statement ::= upc_wait ; + // Rule 318: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement // - case 318: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_wait, false); break; + case 318: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 319: synchronization_statement ::= upc_barrier expression ; + // Rule 319: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement // - case 319: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, true); break; + case 319: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 320: synchronization_statement ::= upc_barrier ; + // Rule 320: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement // - case 320: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_barrier, false); break; + case 320: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 321: synchronization_statement ::= upc_fence ; + // Rule 321: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement // - case 321: { action.beforeConsume(); action. consumeStatementSynchronizationStatement(IUPCASTSynchronizationStatement.st_upc_fence, false); break; + case 321: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 322: iteration_statement ::= upc_forall ( expression ; expression ; expression ; affinity ) statement + // Rule 322: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement // - case 322: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 322: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 323: iteration_statement ::= upc_forall ( expression ; expression ; expression ; ) statement + // Rule 323: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement // - case 323: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 323: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 324: iteration_statement ::= upc_forall ( expression ; expression ; ; affinity ) statement + // Rule 324: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement // - case 324: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 324: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 325: iteration_statement ::= upc_forall ( expression ; expression ; ; ) statement + // Rule 325: iteration_statement ::= upc_forall ( expression ; ; ; ) statement // - case 325: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 325: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 326: iteration_statement ::= upc_forall ( expression ; ; expression ; affinity ) statement + // Rule 326: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement // - case 326: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; + case 326: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, true); break; } // - // Rule 327: iteration_statement ::= upc_forall ( expression ; ; expression ; ) statement + // Rule 327: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement // - case 327: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; + case 327: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, false); break; } // - // Rule 328: iteration_statement ::= upc_forall ( expression ; ; ; affinity ) statement + // Rule 328: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement // - case 328: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; + case 328: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, true); break; } // - // Rule 329: iteration_statement ::= upc_forall ( expression ; ; ; ) statement + // Rule 329: iteration_statement ::= upc_forall ( ; expression ; ; ) statement // - case 329: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; + case 329: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, false); break; } // - // Rule 330: iteration_statement ::= upc_forall ( ; expression ; expression ; affinity ) statement + // Rule 330: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement // - case 330: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, true); break; + case 330: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, true); break; } // - // Rule 331: iteration_statement ::= upc_forall ( ; expression ; expression ; ) statement + // Rule 331: iteration_statement ::= upc_forall ( ; ; expression ; ) statement // - case 331: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, true, false); break; + case 331: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, false); break; } // - // Rule 332: iteration_statement ::= upc_forall ( ; expression ; ; affinity ) statement + // Rule 332: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement // - case 332: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, true); break; + case 332: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, true); break; } // - // Rule 333: iteration_statement ::= upc_forall ( ; expression ; ; ) statement + // Rule 333: iteration_statement ::= upc_forall ( ; ; ; ) statement // - case 333: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, true, false, false); break; + case 333: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, false); break; } // - // Rule 334: iteration_statement ::= upc_forall ( ; ; expression ; affinity ) statement + // Rule 334: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement // - case 334: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, true); break; + case 334: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; } // - // Rule 335: iteration_statement ::= upc_forall ( ; ; expression ; ) statement + // Rule 335: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement // - case 335: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, true, false); break; + case 335: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; } // - // Rule 336: iteration_statement ::= upc_forall ( ; ; ; affinity ) statement + // Rule 336: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement // - case 336: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, true); break; + case 336: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; } // - // Rule 337: iteration_statement ::= upc_forall ( ; ; ; ) statement + // Rule 337: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement // - case 337: { action.beforeConsume(); action. consumeStatementUPCForallLoop(false, false, false, false); break; + case 337: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; } // - // Rule 338: iteration_statement ::= upc_forall ( declaration expression ; expression ; affinity ) statement + // Rule 338: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement // - case 338: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, true); break; + case 338: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; } // - // Rule 339: iteration_statement ::= upc_forall ( declaration expression ; expression ; ) statement + // Rule 339: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement // - case 339: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, true, false); break; + case 339: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; } // - // Rule 340: iteration_statement ::= upc_forall ( declaration expression ; ; affinity ) statement + // Rule 340: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement // - case 340: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, true); break; + case 340: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; } // - // Rule 341: iteration_statement ::= upc_forall ( declaration expression ; ; ) statement + // Rule 341: iteration_statement ::= upc_forall ( declaration ; ; ) statement // - case 341: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, true, false, false); break; + case 341: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; } // - // Rule 342: iteration_statement ::= upc_forall ( declaration ; expression ; affinity ) statement + // Rule 343: affinity ::= continue // - case 342: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, true); break; - } - - // - // Rule 343: iteration_statement ::= upc_forall ( declaration ; expression ; ) statement - // - case 343: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, true, false); break; - } - - // - // Rule 344: iteration_statement ::= upc_forall ( declaration ; ; affinity ) statement - // - case 344: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, true); break; - } - - // - // Rule 345: iteration_statement ::= upc_forall ( declaration ; ; ) statement - // - case 345: { action.beforeConsume(); action. consumeStatementUPCForallLoop(true, false, false, false); break; - } - - // - // Rule 347: affinity ::= continue - // - case 347: { action.beforeConsume(); action. consumeToken(); break; + case 343: { action.beforeConsume(); 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 f9d67a47e73..51499cd69e7 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 @@ -38,473 +38,466 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final static short baseCheck[] = {0, 0,1,1,1,1,1,1,1,1,1, 1,1,1,1,1,1,1,3,1,4, - 3,4,3,3,2,2,7,8,1,3, - 1,2,2,2,2,2,2,2,2,2, - 4,1,4,1,3,3,3,1,3,3, - 1,3,3,1,3,3,3,3,1,3, - 3,1,3,1,3,1,3,1,3,1, - 3,1,5,1,3,3,3,3,3,3, - 3,3,3,3,3,1,1,1,3,1, - 1,1,1,1,1,1,1,3,3,2, - 1,2,4,1,2,1,1,1,2,5, - 7,5,7,5,9,8,8,7,8,7, - 7,6,8,7,7,6,3,2,2,2, - 3,1,2,4,2,2,2,2,1,2, - 1,2,1,2,3,2,1,1,2,3, - 2,2,1,3,2,2,1,3,2,2, - 1,1,3,1,3,1,1,1,1,1, - 1,1,1,1,1,1,1,1,1,1, - 1,1,1,5,5,6,6,2,2,1, - 1,0,1,2,4,2,1,1,3,1, - 2,3,1,5,6,6,7,2,1,0, - 1,3,1,3,1,1,1,1,1,3, - 1,3,1,1,2,5,3,1,3,5, - 1,3,2,4,3,5,4,6,6,3, - 5,1,2,3,4,1,2,1,3,1, - 1,3,2,1,2,1,3,1,2,2, - 1,3,3,1,2,2,3,4,5,1, - 4,5,1,1,3,3,3,2,1,2, - 3,2,1,0,1,2,1,1,1,1, - 4,6,2,1,2,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,-76,0,0, + 3,4,3,3,2,2,7,8,1,1, + 3,1,2,2,2,2,2,2,2,2, + 2,4,1,4,1,3,3,3,1,3, + 3,1,3,3,1,3,3,3,3,1, + 3,3,1,3,1,3,1,3,1,3, + 1,3,1,5,1,3,3,3,3,3, + 3,3,3,3,3,3,1,1,1,3, + 1,1,1,1,1,1,1,1,3,3, + 2,1,2,4,1,2,1,1,1,2, + 5,7,5,7,5,9,8,8,7,8, + 7,7,6,8,7,7,6,3,2,2, + 2,3,1,2,4,2,2,2,2,1, + 1,1,1,2,1,2,2,2,1,2, + 2,1,2,2,1,2,2,1,3,1, + 3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5, + 5,6,6,2,2,1,1,0,1,2, + 4,2,1,1,3,1,2,3,1,5, + 6,6,7,2,1,0,1,3,1,3, + 1,1,1,1,1,3,1,3,1,1, + 2,5,3,1,3,5,1,3,2,4, + 3,5,4,6,6,3,5,1,2,3, + 4,1,2,1,3,1,1,3,2,1, + 2,1,3,1,2,2,1,3,3,1, + 2,2,3,4,5,1,4,5,1,1, + 3,3,3,2,1,2,3,2,1,0, + 1,2,1,1,1,1,4,6,2,1, + 2,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,-68,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-16,0, - -13,0,0,0,0,0,0,0,0,0, - 0,-125,0,-22,0,-136,0,0,0,0, - 0,0,0,0,0,0,0,-176,-26,-148, + 0,0,0,0,-2,0,-4,0,0,0, + 0,0,0,0,0,0,0,0,-125,0, + 0,0,0,0,0,0,0,0,0,0, + -236,-22,-73,-6,-29,-137,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-24,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-16, + -31,0,0,0,-7,-145,0,-149,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-11, + 0,0,0,0,0,0,0,0,0,0, + 0,-223,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-33,0,-36,0,0,0,0,0, + 0,0,0,0,0,-282,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-43,-57,0,0, + 0,0,0,0,0,0,0,0,0,-284, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-58,-59,0,0,0,0,0,0,0, + 0,0,0,-285,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-2,0,0,0,0, - 0,-57,0,0,0,0,0,0,0,-7, - 0,-160,0,0,0,0,0,0,0,0, + 0,0,0,0,-60,-61,-62,0,0,0, + 0,0,0,0,0,0,0,-301,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-95,0,0,0,0,0,0,0, - 0,0,0,0,0,-234,0,0,0,0, + 0,0,0,0,0,0,0,0,-63,-64, + -65,0,0,0,0,0,0,0,0,0, + 0,-304,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-66,-67,-72,0,0,0,0,0, + 0,0,0,0,0,-317,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-89,-107,-146,0, + 0,0,0,0,0,0,0,0,0,-322, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-293, + -147,-148,-150,0,0,0,0,0,0,0, + 0,0,0,-330,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-151,-152,-154,0,0,0, + 0,0,0,0,0,0,0,-331,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-155,-157, + -172,0,0,0,0,0,0,0,0,0, + 0,-333,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-173,-194,-195,0,0,0,0,0, + 0,0,0,0,0,-334,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-196,-197,-198,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, - -185,-126,0,0,0,0,0,0,0,0, - 0,0,0,-295,0,0,0,0,0,0, + -199,-200,-201,0,0,0,0,0,0,0, + 0,0,0,-340,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-202,-203,-204,0,0,0, + 0,0,0,0,0,0,0,-342,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-205,-206, + -207,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,-208,-209,-210,0,0,0,0,0, + 0,0,0,0,0,-345,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-219,-222,-245,0, + 0,0,0,0,0,0,0,0,0,-348, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-296,0,0, + -246,-247,-248,0,0,0,0,0,0,0, + 0,0,0,-349,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-4,-31, - -33,0,0,0,0,0,0,0,0,0, - 0,-312,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-36,-44,-51,0,0,0,0,0, - 0,0,0,0,0,-315,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-65,-66,-67,0, - 0,0,0,0,0,0,0,0,0,-328, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -68,-69,-70,0,0,0,0,0,0,0, - 0,0,0,-333,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-71,-72,-73,0,0,0, - 0,0,0,0,0,0,0,-341,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-74,-75, - -80,0,0,0,0,0,0,0,0,0, - 0,-342,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-100,-118,-157,0,0,0,0,0, - 0,0,0,0,0,-344,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-158,-159,-161,0, - 0,0,0,0,0,0,0,0,0,-345, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -162,-163,-165,0,0,0,0,0,0,0, - 0,0,0,-347,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-166,-168,-183,0,0,0, + 0,0,0,0,-249,-259,-266,0,0,0, 0,0,0,0,0,0,0,-351,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-184,-205, - -206,0,0,0,0,0,0,0,0,0, - 0,-353,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-207,-208,-209,0,0,0,0,0, - 0,0,0,0,0,-354,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-210,-211,-212,0, - 0,0,0,0,0,0,0,0,0,-356, + 0,0,0,0,0,0,0,0,-288,-310, + -313,0,0,0,0,0,0,0,0,0, + 0,-354,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -213,-214,-215,0,0,0,0,0,0,0, - 0,0,0,-359,0,0,0,0,0,0, + 0,0,0,0,0,-359,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-216,-217,-218,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,0,0,0,-219,-220, - -221,0,0,0,0,0,0,0,0,0, - 0,-362,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-360, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-361,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-362,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-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,0,-230,-233,-256,0,0,0,0,0, 0,0,0,0,0,-365,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-257,-258,-259,0, - 0,0,0,0,0,0,0,0,0,-370, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -260,-270,-277,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,-299,-321,-324,0,0,0, - 0,0,0,0,0,0,0,-372,0,0, + 0,0,0,0,0,0,0,0,0,-366, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-373,0,0,0,0,0,0,0,0, + 0,0,0,-368,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-375,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-376, + 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,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-377,0,0,0,0,0,0, + 0,-370,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-379,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,0, + 0,0,0,0,0,0,0,0,0,-373, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-380,0,0,0,0,0,0,0,0, + 0,0,0,-375,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-381,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-383, + 0,0,0,0,0,0,0,-378,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-384,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,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-386,0,0, + 0,0,0,0,0,-380,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-381, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-389,0,0,0,0,0,0,0,0, + 0,0,0,-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, - 0,0,0,0,0,-390,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-391, + 0,0,0,0,0,0,0,-383,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-392,0,0,0,0,0,0, + 0,-385,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-393,0,0, + 0,0,0,0,0,-44,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-175,0,0,-127, + 0,0,0,0,0,0,0,0,0,0, + -128,0,0,0,0,0,0,0,0,0, + 0,-45,0,0,0,0,0,0,-109,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-13, + 0,0,-129,0,0,0,0,0,0,0, + 0,0,0,-130,0,0,0,0,0,0, + 0,0,0,0,-46,0,0,0,0,0, + 0,-110,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -14,0,0,0,0,-121,0,0,0,0, + 0,0,0,0,0,0,-122,0,0,0, + 0,0,0,0,0,-10,0,-165,-12,-19, + 0,0,-21,0,-111,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-114,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-394,0,0,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,0,0,-396,0,0,0,0, + 0,-41,0,-169,-20,0,0,-112,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-52, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -14,0,0,-142,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-132,0,0, - 0,0,0,0,0,0,0,0,-49,-20, - -81,0,-120,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-143,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -133,0,0,0,0,0,0,0,0,0, - 0,0,-78,-21,0,-121,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,-156,0,-134,0,0,0,0,0,0, - 0,0,0,-83,-102,-236,-186,0,-122,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-138,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-135,0,0,0, - 0,0,0,0,0,0,-180,0,-32,-196, 0,-123,0,0,0,0,0,0,0,0, + 0,0,0,-53,0,0,0,0,0,0, + -23,0,0,-47,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,-70, + 0,0,0,0,-124,0,0,0,0,0, + 0,0,0,0,0,0,-76,0,0,0, + 0,0,0,0,-38,0,-48,0,0,0, + 0,0,0,-216,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-139,0,0,0,0, - 0,0,0,0,0,-192,0,0,0,-58, - 0,0,0,0,0,0,-19,0,0,0, - 0,-34,0,0,-124,0,0,0,0,0, + 0,0,0,0,0,0,0,-49,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,0,0,0,-140,0, + -217,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,-59,0,0,0,0,0,0,-173, - 0,0,0,0,-326,0,0,-227,0,0, + 0,-163,0,0,-50,0,0,0,0,0, + 0,0,-115,0,0,-51,0,0,0,0, + 0,0,0,0,0,0,0,-93,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-136,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-262,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-30,0,0,-271, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-15, + -74,0,-182,0,0,0,0,0,0,-32, + 0,-132,0,0,0,0,0,0,0,0, + 0,0,0,0,-55,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-75,-171, + 0,0,0,0,0,0,0,0,0,0, + -185,-34,0,0,-293,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-296, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-141,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-61,0,0,0,0, - 0,0,-12,-46,-6,0,0,-228,0,0, + 0,0,0,-311,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-71,0,-85,0,-133,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-134,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-52,0, + 0,0,0,0,0,-176,-227,0,-26,-35, + 0,-316,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-268,0,-131,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-54,0,0,0,0,0,0,-92,0, + 0,0,0,0,0,0,-118,0,0,0, + 0,0,0,0,0,0,-69,0,0,-319, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-24,-8,0,-97,0,0,0,0,0, - 0,0,-11,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-104,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,-144,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-37,0,0,-273,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-98,-23, - 0,-282,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-182,0,-84,0,0,0,0,0, - 0,-169,-30,0,-53,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-174,0,0,-240,0,0,0,-204,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-82,0,-304,0,0,0, + 0,0,0,0,0,0,0,0,0,-324, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - -307,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,-116,-322,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-327, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-96,0,0,0,-262,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-54,0,0, - 0,0,0,-193,0,0,0,0,0,0, - 0,-60,0,0,0,0,0,0,-187,0, - 0,0,-43,0,-327,0,0,0,0,0, + 0,0,0,0,-347,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-79,0,-147,0,0, + 0,0,0,0,0,0,0,0,0,-353, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-356,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-357, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-377,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-86,0,-94,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-139, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-140,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-141,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-315,0, + 0,-142,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-179,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-119,0,0,0,0,0, + 0,-120,0,0,0,0,0,0,0,0, + 0,0,0,-252,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-253,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-255,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-256,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-272, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-274,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-276,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-77,0, + 0,-277,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-105,0,-279,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-281, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-295,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-298,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-299,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-79,0,0,-303,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-106,0,-306, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,-187,0,-307,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-329,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-81,0, + 0,-338,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-237,0,-25,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-91,0,-183,0, + 0,0,0,0,0,-56,0,0,0,0, + 0,0,-188,0,-116,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-117,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-189,0, + -135,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-190,0,-218,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-191,0,-220,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-226, + -287,0,-221,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-192,0,-283,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + -28,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-40,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-243, + 0,0,0,0,-161,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-312,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-251, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-95,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,-96,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-97,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,-98,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,-99,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,0,-100,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,0, + 0,0,-101,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,0,0,0,0,0,0, - 0,0,0,0,0,0,-62,0,0,0, - 0,0,0,-55,0,0,0,0,0,0, -103,0,0,0,0,0,0,0,0,0, - -77,0,0,-330,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-104, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-117,0,-331,0,0, + 0,0,0,0,0,0,0,0,-156,0, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,-180,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-335,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-336,0,0,0,0, + 0,0,0,0,0,-235,0,0,0,0, + 0,0,-184,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-338, + 0,-234,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,0,-250, 0,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,0,0,-82,0, + -170,0,0,0,0,0,0,0,0,0, + 0,0,0,-181,0,-265,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-358,0,0,0,0,0,0, + 0,0,0,-290,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-364,0,0, + 0,0,0,-8,0,0,0,-138,-158,0, + -238,0,0,0,0,0,0,0,0,0, + -17,0,0,-3,0,0,0,0,-88,0, + 0,0,0,0,0,0,0,-314,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,-367,0,0,0,0,0,0,0,0, + 0,-143,-144,0,0,0,-258,-166,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,-37,-162,0,0,0,0, + 0,0,0,0,-1,-228,0,0,0,-153, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-388, + -18,0,-211,0,-193,-242,0,0,0,0, + 0,0,-9,-212,-213,0,0,0,0,0, + -229,0,-214,-231,0,0,0,0,-215,-42, + 0,0,0,0,0,0,0,0,-254,0, + 0,0,0,0,0,-27,0,0,0,0, + 0,-232,0,0,0,-160,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, + 0,-87,0,0,0,0,-233,0,-260,0, + 0,-240,-177,0,0,0,0,0,-241,-257, + 0,-264,0,0,0,0,0,0,-83,0, + 0,0,0,0,0,0,0,0,0,-84, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-150,0,0,0,0,0,0, + -224,0,0,0,0,0,0,0,-230,0, + -261,0,0,0,0,0,-186,0,0,0, + 0,0,0,-78,0,0,0,-90,0,0, + 0,0,-80,-273,-267,0,-164,0,0,-263, + 0,0,0,0,-270,0,-291,0,0,0, + 0,0,0,-239,0,0,-168,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-151,0,0, + 0,0,0,0,-289,0,0,0,0,0, + 0,0,0,-244,-5,0,0,0,-39,0, 0,0,0,0,0,0,0,0,0,0, + -174,0,0,0,0,0,0,-108,0,-275, 0,0,0,0,0,0,0,0,0,0, - 0,-152,0,0,0,0,0,0,0,0, + -278,0,0,0,0,0,0,-269,0,0, + -159,0,-167,-286,0,0,0,0,0,0, + -178,0,0,0,-292,-225,0,0,0,0, + 0,-280,0,0,0,0,-294,0,0,-297, + -302,0,0,0,0,-300,0,0,-308,0, + 0,-305,0,0,0,0,0,0,0,0, + -309,0,0,0,0,0,0,0,-318,0, + -323,0,0,-321,-326,0,-328,-332,-335,-337, + -341,0,-339,-344,-346,-350,-352,-355,0,0, + -358,0,0,0,-363,0,-367,0,0,0, + 0,0,-371,-374,0,0,0,0,0,0, + 0,-376,-384,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-153,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-190, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-145,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-263,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -264,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-266,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-267,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-283,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-285,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -287,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-85,0,0,-288,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-198,0,-290,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-292,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-306,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -309,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-310,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-87,0,0,-314,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -199,0,-317,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-200,0,-318,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -340,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-89,0,0,-349,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-248,0,-25,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-129,0,0,0,0,0,0,-130,0, - 0,0,0,0,0,0,0,-201,0,-127, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-202, - 0,-128,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-203,0,-146,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-229, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -237,-238,0,-231,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-232,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-279,-249, - 0,-294,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-242,-243,0,-29,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-48,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-131,0,0, - 0,0,0,0,0,0,0,0,0,-172, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-323,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-194,0,0, - 0,0,0,0,-56,0,0,0,0,0, - -177,-149,-154,0,0,-63,0,0,0,0, - 0,-64,0,0,0,0,0,0,0,0, - 0,0,0,0,-105,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-106,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,-107,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-108,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -109,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,-110, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-111,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-112,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-113,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,-114,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-115,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-167,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-191,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-246,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,-245,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-261,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,-90,0,0,0,0,0, - 0,0,0,0,-247,-254,0,0,0,0, - -276,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,-301,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,-155,-164,-222,-223,-224,0,0,-253,0, - 0,0,0,0,0,0,0,-3,0,0, - 0,0,0,0,0,-50,0,0,-99,0, - 0,0,-325,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - -225,0,0,0,-226,0,0,0,-269,0, - 0,0,0,0,0,0,0,0,0,0, - -298,0,-244,0,0,-278,0,-251,0,0, - -252,-1,0,-265,0,0,0,0,0,0, - -9,0,0,-188,0,0,0,0,0,0, - 0,-271,0,0,0,0,0,0,-272,0, - -18,0,0,0,0,0,0,0,0,-189, - 0,-274,0,0,0,0,0,0,-268,0, - 0,-281,0,0,0,0,0,0,0,0, - -27,0,0,0,0,0,0,0,0,0, - 0,-275,0,-10,0,0,0,0,0,0, - 0,-42,0,0,0,0,0,0,0,0, - 0,-297,0,-302,-284,0,0,0,0,0, - 0,0,0,0,0,-303,-235,0,0,0, - 0,0,0,0,0,0,0,0,-286,0, - 0,0,0,-241,-15,0,0,0,0,0, - -352,0,0,0,0,0,0,0,-289,0, - -17,0,0,-313,0,0,0,-239,0,0, - 0,-28,-291,0,0,-178,0,0,0,0, - 0,-39,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-40,0,0,0,0,0,0, - 0,-41,0,-305,0,0,0,0,-86,0, - 0,-88,0,0,0,0,0,0,0,0, - -171,0,0,0,0,0,-316,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,-175,0,0,-179,0,0,0, - 0,0,0,-35,-308,0,0,-250,0,-311, - 0,0,0,0,0,0,0,-319,0,0, - 0,0,0,0,0,0,-300,-255,0,0, - 0,-5,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,-332,0,0,0, - -320,0,0,0,0,-38,0,0,0,0, - 0,0,-47,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,-91,0,-329, - -334,0,-280,0,0,0,0,0,-181,0, - 0,0,-92,0,0,-119,0,0,-93,0, - 0,0,-197,0,0,0,-337,0,0,-94, - 0,0,0,0,-101,0,0,0,0,0, - -339,0,0,0,0,0,0,0,0,-170, - 0,0,0,0,0,-343,0,0,0,0, - 0,0,0,0,0,0,-346,0,0,0, - 0,0,0,0,-350,-348,0,0,-355,0, - 0,-357,0,-361,-363,-366,0,0,-369,0, - 0,0,-374,0,-378,0,0,-382,0,0, - 0,-385,0,-387,0,0,0,0,-395,0, - 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0,0,0,0, - 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; @@ -514,479 +507,471 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface BaseAction { public final static char baseAction[] = { - 88,22,1,1,40,40,21,21,41,41, + 90,22,1,1,38,38,21,21,39,39, 19,19,2,2,2,2,3,3,3,4, - 4,4,4,4,4,4,4,4,4,89, - 89,5,5,5,5,5,5,5,5,5, - 5,5,6,6,7,7,7,7,8,8, - 8,9,9,9,10,10,10,10,10,11, - 11,11,12,12,13,13,14,14,15,15, - 16,16,17,17,18,18,18,18,18,18, - 18,18,18,18,18,18,25,23,20,20, - 53,26,26,26,26,26,26,26,27,27, - 27,32,24,24,90,90,75,75,28,28, - 29,29,29,30,30,30,30,30,30,30, - 30,30,30,30,30,30,30,31,31,31, - 31,31,91,49,49,37,37,37,37,48, - 48,48,48,48,48,61,61,61,61,61, - 77,77,77,77,78,78,78,78,79,79, - 79,79,76,76,62,62,38,38,38,38, - 38,54,54,54,54,54,54,54,54,54, - 54,54,54,71,69,69,69,69,69,69, - 80,63,63,64,64,58,58,47,92,92, - 81,81,81,65,70,70,70,70,70,82, - 82,83,83,72,72,34,34,34,39,50, - 50,42,42,42,42,43,44,44,73,73, - 84,94,94,45,45,45,45,45,45,45, - 45,45,51,51,51,51,66,66,59,59, - 59,60,60,56,56,56,93,93,52,52, - 67,67,67,57,57,57,57,57,57,57, - 55,55,55,74,74,74,74,68,95,96, - 96,85,85,88,88,97,97,86,86,86, - 86,87,87,87,98,98,2,2,2,5, - 5,5,5,5,5,34,34,35,35,36, - 36,99,99,99,26,33,33,33,33,33, - 33,33,30,30,30,30,30,30,30,30, + 4,4,4,4,4,4,4,4,4,73, + 91,91,5,5,5,5,5,5,5,5, + 5,5,5,6,6,7,7,7,7,8, + 8,8,9,9,9,10,10,10,10,10, + 11,11,11,12,12,13,13,14,14,15, + 15,16,16,17,17,18,18,18,18,18, + 18,18,18,18,18,18,18,25,23,20, + 20,53,26,26,26,26,26,26,26,27, + 27,27,32,24,24,92,92,75,75,28, + 28,29,29,29,30,30,30,30,30,30, + 30,30,30,30,30,30,30,30,31,31, + 31,31,31,93,46,46,34,34,34,34, + 48,48,48,81,81,77,77,77,77,78, + 78,78,79,79,79,80,80,80,76,76, + 61,61,49,49,49,49,49,60,60,60, + 60,60,60,60,60,60,60,60,60,70, + 68,68,68,68,68,68,82,62,62,63, + 63,57,57,45,94,94,83,83,83,64, + 69,69,69,69,69,84,84,85,85,71, + 71,35,35,35,50,47,47,40,40,40, + 40,41,42,42,72,72,86,96,96,43, + 43,43,43,43,43,43,43,43,51,51, + 51,51,65,65,58,58,58,59,59,55, + 55,55,95,95,52,52,66,66,66,56, + 56,56,56,56,56,56,54,54,54,74, + 74,74,74,67,97,98,98,87,87,90, + 90,99,99,88,88,88,88,89,89,89, + 100,100,2,2,2,5,5,5,5,5, + 5,35,35,36,36,37,37,101,101,101, + 26,33,33,33,33,33,33,33,30,30, 30,30,30,30,30,30,30,30,30,30, - 30,30,30,30,30,30,46,46,161,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,786, - 4169,302,92,4143,106,91,93,94,95,96, - 916,314,569,24,450,2392,1412,17,16,19, - 677,42,44,678,711,679,985,107,1700,762, - 1,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,348,4169,104,92,4143,106,91,93,94, - 95,96,916,314,643,2244,137,2392,400,185, - 102,103,1412,17,16,19,677,42,39,107, - 223,610,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,393,293,105,92,4143,1153,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,247,305,306, - 92,4143,98,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,449,569,23,92,4143,114,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,247,305,306,92,4143, - 112,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,118, - 749,813,92,4143,1256,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,886,924,342,92,4143,126,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,1687,276,452, - 92,4143,122,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,394,528,250,92,4143,345,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,505,234,155,92,4143, - 337,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,879, - 738,199,92,4143,125,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,359,627,57,92,4143,124,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,349,417,529, - 92,4143,121,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,581,945,576,92,4143,120,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,767,952,890,92,4143, - 118,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,946, - 629,637,92,4143,111,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,570,625,454,92,4143,344,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,500,708,710, - 92,4143,343,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,837,889,626,92,4143,341,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,878,972,971,92,4143, - 336,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,1007, - 249,81,92,4143,335,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,832,1008,1038,92,4143,333,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,1039,1040,1041, - 92,4143,329,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,1105,866,1079,92,4143,123,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,1106,876,1137,92,4143, - 119,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,4721, - 4721,4721,92,4143,117,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,4721,4721,4721,92,4143,116,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,4721,4721,4721, - 92,4143,342,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,4721,4721,4721,92,4143,340,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,4721,4721,4721,92,4143, - 339,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,4721, - 4721,4721,92,4143,334,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,4721,4721,4721,92,4143,332,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,4721,4721,4721, - 92,4143,331,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,4721,4721,4721,92,4143,328,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,4721,4721,4721,92,4143, - 327,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,4721, - 4721,4721,92,4143,325,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,4721,4721,4721,92,4143,115,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,4721,4721,4721, - 92,4143,338,91,93,94,95,96,916,314, - 241,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,108, - 882,4721,4721,4721,92,4143,330,91,93,94, - 95,96,916,314,241,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,108,882,4721,4721,4721,92,4143, - 326,91,93,94,95,96,916,314,241,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,108,882,4721, - 4721,4721,92,4143,324,91,93,94,95,96, - 916,314,241,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,108,882,337,4721,4721,92,4143,323,91, - 93,94,95,96,916,314,241,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,108,882,246,305,306, - 92,4143,322,91,93,94,95,96,916,314, - 1257,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,473, - 814,525,4169,2646,1412,17,16,19,677,42, - 44,678,711,679,713,712,1053,197,1412,17, - 16,19,677,42,44,678,950,4556,4721,373, - 275,450,2485,1257,17,16,19,677,645,44, - 678,711,679,713,712,746,745,779,747,780, - 74,88,1833,814,4721,4169,2646,1412,17,16, - 19,677,42,44,678,711,679,713,1085,235, - 197,1412,17,16,19,677,42,44,678,951, - 4556,611,2190,223,218,3187,1257,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,222,814,291,4169,2646, - 1412,17,16,19,677,42,44,678,711,679, - 1017,4721,823,197,1412,17,16,19,677,42, - 44,983,4721,4556,373,373,974,450,3331,1257, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,88,4169,814, - 292,4169,2646,1412,17,16,19,677,42,44, - 678,711,1018,2392,311,237,197,1412,17,16, - 19,677,42,44,984,295,4556,1700,4095,74, - 450,3355,1257,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,4419,814,4195,4169,2646,1412,17,16,19, - 677,42,44,678,711,1019,373,4721,184,197, - 1412,17,16,19,677,42,38,288,4721,4556, - 4721,4096,74,4721,3468,1257,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,88,4422,814,236,4169,2646,1412, - 17,16,19,677,42,44,678,711,1051,2245, - 223,644,197,1412,17,16,19,677,42,37, - 288,4721,4556,4721,4721,198,4721,3490,1099,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,3021,814,4721, - 4169,4224,1412,17,16,19,677,42,44,678, - 711,1052,3562,223,644,2392,999,17,16,19, - 677,42,35,1474,288,38,4721,2997,1099,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,3069,814,4721, - 4169,4269,405,881,232,218,240,141,305,306, - 280,139,143,303,4721,2392,2505,223,224,4721, - 225,2393,133,227,4523,4281,226,3045,468,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,2126,1412,17,16, - 19,677,42,44,678,711,679,713,712,746, - 745,1086,247,305,306,4721,74,4721,234,1194, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,270,4085,521, - 314,4211,1194,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 270,2037,307,635,4211,999,17,16,19,677, - 42,35,881,1531,273,1288,17,16,19,677, - 303,2360,223,224,264,225,4721,274,4721,781, - 4721,133,405,4312,4327,1700,2549,273,4721,373, - 4721,253,4721,4721,204,312,255,142,305,306, - 274,140,144,227,4368,395,4326,731,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,88,187,814,690,20, - 346,731,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,88, - 225,814,724,4540,346,218,779,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,270,826,3728,4541,4211,1412, - 17,16,19,677,42,44,678,711,679,713, - 712,746,745,779,747,780,73,272,1319,17, - 16,19,677,301,999,17,16,19,677,42, - 35,275,1412,17,16,19,677,42,36,846, - 225,4721,4721,287,276,779,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,270,241,4570,213,4211,1412,17, - 16,19,677,42,44,678,711,679,713,712, - 746,745,779,1120,265,134,28,1412,17,16, - 19,677,42,34,1350,17,16,19,677,299, - 275,1412,17,16,19,677,42,35,4721,4721, - 4721,74,4721,276,731,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,4590,814,996,218,346,731,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,18,814,1030, - 4619,346,731,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,4721,814,1098,4622,346,731,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,4721,814,1132,4624,346, - 731,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,4721, - 814,1166,4625,346,731,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,4721,814,1404,4626,346,731,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,4721,814,1506, - 4635,346,731,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,4721,814,1574,4638,346,731,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,4721,814,1608,4642,346, - 731,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,4721, - 814,1812,4644,346,1068,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,320,814,4721,4649,4144,1068,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,318,814,4721, - 4721,4145,1068,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,316,814,4721,4721,4146,1068,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,130,814,4721,4721,4191, - 669,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,4218,1412, - 17,16,19,677,42,44,678,711,679,713, - 712,746,1087,4721,247,305,306,1068,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,88,3093,814,4721,4721, - 4315,1068,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,88, - 3117,814,4721,4721,4339,1068,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,88,3165,814,4721,4721,4359,1068, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,88,3189,814, - 4721,4721,4373,1068,17,16,19,677,645,44, - 678,711,679,713,712,746,745,779,747,780, - 74,88,2437,814,4721,4721,4414,1068,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,88,2461,814,4721,4721, - 4465,1068,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,88, - 3285,814,74,4721,4470,1030,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,88,4454,814,622,218,4364,1030, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,88,1155,814, - 656,4721,4437,1068,17,16,19,677,645,44, - 678,711,679,713,712,746,745,779,747,780, - 74,88,3357,814,4721,4721,4478,1068,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,88,2648,814,4721,4721, - 4507,1068,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,88, - 2696,814,4721,4721,4567,1068,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,88,2720,814,74,4721,4581,1030, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,88,4457,814, - 792,218,4596,1030,17,16,19,677,645,44, - 678,711,679,713,712,746,745,779,747,780, - 74,88,1187,814,860,218,4607,1030,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,88,1188,814,894,4721, - 4616,1068,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,88, - 2816,814,74,4721,4629,1030,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,88,4549,814,1302,405,4633,700, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,1929,267,4543, - 4721,4166,1412,17,16,19,677,42,47,1412, - 17,16,19,677,42,46,4721,4721,218,233, - 1030,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,29,1189, - 218,21,1412,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,1221,814,4721,773,2419,1412,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,88,22,814,4721,4721,1119, - 1412,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,88,3514, - 814,74,864,4199,1412,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,88,2339,814,4721,4721,4242,1412,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,88,225,814,948, - 218,4249,1412,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 88,263,814,1700,737,4511,914,17,16,19, - 677,42,44,678,711,679,713,712,746,745, - 779,747,780,90,265,1226,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,2035,186,205,313,4575,1412,17, - 16,19,677,42,45,4721,4721,4721,4721,2034, - 1130,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,270,1130, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,270,1162,17, - 16,19,677,42,43,1381,17,16,19,677, - 40,881,884,884,4721,165,1443,17,16,19, - 677,33,1443,17,16,19,677,32,4721,4721, - 196,321,129,4344,277,1412,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,85,1412,17,16,19,677,645, - 44,678,711,679,713,712,746,745,779,747, - 780,74,84,1412,17,16,19,677,645,44, - 678,711,679,713,712,746,745,779,747,780, - 74,83,1412,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 82,1412,17,16,19,677,645,44,678,711, - 679,713,712,746,745,779,747,780,74,81, - 1412,17,16,19,677,645,44,678,711,679, - 713,712,746,745,779,747,780,74,80,1412, - 17,16,19,677,645,44,678,711,679,713, - 712,746,745,779,747,780,74,79,1412,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,78,1412,17,16, - 19,677,645,44,678,711,679,713,712,746, - 745,779,747,780,74,77,1412,17,16,19, - 677,645,44,678,711,679,713,712,746,745, - 779,747,780,74,76,1412,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,75,1412,17,16,19,677,42, - 44,678,711,679,713,712,746,745,779,747, - 780,90,1412,17,16,19,677,645,44,678, - 711,679,713,712,746,745,779,747,780,74, - 4221,4721,4721,4721,4721,4721,4721,4721,4721,961, - 4721,4721,4721,4721,4721,4721,4721,1154,1412,17, - 16,19,677,645,44,678,711,679,713,712, - 746,745,779,747,780,74,89,1412,17,16, - 19,677,42,44,678,711,679,713,712,746, - 745,779,747,780,90,1412,17,16,19,677, - 645,44,678,711,679,713,712,746,745,779, - 747,780,74,30,917,632,4721,4721,4721,4721, - 4721,212,4721,4721,4721,577,739,4721,4721,4721, - 214,1412,17,16,19,677,42,44,678,711, - 679,713,712,746,745,779,747,780,90,1412, - 17,16,19,677,42,44,678,711,679,713, - 712,746,745,779,747,780,90,2505,223,224, - 264,264,884,884,884,884,884,4721,4721,74, - 917,4721,3609,3609,201,4721,4721,211,501,183, - 4721,128,109,319,317,315,337,2383,949,613, - 183,2362,202,1412,17,16,19,677,42,44, - 678,711,679,713,712,746,745,779,747,780, - 90,884,141,305,306,884,139,143,4721,218, - 246,305,306,141,305,306,4251,139,143,2137, - 131,968,4294,1700,127,4721,1700,4251,373,135, - 520,373,321,4294,884,4721,4351,2243,4345,4361, - 135,380,2298,4721,462,136,137,138,2243,4345, - 4361,289,218,3141,4158,4721,136,137,138,218, - 289,557,183,4158,206,266,4468,207,238,2273, - 392,239,774,554,2245,223,609,4721,2273,884, - 588,288,218,2245,223,609,2360,223,224,264, - 288,142,4169,230,1984,142,305,306,3213,140, - 144,2549,836,268,810,450,279,2359,4721,4721, - 4721,3610,947,1931,450,4302,3709,2195,285,287, - 436,195,921,4721,218,884,252,286,287,4231, - 4412,4404,4382,2435,223,609,1681,142,141,305, - 306,781,139,143,3237,269,141,305,306,884, - 139,143,4372,162,62,1493,4721,4721,4294,384, - 4372,373,4721,271,1983,146,4294,2576,3261,884, - 4721,1512,4721,145,218,231,384,27,636,2360, - 223,224,862,884,4721,2621,1705,781,3309,141, - 305,306,1588,139,143,758,2360,223,224,162, - 4169,281,3333,4464,1223,141,305,306,4169,139, - 143,4721,4721,2576,1607,2359,142,305,306,4516, - 140,144,1626,197,884,4721,141,305,306,835, - 139,143,835,3741,251,198,4302,2275,813,4721, - 4538,142,4721,2624,194,4721,4292,218,141,305, - 306,4169,139,143,4169,4721,141,305,306,4721, - 139,143,4553,384,835,4721,197,835,826,197, - 4559,4262,4721,4721,1550,884,3741,4721,765,3741, - 884,4721,4721,2360,223,224,4169,193,884,4169, - 193,781,398,4376,2672,2087,4376,62,765,3381, - 4169,197,142,163,197,4721,4721,3405,142,305, - 306,3741,140,144,3741,2359,4721,884,4721,384, - 4169,218,193,4721,384,193,1569,2415,4376,4095, - 3633,4376,4721,378,251,2359,2744,4272,813,2360, - 223,224,4615,4721,2360,223,224,1223,1645,4096, - 218,218,1984,378,251,4169,4721,4272,813,632, - 142,305,306,1664,140,144,593,4721,4721,1683, - 2359,962,1064,516,4721,4169,4721,884,199,4721, - 337,4721,142,305,306,337,140,144,2090,251, - 2359,884,2275,813,266,4488,2768,142,305,306, - 74,140,144,142,305,306,218,140,144,251, - 2792,264,4314,813,246,305,306,218,264,246, - 305,306,4169,2549,917,884,218,1200,4721,218, - 2549,211,218,259,218,218,218,2392,1234,884, - 3610,3634,949,218,113,218,541,1268,218,294, - 1336,2960,218,1370,218,1438,1472,1540,2840,218, - 4721,4721,4721,4721,1642,4721,1676,4721,4721,1710, - 4721,4721,4721,1744,4721,1778,4721,4721,4721,4721, - 1846,4721,4721,4721,4721,4721,4721,4721,4721,4721, - 4721,4721,4721,4721,4721,4721,4721,4721,2036,4721, - 0,1,4942,0,308,3636,0,148,4723,0, - 4730,1,0,1,4724,0,1,4723,0,1, - 883,0,9,11,0,1,4977,0,110,928, - 0 + 30,30,30,30,30,30,30,30,30,30, + 30,30,44,44,161,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,303,4159,34,93,4230, + 107,92,94,95,96,97,810,310,4139,1123, + 17,16,19,538,43,45,572,605,573,879, + 108,657,333,333,406,354,1,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,715,4159,105, + 93,4230,107,92,94,95,96,97,810,310, + 4139,2495,219,220,260,104,396,221,223,4449, + 1171,417,108,2185,4216,194,753,2563,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,289, + 235,106,93,4230,1047,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,496,503,559,93,4230,99,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,1127,1184,4269, + 93,4230,115,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,303,574,721,93,4230,113,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,560,134,297,93,4230, + 1150,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,54, + 296,662,93,4230,127,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,224,661,502,93,4230,123,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,854,1304,74, + 93,4230,341,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,154,766,770,93,4230,333,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,977,1306,490,93,4230, + 126,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,539, + 1274,550,93,4230,125,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,1312,1270,1294,93,4230,122,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,769,857,398, + 93,4230,121,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,415,1254,1257,93,4230,119,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,1260,1268,1214,93,4230, + 112,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,853, + 314,1198,93,4230,340,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,1308,1313,81,93,4230,339,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,947,1317,1079, + 93,4230,337,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,1323,1324,1325,93,4230,332,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,1326,1327,1332,93,4230, + 331,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,1333, + 1334,1336,93,4230,329,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,4644,4644,4644,93,4230,325,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,4644,4644,4644, + 93,4230,124,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,4644,4644,4644,93,4230,120,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,4644,4644,4644,93,4230, + 118,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,4644, + 4644,4644,93,4230,117,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,4644,4644,4644,93,4230,338,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,4644,4644,4644, + 93,4230,336,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,4644,4644,4644,93,4230,335,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,4644,4644,4644,93,4230, + 330,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,4644, + 4644,4644,93,4230,328,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,4644,4644,4644,93,4230,327,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,4644,4644,4644, + 93,4230,324,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,4644,4644,4644,93,4230,323,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,4644,4644,4644,93,4230, + 321,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,4644, + 4644,4644,93,4230,116,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,4644,4644,4644,93,4230,334,92, + 94,95,96,97,810,310,241,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,109,776,4644,4644,4644, + 93,4230,326,92,94,95,96,97,810,310, + 241,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,109, + 776,4644,4644,4644,93,4230,322,92,94,95, + 96,97,810,310,241,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,109,776,4644,4644,4644,93,4230, + 320,92,94,95,96,97,810,310,241,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,109,776,4644, + 4644,4644,93,4230,319,92,94,95,96,97, + 810,310,241,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,109,776,4644,4644,4644,93,4230,318,92, + 94,95,96,97,810,310,1003,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,4644,708,333,4159,3348, + 1123,17,16,19,538,43,45,572,605,912, + 193,1123,17,16,19,538,43,45,572,605, + 913,4468,1027,17,16,19,538,299,3204,1003, + 17,16,19,538,537,45,572,605,573,607, + 606,640,639,673,641,674,75,89,391,708, + 485,4159,3348,1123,17,16,19,538,43,45, + 572,605,945,193,1123,17,16,19,538,43, + 45,572,605,946,4468,1051,17,16,19,538, + 297,3372,1003,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,495,708,4644,4159,3348,1123,17,16,19, + 538,43,45,572,844,4644,193,1123,17,16, + 19,538,43,45,572,845,749,4468,1267,302, + 342,4644,395,392,3483,1003,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,218,708,4644,4159,3348,760, + 29,141,301,302,141,301,302,181,4644,193, + 394,219,505,4644,148,140,142,151,140,142, + 4468,4644,138,441,1267,374,147,3529,1003,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,4215,708,4644, + 4159,3348,1123,17,16,19,538,43,45,877, + 231,4644,193,180,826,17,16,19,538,43, + 36,945,24,4468,1075,17,16,19,538,295, + 3553,1003,17,16,19,538,537,45,572,605, + 573,607,606,640,639,673,641,674,75,89, + 194,708,236,4159,3348,1123,17,16,19,538, + 43,45,878,4644,221,193,4644,826,17,16, + 19,538,43,36,287,342,4468,1099,17,16, + 19,538,41,3577,949,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,3038,708,308,4159,4279,1123,17, + 16,19,538,43,40,2495,219,220,4139,1123, + 17,16,19,538,43,45,572,605,573,911, + 3014,949,17,16,19,538,537,45,572,605, + 573,607,606,640,639,673,641,674,75,89, + 3086,708,715,4159,4330,1123,17,16,19,538, + 43,39,4644,760,29,4139,1123,17,16,19, + 538,43,38,223,4226,4644,4644,3062,447,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,4094,1123,17,16, + 19,538,43,45,572,605,573,607,606,640, + 639,673,1014,243,301,302,230,861,17,16, + 19,538,537,45,572,605,573,607,606,640, + 639,673,641,674,75,266,23,32,4644,3601, + 861,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,266,4384, + 526,1174,3601,826,17,16,19,538,43,36, + 32,269,1123,17,16,19,538,43,45,572, + 605,573,607,979,270,1147,17,16,19,538, + 34,4494,4393,4644,269,141,301,302,4644,138, + 1246,237,4644,4644,221,4644,4644,270,154,140, + 142,333,32,4644,4505,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4079,708,686,307,342,200, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4549, + 708,720,3700,342,724,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,266,718,4551,1203,3601,1123,17,16, + 19,538,43,45,572,605,573,607,606,640, + 639,980,135,268,1123,17,16,19,538,43, + 45,572,605,573,607,606,640,981,271,1123, + 17,16,19,538,43,37,1283,1289,221,1196, + 478,272,724,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 266,344,4339,1310,3601,1123,17,16,19,538, + 43,45,572,605,573,607,606,947,103,261, + 221,28,1123,17,16,19,538,43,35,1123, + 17,16,19,538,43,36,271,1123,17,16, + 19,538,43,48,4644,4644,261,32,4644,272, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4491, + 708,992,4644,342,4644,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4564,708,1026,4644,342,4644, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4565, + 708,1094,4644,342,4644,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4566,708,1128,4644,342,4644, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4567, + 708,1162,4644,342,4644,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4568,708,1400,4644,342,4644, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4577, + 708,1502,4644,342,4644,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4583,708,1570,4644,342,4644, + 664,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,4584, + 708,1604,4644,342,4644,664,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,4592,708,1808,392,342,1123, + 17,16,19,538,537,45,572,605,573,607, + 606,640,639,673,641,674,75,86,222,4593, + 914,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,316, + 708,4644,4644,4243,914,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,314,708,4644,4644,4254,914,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,312,708,1192, + 4644,4255,914,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,131,708,4644,4644,4263,600,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,4322,1123,17,16,19,538, + 43,47,1123,17,16,19,538,43,46,4644, + 4644,243,301,302,914,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,3110,708,4644,276,4394,914,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,3134,708,4644, + 4644,4470,914,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,3182,708,4644,4644,4481,914,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,3206,708,4644,4644,4512, + 914,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,2425, + 708,4644,4644,4517,914,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,2450,708,4644,4644,4520,914,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,3302,708,32, + 4644,4526,890,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,4397,708,618,392,4521,890,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,3469,708,652,4644,4532, + 914,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,3374, + 708,4644,4644,4529,914,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,2635,708,4644,4644,4554,914,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,2685,708,4644, + 4644,4555,914,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,2710,708,32,4644,4557,890,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,89,4417,708,788,392,4558, + 890,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,89,18, + 708,856,392,4559,890,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,89,1049,708,890,4644,4560,914,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,89,2810,708,32, + 4644,4571,890,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 89,4081,708,1298,715,4575,631,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,2082,263,4488,138,4270,690, + 17,16,19,538,43,44,1147,17,16,19, + 538,33,4644,392,229,890,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,30,1081,233,21,1123,17,16, + 19,538,537,45,572,605,573,607,606,640, + 639,673,641,674,75,89,4644,708,4644,392, + 4245,1123,17,16,19,538,537,45,572,605, + 573,607,606,640,639,673,641,674,75,89, + 1082,708,4644,392,1013,1123,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,89,1083,708,3625,392,4197,1123, + 17,16,19,538,537,45,572,605,573,607, + 606,640,639,673,641,674,75,89,1115,708, + 32,112,4319,1123,17,16,19,538,537,45, + 572,605,573,607,606,640,639,673,641,674, + 75,89,2327,708,4644,1202,4371,1123,17,16, + 19,538,537,45,572,605,573,607,606,640, + 639,673,641,674,75,89,22,708,4644,4644, + 4541,802,17,16,19,538,43,45,572,605, + 573,607,606,640,639,673,641,674,91,979, + 17,16,19,538,537,45,572,605,573,607, + 606,640,639,673,641,674,75,3467,275,309, + 4644,4388,4644,4644,4644,4644,4644,4644,3724,2949, + 855,4644,4644,4644,2409,271,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,266,271,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,266,260,4644,4644,4644,4644,4644,4644, + 4644,4644,4644,4644,4644,4644,2563,4644,4644,161, + 1123,17,16,19,538,43,45,572,605,573, + 607,606,640,639,673,641,674,74,273,1123, + 17,16,19,538,537,45,572,605,573,607, + 606,640,639,673,641,674,75,85,1123,17, + 16,19,538,537,45,572,605,573,607,606, + 640,639,673,641,674,75,84,1123,17,16, + 19,538,537,45,572,605,573,607,606,640, + 639,673,641,674,75,83,1123,17,16,19, + 538,537,45,572,605,573,607,606,640,639, + 673,641,674,75,82,1123,17,16,19,538, + 537,45,572,605,573,607,606,640,639,673, + 641,674,75,81,1123,17,16,19,538,537, + 45,572,605,573,607,606,640,639,673,641, + 674,75,80,1123,17,16,19,538,537,45, + 572,605,573,607,606,640,639,673,641,674, + 75,79,1123,17,16,19,538,537,45,572, + 605,573,607,606,640,639,673,641,674,75, + 78,1123,17,16,19,538,537,45,572,605, + 573,607,606,640,639,673,641,674,75,77, + 1123,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,76,1123, + 17,16,19,538,43,45,572,605,573,607, + 606,640,639,673,641,674,91,1123,17,16, + 19,538,537,45,572,605,573,607,606,640, + 639,673,641,674,75,4329,4644,4644,4644,4644, + 4644,4644,4644,4644,4644,4644,1197,4644,4644,4644, + 4644,4644,1048,1123,17,16,19,538,537,45, + 572,605,573,607,606,640,639,673,641,674, + 75,90,1123,17,16,19,538,43,45,572, + 605,573,607,606,640,639,673,641,674,91, + 1123,17,16,19,538,537,45,572,605,573, + 607,606,640,639,673,641,674,75,31,544, + 811,544,4644,4644,4644,4644,4644,208,4644,4644, + 4644,4644,4644,4644,138,210,1123,17,16,19, + 538,43,45,572,605,573,607,606,640,639, + 673,641,674,91,1123,17,16,19,538,43, + 45,572,605,573,607,606,640,639,673,641, + 674,91,232,4644,716,4644,4644,4644,1261,716, + 4644,392,4644,811,4644,811,4644,4644,4644,197, + 207,1151,207,134,486,179,4286,317,134,543, + 179,4361,259,2410,843,4292,843,198,1123,17, + 16,19,538,43,45,572,605,573,607,606, + 640,639,673,641,674,91,141,301,302,141, + 301,302,1261,1261,141,301,302,392,716,157, + 140,142,143,140,142,2030,4644,143,140,142, + 4644,130,129,4644,145,1182,342,192,516,145, + 4369,4561,149,152,155,321,1303,149,152,155, + 1261,2026,2029,2370,4151,4241,2026,2029,2370,4151, + 4241,543,179,1261,285,138,32,4154,4159,110, + 242,301,302,384,1261,1261,2537,219,505,4134, + 4312,1267,315,1261,1267,394,219,367,2350,1261, + 1182,284,285,313,311,4154,141,301,302,1261, + 4350,247,132,20,2857,707,62,4134,128,144, + 140,142,1247,394,219,367,62,445,3158,284, + 183,146,228,182,4644,242,301,302,393,150, + 153,156,267,281,283,365,4644,1267,392,392, + 4644,4400,138,393,4253,445,2371,219,367,138, + 1261,201,940,675,1897,2288,2131,219,220,1182, + 550,282,283,675,262,4414,4644,158,4644,3230, + 1191,191,2131,219,220,260,202,159,2160,675, + 234,62,2493,2131,219,220,260,235,2536,492, + 2033,392,227,249,242,301,302,1244,251,2536, + 4644,4644,2607,392,1259,243,301,302,1182,4141, + 4644,392,584,1259,1261,1267,4644,1259,262,4444, + 1249,2131,219,220,4461,392,4159,392,675,2131, + 219,220,4644,3254,1293,4159,1117,1259,193,4159, + 260,226,158,242,301,302,264,193,265,4198, + 4644,193,4644,2536,203,492,4159,2493,4198,4159, + 4644,189,4198,4141,1293,62,2028,4493,4312,444, + 189,193,194,2976,189,2084,4493,392,4644,4261, + 4493,1213,4198,4332,4644,391,4159,392,758,247, + 1261,4159,4405,707,189,2131,219,220,4312,4264, + 4493,1261,1117,4312,4644,2131,219,220,444,3278, + 2421,32,2033,1269,1252,3700,243,301,302,247, + 3326,1281,4405,707,247,1258,1031,2857,707,4644, + 4159,260,1261,4159,4644,4159,4644,1261,195,4644, + 1261,392,4312,4159,2536,4139,1261,193,4159,1261, + 288,3350,392,267,255,4312,2610,290,4198,2660, + 4139,392,754,247,27,3398,4407,707,3422,392, + 190,392,291,822,1261,1261,248,1261,392,392, + 392,138,4563,1261,392,392,392,392,392,4644, + 958,1261,1060,2735,2760,392,2785,392,4644,1196, + 1230,1264,114,392,392,1332,1366,1434,1468,1536, + 2835,4506,392,392,4644,4644,1638,4644,1672,277, + 4644,4644,4644,4644,1706,1740,4644,4644,4644,4644, + 4644,4644,4644,1774,1842,4644,0,1,4861,0, + 304,3651,0,4653,1,0,1,4647,0,1, + 4646,0,1,777,0,9,11,0,1,4896, + 0,111,924,0 }; }; public final static char baseAction[] = BaseAction.baseAction; @@ -999,185 +984,149 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 0,1,2,3,4,5,6,7,8,9, 10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,0,1,39, + 30,0,32,0,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,1,58,59, + 50,51,52,0,54,55,56,24,58,59, 60,0,1,2,64,65,66,67,68,69, - 70,71,72,0,37,75,76,77,78,79, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,0,57,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,52,53,54,55,0,0,58,59, - 60,0,1,2,64,65,66,67,68,69, - 70,71,72,36,0,75,76,77,78,79, - 0,1,2,3,4,5,6,7,8,9, - 10,11,12,13,14,15,16,17,18,19, - 20,21,22,23,24,25,26,27,28,29, - 30,31,32,33,34,35,36,0,0,39, - 40,41,42,43,44,45,46,47,48,49, - 50,51,0,53,54,55,4,0,58,59, - 60,4,0,87,64,65,66,67,68,69, - 70,71,72,0,37,75,76,77,78,79, - 0,1,2,3,4,5,92,14,0,0, - 38,39,12,13,14,15,16,17,36,19, - 20,21,22,23,24,25,26,27,28,29, - 30,74,74,56,0,0,36,80,3,39, - 6,7,8,9,10,11,0,0,1,2, - 3,0,6,7,8,9,10,11,58,59, - 60,0,0,2,64,65,66,67,68,69, 70,71,72,0,1,75,76,77,78,79, 0,1,2,3,4,5,6,7,8,9, - 10,11,83,84,85,86,0,36,18,37, - 92,0,6,7,8,9,10,11,0,1, - 37,31,32,33,34,35,81,82,0,39, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,0,32,0,34,35,36,37,38,39, 40,41,42,43,44,45,46,47,48,49, - 50,51,0,53,54,55,4,0,58,0, + 50,51,52,0,54,55,56,0,58,59, + 60,4,31,90,64,65,66,67,68,69, + 70,71,72,0,1,75,76,77,78,79, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,25,26,27,28,29, + 30,80,32,0,34,35,36,37,38,39, + 63,41,42,43,44,45,46,47,48,49, + 50,51,52,0,54,55,56,24,58,59, + 60,88,89,0,64,65,66,67,68,69, + 70,71,72,0,0,75,76,77,78,79, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,31,0,1,2,3, + 0,1,2,3,34,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,0,0,31,58,59, + 60,0,0,8,64,65,66,67,68,69, + 70,71,72,0,91,75,76,77,78,79, + 0,1,2,3,4,5,25,26,27,28, + 29,30,0,32,0,3,35,36,37,38, + 39,0,1,2,3,25,26,27,28,29, + 30,0,32,0,34,35,36,37,38,39, + 0,41,42,43,44,45,46,47,48,49, + 50,51,52,0,54,55,56,24,58,83, + 84,85,86,0,1,2,3,4,5,87, + 0,0,0,1,2,4,4,0,25,26, + 27,28,29,30,91,0,1,87,25,26, + 27,28,29,30,0,32,0,34,35,36, + 37,38,39,31,41,42,43,44,45,46, + 47,48,49,50,51,52,31,54,55,56, + 24,58,0,0,53,53,0,1,2,3, + 4,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 87,25,26,27,28,29,30,0,32,0, + 83,84,85,86,0,0,2,2,3,0, + 5,0,1,2,0,0,2,83,84,85, + 86,0,25,26,27,28,29,30,24,63, + 25,26,27,28,29,30,73,32,24,24, + 35,36,37,38,39,0,41,42,43,44, + 45,46,47,48,49,50,51,52,0,54, + 55,56,0,0,2,2,57,5,57,0, + 25,26,27,28,29,30,0,32,0,0, + 35,36,37,38,39,6,7,25,26,27, + 28,29,30,0,32,74,3,35,36,37, + 38,39,24,41,42,43,44,45,46,47, + 48,49,50,51,52,57,54,55,56,0, + 1,2,3,0,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,74,25,26,27,28,29,30, + 0,1,2,3,4,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,81,82,0,1,2,3, + 0,0,32,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,31,0,0, + 1,2,3,63,5,6,7,8,9,10, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,24,0,0,53,0,4,4, + 0,4,59,0,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,34, + 33,34,0,92,2,95,96,0,1,0, + 3,2,0,40,5,0,1,53,0,0, + 1,3,0,25,26,27,28,29,30,0, + 32,61,62,35,36,37,38,39,31,41, + 42,43,44,45,46,47,48,49,50,51, + 52,0,1,2,3,4,5,6,7,8, + 9,10,11,12,13,14,15,16,17,18, + 19,20,21,22,23,0,1,2,3,4, + 5,6,7,8,9,10,11,12,13,14, + 15,16,17,18,19,20,21,22,23,81, + 82,0,0,0,0,1,0,3,0,3, + 0,1,2,3,63,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,24,31,33,0,63,0, 1,2,3,4,5,6,7,8,9,10, - 11,0,0,0,0,1,38,18,6,7, - 8,9,10,11,0,12,13,87,4,0, - 31,32,33,34,35,74,0,1,39,40, - 41,42,43,44,45,46,47,48,49,50, - 51,37,53,54,55,63,0,58,97,98, - 99,100,101,102,103,104,105,106,0,0, - 73,0,3,0,6,7,8,9,10,11, - 56,0,1,2,73,4,87,0,1,2, - 3,4,5,6,7,8,9,10,11,12, - 13,14,15,16,17,18,19,20,21,22, - 23,24,25,26,27,28,29,30,37,0, - 0,0,2,3,0,5,6,7,8,9, - 10,11,61,62,0,0,1,56,18,4, - 0,1,2,3,0,0,2,0,0,1, - 63,31,32,33,34,35,83,84,85,86, - 40,41,42,43,44,45,46,47,48,49, - 50,51,37,53,54,55,0,37,2,0, - 36,5,6,7,8,9,10,11,0,0, - 2,56,3,5,18,0,0,1,2,3, - 0,1,83,84,85,86,0,31,32,33, - 34,35,0,1,90,3,40,41,42,43, - 44,45,46,47,48,49,50,51,0,53, - 54,55,0,37,2,88,89,5,6,7, - 8,9,10,11,0,0,0,3,0,37, - 18,0,57,2,0,0,0,2,4,14, - 12,13,0,31,32,33,34,35,12,13, - 81,82,40,41,42,43,44,45,46,47, - 48,49,50,51,38,53,54,55,0,1, - 2,3,38,5,6,7,8,9,10,11, - 12,13,14,15,16,17,52,19,20,21, - 22,23,24,25,26,27,28,29,30,0, - 1,2,3,4,5,81,82,0,73,0, - 0,12,13,14,15,16,17,18,19,20, - 21,22,23,24,25,26,27,28,29,30, - 0,1,2,3,4,5,0,0,0,1, - 4,3,12,13,14,15,16,17,0,19, - 20,21,22,23,24,25,26,27,28,29, - 30,0,63,0,0,4,0,3,61,62, - 61,62,0,0,38,37,4,4,0,1, - 2,3,4,5,36,0,56,2,52,59, - 12,13,14,15,16,17,0,19,20,21, - 22,23,24,25,26,27,28,29,30,0, - 38,38,0,52,36,6,7,8,9,10, - 11,36,0,57,2,0,1,18,56,56, - 52,0,95,96,0,0,0,73,4,4, - 31,32,33,34,35,0,1,0,36,40, - 41,42,43,44,45,46,47,48,49,50, - 51,0,37,0,1,0,1,6,7,8, - 9,10,11,38,39,0,0,0,0,18, - 0,0,37,0,4,0,52,4,0,0, - 0,60,31,32,33,34,35,61,62,0, - 37,40,41,42,43,44,45,46,47,48, - 49,50,51,0,1,2,3,4,5,39, - 0,36,39,0,4,12,13,14,15,16, - 17,0,19,20,21,22,23,24,25,26, - 27,28,29,30,0,0,0,0,1,61, - 62,0,6,7,8,9,10,11,38,36, - 0,0,2,74,18,88,89,0,93,91, - 0,0,52,0,0,0,63,31,32,33, - 34,35,38,38,37,0,40,41,42,43, - 44,45,46,47,48,49,50,51,0,1, - 2,3,4,5,37,0,0,0,57,36, - 12,13,14,15,16,17,0,19,20,21, - 22,23,24,25,26,27,28,29,30,0, - 1,2,3,4,5,0,0,0,0,0, - 0,12,13,14,15,16,17,80,19,20, - 21,22,23,24,25,26,27,28,29,30, - 90,63,91,57,57,0,0,0,1,2, - 3,4,5,36,36,36,36,0,0,12, - 13,14,15,16,17,56,19,20,21,22, - 23,24,25,26,27,28,29,30,0,1, - 2,3,4,5,0,0,39,2,0,0, - 12,13,14,15,16,17,0,19,20,21, - 22,23,24,25,26,27,28,29,30,0, - 1,2,3,0,5,57,0,39,2,0, - 36,12,13,14,15,16,17,0,19,20, - 21,22,23,24,25,26,27,28,29,30, - 0,0,1,2,3,36,5,0,0,2, - 0,0,0,12,13,14,15,16,17,0, - 19,20,21,22,23,24,25,26,27,28, - 29,30,0,0,1,2,3,36,5,0, - 0,0,0,0,0,12,13,14,15,16, - 17,0,19,20,21,22,23,24,25,26, - 27,28,29,30,0,0,1,2,3,36, - 5,0,0,0,0,0,0,12,13,14, - 15,16,17,0,19,20,21,22,23,24, - 25,26,27,28,29,30,0,1,2,3, - 0,5,0,0,0,0,0,0,12,13, - 14,15,16,17,0,19,20,21,22,23, - 24,25,26,27,28,29,30,0,1,2, - 3,0,5,0,0,0,0,0,0,12, - 13,14,15,16,17,0,19,20,21,22, - 23,24,25,26,27,28,29,30,0,1, - 2,3,0,5,0,0,0,0,0,0, - 12,13,14,15,16,17,0,19,20,21, - 22,23,24,25,26,27,28,29,30,0, - 1,2,3,0,5,0,0,0,0,0, - 0,12,13,14,15,16,17,0,19,20, - 21,22,23,24,25,26,27,28,29,30, - 0,1,2,3,0,5,0,0,0,0, - 0,0,12,13,14,15,16,17,0,19, - 20,21,22,23,24,25,26,27,28,29, - 30,0,1,2,3,0,5,0,0,0, - 0,0,0,12,13,14,15,16,17,0, - 19,20,21,22,23,24,25,26,27,28, - 29,30,0,1,2,3,0,5,0,0, - 0,0,0,0,12,13,14,15,16,17, - 0,19,20,21,22,23,24,25,26,27, - 28,29,30,0,0,0,0,0,0,6, - 7,8,9,10,11,0,0,0,0,0, - 0,18,0,0,0,0,0,0,6,7, - 8,9,10,11,31,32,33,34,35,0, - 18,0,0,0,0,0,0,6,7,8, - 9,10,11,31,32,33,34,35,0,18, - 0,0,0,0,0,0,6,7,8,9, - 10,11,31,32,33,34,35,0,18,0, - 0,0,0,0,0,6,7,8,9,10, - 11,31,32,33,34,35,0,18,0,0, - 0,0,0,0,6,7,8,9,10,11, - 31,32,33,34,35,0,18,0,0,0, - 0,0,0,6,7,8,9,10,11,31, - 32,33,34,35,0,18,0,0,0,0, - 0,0,6,7,8,9,10,11,31,32, - 33,34,35,0,18,0,0,0,0,0, - 0,6,7,8,9,10,11,31,32,33, - 34,35,0,18,0,0,0,0,0,0, - 6,7,8,9,10,11,31,32,33,34, - 35,0,18,0,0,0,0,0,0,6, - 7,8,9,10,11,31,32,33,34,35, - 0,18,0,0,4,0,0,1,6,7, - 8,9,10,11,31,32,33,34,35,0, - 18,15,16,4,0,0,0,0,4,0, - 0,0,0,31,32,33,34,35,38,0, - 0,0,0,37,0,0,0,0,0,0, - 0,0,52,0,0,0,0,0,0,0, + 11,12,13,14,15,16,17,18,19,20, + 21,22,23,0,1,2,3,4,5,6, + 7,8,9,10,11,12,13,14,15,16, + 17,18,19,20,21,22,23,81,82,0, + 88,89,53,4,0,1,0,34,0,1, + 2,3,4,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,33,34,0,31,0,1,0,1, + 2,3,34,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,0,1,2,3,60,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,0,1,2,3, + 0,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 0,1,2,3,24,5,6,7,8,9, + 10,11,12,13,14,15,16,17,18,19, + 20,21,22,23,0,1,2,3,0,5, + 6,7,8,9,10,11,12,13,14,15, + 16,17,18,19,20,21,22,23,0,1, + 2,3,24,5,6,7,8,9,10,11, + 12,13,14,15,16,17,18,19,20,21, + 22,23,0,1,2,3,0,5,6,7, + 8,9,10,11,12,13,14,15,16,17, + 18,19,20,21,22,23,0,1,2,3, + 0,5,6,7,8,9,10,11,12,13, + 14,15,16,17,18,19,20,21,22,23, + 0,0,2,0,1,25,26,27,28,29, + 30,0,32,0,1,35,36,37,38,39, + 0,0,9,10,24,0,0,0,2,4, + 74,0,0,1,31,4,25,26,27,28, + 29,30,0,0,31,25,26,27,28,29, + 30,8,31,97,98,99,100,101,102,103, + 104,105,106,31,33,40,0,25,26,27, + 28,29,30,0,1,0,0,4,0,4, + 4,0,4,0,53,4,0,0,0,0, + 0,4,4,80,4,74,0,0,0,0, + 4,80,4,0,31,6,7,94,33,33, + 0,33,0,1,33,40,40,90,0,1, + 33,40,0,0,34,3,53,40,40,6, + 7,53,0,0,2,0,40,0,40,0, + 1,0,0,31,61,62,0,61,62,31, + 61,62,0,0,0,0,0,1,61,62, + 57,0,0,0,2,0,33,2,33,0, + 31,2,0,0,33,0,24,24,24,24, + 0,0,0,73,0,0,0,0,0,0, + 0,0,0,0,57,73,0,0,0,0, + 0,0,0,57,0,73,0,0,0,0, + 0,0,0,0,0,0,0,0,57,0, 0,0,0,0,0,0,0,0,0,0, - 0,52,0,0,0,0,52,0,0,0, - 0,0,0,0,0,0,80,0,0,0, + 0,0,0,0,92,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 94,0,0,0,0,0,0,0,0,0, + 0,0,0,0,0,0,93,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, - 0,0,0,0,0,0,0 + 0,0 }; }; public final static byte termCheck[] = TermCheck.termCheck; @@ -1185,185 +1134,149 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TermAction { public final static char termAction[] = {0, - 4721,1880,4709,2611,1121,4703,1,1,1,1, - 1,1,2542,2183,2597,3752,3746,3735,1,2130, - 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, - 4736,1,1,1,1,1,399,4721,2272,4731, - 1,1,1,1,1,1,1,1,1,1, - 1,1,4729,1,1,1,4721,2198,4818,4142, - 848,1,4492,4942,3743,3974,915,452,847,2022, - 881,2936,849,1,3429,2864,2912,3742,2888,815, - 9,4712,4712,4712,4712,4712,4712,4712,4712,4712, - 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, - 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, - 4712,4712,4712,4712,4712,4712,4712,224,4101,4712, - 4712,4712,4712,4712,4712,4712,4712,4712,4712,4712, - 4712,4712,4712,4712,4712,4712,4721,4721,4712,4712, - 4712,1,4492,4942,4712,4712,4712,4712,4712,4712, - 4712,4712,4712,228,70,4712,4712,4712,4712,4712, - 4721,1880,4709,2611,4732,4703,1,1,1,1, - 1,1,2542,2183,2597,3752,3746,3735,1,2130, - 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, - 4736,1,1,1,1,1,399,4721,164,4731, - 1,1,1,1,1,1,1,1,1,1, - 1,1,4721,1,1,1,4732,4721,4818,4142, - 848,4728,4721,4690,3743,3974,915,452,847,2022, - 881,2936,849,64,4173,2864,2912,3742,2888,815, - 4721,1880,883,2611,4732,4724,2317,1957,71,59, - 4431,4731,2542,2183,2597,3752,3746,3735,399,2130, - 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, - 4736,4999,3690,4727,242,48,399,1257,3678,4731, - 1,1,1,1,1,1,243,4721,4492,4942, - 2553,4721,1,1,1,1,1,1,4818,4142, - 848,4721,308,4911,3743,3974,915,452,847,2022, - 881,2936,849,219,2272,2864,2912,3742,2888,815, - 4721,4492,4691,1,4732,1,1,1,1,1, - 1,1,2222,2169,2116,2063,4721,2089,1,4694, - 2317,42,4936,4937,4938,5030,2283,5031,4721,2248, - 3429,1,1,1,1,1,3459,3452,248,4731, - 1,1,1,1,1,1,1,1,1,1, - 1,1,4721,1,1,1,4726,1,5011,4721, - 4492,4691,1,4732,1,1,1,1,1,1, - 1,1,244,51,219,2412,4260,1,4936,4937, - 4938,5030,2283,5031,1,2077,2024,284,4728,4721, - 1,1,1,1,1,3955,4721,3540,4731,1, - 1,1,1,1,1,1,1,1,1,1, - 1,3429,1,1,1,4725,4721,5011,3936,3917, - 3898,3879,3860,3822,3841,3803,3784,3765,245,4721, - 4971,54,1930,61,4936,4937,4938,5030,2283,5031, - 4727,1,4234,4691,4970,4728,283,4721,1880,4723, - 2534,4726,4724,4936,4937,4938,5030,2283,5031,2542, - 2183,2597,3752,3746,3735,3992,2130,442,5017,5018, - 5019,2604,2528,2395,4733,4734,4735,4736,3429,60, - 4721,4721,4723,1930,66,4724,4936,4937,4938,5030, - 2283,5031,1918,1971,4721,1,4563,4727,4889,4728, - 254,4234,4942,1,4721,4721,4911,62,4721,3564, - 4725,4890,4888,4939,4891,4887,2222,2169,2116,2063, - 4893,4898,4897,4895,4896,4894,4899,4900,4892,4901, - 4902,4903,3429,369,1901,371,148,3429,4697,4721, - 2142,4724,4936,4937,4938,5030,2283,5031,4721,50, - 4723,4727,3678,4724,4889,2,260,4234,4942,2553, - 4721,3588,2222,2169,2116,2063,4721,4890,4888,4939, - 4891,4887,258,4563,1904,1,4893,4898,4897,4895, - 4896,4894,4899,4900,4892,4901,4902,4903,4721,369, - 1901,371,4721,3429,4723,2010,386,4724,4936,4937, - 4938,5030,2283,5031,49,65,87,3678,53,3429, - 4889,210,101,4924,4721,1,52,4715,4730,1957, - 2077,2024,4721,4890,4888,4939,4891,4887,2077,2024, - 3459,3452,4893,4898,4897,4895,4896,4894,4899,4900, - 4892,4901,4902,4903,4028,369,1901,371,4721,1880, - 4723,2611,4213,4724,4936,4937,4938,5030,2283,5031, - 2542,2183,2597,3752,3746,3735,4729,2130,442,5017, - 5018,5019,2604,2528,2395,4733,4734,4735,4736,1, - 1880,4723,2236,4726,4724,3459,3452,58,4971,57, - 4721,2542,2183,2597,3752,3746,3735,3655,2130,442, - 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, - 4721,1880,4723,2611,4728,4724,4721,72,260,4563, - 4730,2553,2542,2183,2597,3752,3746,3735,189,2130, - 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, - 4736,1,4725,4721,1,4700,4721,1930,1918,1971, - 1918,1971,4721,4721,4216,3429,4728,4728,1,1880, - 4723,2611,4730,4724,3162,4721,4727,4924,4729,5068, - 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, - 5018,5019,2604,2528,2395,4733,4734,4735,4736,147, - 4065,1255,188,4729,3561,4936,4937,4938,5030,2283, - 5031,2336,4721,4821,4853,220,2272,4889,4727,4727, - 4729,4721,2578,3516,1,4721,56,4971,192,4732, - 4890,4888,4939,4891,4887,261,3427,4721,3306,4893, - 4898,4897,4895,4896,4894,4899,4900,4892,4901,4902, - 4903,148,3429,220,2412,4721,3612,4936,4937,4938, - 5030,2283,5031,4487,4731,110,4721,63,68,4889, - 1,4721,3429,4721,4732,208,192,4732,55,213, - 4721,1222,4890,4888,4939,4891,4887,1918,1971,4721, - 3429,4893,4898,4897,4895,4896,4894,4899,4900,4892, - 4901,4902,4903,4721,1880,4723,2385,4726,4724,4731, - 4721,3402,4731,224,4730,2542,2183,2597,3752,3746, - 3735,4721,2130,442,5017,5018,5019,2604,2528,2395, - 4733,4734,4735,4736,86,209,149,262,3427,1918, - 1971,4721,4936,4937,4938,5030,2283,5031,2486,229, - 4721,4721,4924,4047,4889,2010,386,4721,4718,2979, - 67,69,4729,1,4721,4721,4725,4890,4888,4939, - 4891,4887,4028,6236,3429,4721,4893,4898,4897,4895, - 4896,4894,4899,4900,4892,4901,4902,4903,4721,1880, - 4723,2611,4726,4724,4173,4721,4721,4721,486,399, - 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, - 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, - 1880,4723,2611,4728,4724,4721,4721,304,302,300, - 41,2542,2183,2597,3752,3746,3735,1257,2130,442, - 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, - 1904,4725,2979,2509,4820,4721,4721,4721,1880,4723, - 2611,4732,4724,4149,4149,4149,4149,4721,200,2542, - 2183,2597,3752,3746,3735,4727,2130,442,5017,5018, - 5019,2604,2528,2395,4733,4734,4735,4736,1,1880, - 4706,2611,4732,4703,4721,4721,4731,4978,4721,4721, - 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, - 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, - 1880,4723,2611,4721,4724,4119,4721,4731,5003,4721, - 4149,2542,2183,2597,3752,3746,3735,4721,2130,442, - 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, - 4721,4721,1880,4723,2611,3561,4724,209,4721,4019, - 4721,4721,4721,2542,2183,2597,3752,3746,3735,4721, - 2130,442,5017,5018,5019,2604,2528,2395,4733,4734, - 4735,4736,4721,1,1880,4723,2611,4149,4724,4721, - 4721,4721,4721,4721,4721,2542,2183,2597,3752,3746, - 3735,4721,2130,442,5017,5018,5019,2604,2528,2395, - 4733,4734,4735,4736,4721,1,1880,4723,2611,3561, - 4724,4721,4721,4721,4721,4721,4721,2542,2183,2597, - 3752,3746,3735,4721,2130,442,5017,5018,5019,2604, - 2528,2395,4733,4734,4735,4736,1,1880,4706,2611, - 4721,4703,4721,4721,4721,4721,4721,4721,2542,2183, - 2597,3752,3746,3735,4721,2130,442,5017,5018,5019, - 2604,2528,2395,4733,4734,4735,4736,4721,1933,4723, - 2611,4721,4724,4721,4721,4721,4721,4721,4721,2542, - 2183,2597,3752,3746,3735,4721,2130,442,5017,5018, - 5019,2604,2528,2395,4733,4734,4735,4736,4721,1986, - 4723,2611,4721,4724,4721,4721,4721,4721,4721,4721, - 2542,2183,2597,3752,3746,3735,4721,2130,442,5017, - 5018,5019,2604,2528,2395,4733,4734,4735,4736,4721, - 2039,4723,2611,4721,4724,4721,4721,4721,4721,4721, - 4721,2542,2183,2597,3752,3746,3735,4721,2130,442, - 5017,5018,5019,2604,2528,2395,4733,4734,4735,4736, - 4721,2092,4723,2611,4721,4724,4721,4721,4721,4721, - 4721,4721,2542,2183,2597,3752,3746,3735,4721,2130, - 442,5017,5018,5019,2604,2528,2395,4733,4734,4735, - 4736,4721,1880,4723,2611,4721,4724,4721,4721,4721, - 4721,4721,4721,2542,2183,2597,3752,3746,3735,4721, - 2130,442,5017,5018,5019,2604,2528,2395,4733,4734, - 4735,4736,4721,2145,4723,2611,4721,4724,4721,4721, - 4721,4721,4721,4721,2542,2183,2597,3752,3746,3735, - 4721,2130,442,5017,5018,5019,2604,2528,2395,4733, - 4734,4735,4736,153,4721,4721,4721,4721,4721,4936, - 4937,4938,5030,2283,5031,4721,4721,4721,4721,4721, - 4721,4889,157,4721,4721,4721,4721,4721,4936,4937, - 4938,5030,2283,5031,4890,4888,4939,4891,4887,4721, - 4889,161,4721,4721,4721,4721,4721,4936,4937,4938, - 5030,2283,5031,4890,4888,4939,4891,4887,4721,4889, - 151,4721,4721,4721,4721,4721,4936,4937,4938,5030, - 2283,5031,4890,4888,4939,4891,4887,4721,4889,155, - 4721,4721,4721,4721,4721,4936,4937,4938,5030,2283, - 5031,4890,4888,4939,4891,4887,4721,4889,159,4721, - 4721,4721,4721,4721,4936,4937,4938,5030,2283,5031, - 4890,4888,4939,4891,4887,4721,4889,160,4721,4721, - 4721,4721,4721,4936,4937,4938,5030,2283,5031,4890, - 4888,4939,4891,4887,4721,4889,156,4721,4721,4721, - 4721,4721,4936,4937,4938,5030,2283,5031,4890,4888, - 4939,4891,4887,4721,4889,152,4721,4721,4721,4721, - 4721,4936,4937,4938,5030,2283,5031,4890,4888,4939, - 4891,4887,4721,4889,158,4721,4721,4721,4721,4721, - 4936,4937,4938,5030,2283,5031,4890,4888,4939,4891, - 4887,4721,4889,154,4721,4721,4721,4721,4721,4936, - 4937,4938,5030,2283,5031,4890,4888,4939,4891,4887, - 4721,4889,150,4721,4730,4721,31,3470,4936,4937, - 4938,5030,2283,5031,4890,4888,4939,4891,4887,4721, - 4889,4746,4747,4730,1,4721,4721,4721,191,4721, - 4721,4721,4721,4890,4888,4939,4891,4887,2555,4721, - 4721,4721,4721,3492,4721,4721,4721,4721,4721,4721, - 4721,4721,4729,4721,4721,4721,4721,4721,4721,4721, - 4721,4721,4721,4721,4721,4721,4721,4721,4721,4721, - 4721,4729,4721,4721,4721,4721,191,4721,4721,4721, - 4721,4721,4721,4721,4721,4721,542,4721,4721,4721, - 4721,4721,4721,4721,4721,4721,4721,4721,4721,4721, - 382 + 4644,1876,4632,2589,1015,4626,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,2539,1,1,1,1,1, + 1,1,1,220,4654,1,1,1,1,1, + 4652,1,1,1,1,1,1,1,1,1, + 1,1,1,67,1,1,1,224,4742,4193, + 742,1,4445,4861,4192,3969,809,448,741,446, + 775,2952,743,4644,2194,2880,2928,4138,2904,709, + 9,4635,4635,4635,4635,4635,4635,4635,4635,4635, + 4635,4635,4635,4635,4635,4635,4635,4635,4635,4635, + 4635,4635,4635,4635,4635,4635,4635,4635,4635,4635, + 4635,4644,4635,4644,4635,4635,4635,4635,4635,4635, + 4635,4635,4635,4635,4635,4635,4635,4635,4635,4635, + 4635,4635,4635,63,4635,4635,4635,4644,4635,4635, + 4635,4649,4168,2565,4635,4635,4635,4635,4635,4635, + 4635,4635,4635,4644,2241,4635,4635,4635,4635,4635, + 4644,1876,4632,2589,4655,4626,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,2539,1,1,1,1,1, + 1,1151,1,4644,4654,1,1,1,1,1, + 4648,1,1,1,1,1,1,1,1,1, + 1,1,1,4644,1,1,1,2539,4742,4193, + 742,2229,379,69,4192,3969,809,448,741,446, + 775,2952,743,4644,304,2880,2928,4138,2904,709, + 4644,1876,777,2589,4655,4647,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,2539,4620,250,4323,4861,1, + 4644,1876,4646,2589,4654,4647,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,3600,65,60,3446,4742,4193, + 742,137,4644,2382,4192,3969,809,448,741,446, + 775,2952,743,70,2514,2880,2928,4138,2904,709, + 4644,4445,4617,1,4655,1,4855,4856,4857,4949, + 470,4950,4644,4808,4644,2085,4809,4807,4858,4810, + 4806,4644,4445,4861,2540,1,1,1,1,1, + 1,4644,1,185,4654,1,1,1,1,1, + 4644,1,1,1,1,1,1,1,1,1, + 1,1,1,238,1,1,1,3179,4930,1964, + 1953,1911,1900,4644,4445,4617,1,4655,1,4616, + 4644,4644,1,4323,4617,4651,4651,62,1,1, + 1,1,1,1,2514,4644,417,280,1,1, + 1,1,1,1,61,1,184,4654,1,1, + 1,1,1,3446,1,1,1,1,1,1, + 1,1,1,1,1,1,3446,1,1,1, + 3323,4930,4644,1,4650,4650,4644,1876,4646,2373, + 4649,4647,2529,2276,2582,3476,2395,2187,2265,2218, + 4936,4937,4938,2134,1975,1922,4656,4657,4658,4659, + 279,4855,4856,4857,4949,470,4950,239,3987,4644, + 1964,1953,1911,1900,4644,4644,4830,4646,2085,2, + 4647,1,4445,4861,4644,204,4830,1964,1953,1911, + 1900,160,1,1,1,1,1,1,2347,4648, + 4855,4856,4857,4949,470,4950,4890,4808,2380,3419, + 4809,4807,4858,4810,4806,138,4812,4817,4816,4814, + 4815,4813,4818,4819,4811,4820,4821,4822,4644,440, + 2001,1950,4644,206,4646,4843,102,4647,4096,209, + 4855,4856,4857,4949,470,4950,4644,4808,220,52, + 4809,4807,4858,4810,4806,2165,2112,4855,4856,4857, + 4949,470,4950,49,4808,3705,3002,4809,4807,4858, + 4810,4806,225,4812,4817,4816,4814,4815,4813,4818, + 4819,4811,4820,4821,4822,4745,440,2001,1950,4644, + 1876,4646,2589,4644,4647,2529,2276,2582,3476,2395, + 2187,2265,2218,4936,4937,4938,2134,1975,1922,4656, + 4657,4658,4659,4042,4855,4856,4857,4949,470,4950, + 1,1876,4646,2124,4649,4647,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,2995,2597,256,4323,4861,2540, + 73,71,3669,4644,1876,4646,2589,4651,4647,2529, + 2276,2582,3476,2395,2187,2265,2218,4936,4937,4938, + 2134,1975,1922,4656,4657,4658,4659,3446,4644,4644, + 1876,4646,2589,4648,4647,2529,2276,2582,3476,2395, + 2187,2265,2218,4936,4937,4938,2134,1975,1922,4656, + 4657,4658,4659,4246,1,1,4650,4644,4651,4655, + 55,4655,4987,1,1876,4646,2589,4653,4647,2529, + 2276,2582,3476,2395,2187,2265,2218,4936,4937,4938, + 2134,1975,1922,4656,4657,4658,4659,3600,136,4654, + 4296,4654,4644,2497,4777,2307,3531,254,4377,4644, + 1,4646,4644,4652,4647,4644,3555,4650,51,4644, + 3579,3002,4644,4855,4856,4857,4949,470,4950,4644, + 4808,2006,2017,4809,4807,4858,4810,4806,3446,4812, + 4817,4816,4814,4815,4813,4818,4819,4811,4820,4821, + 4822,4644,1876,4646,2177,4649,4647,2529,2276,2582, + 3476,2395,2187,2265,2218,4936,4937,4938,2134,1975, + 1922,4656,4657,4658,4659,4644,1876,4646,2589,4649, + 4647,2529,2276,2582,3476,2395,2187,2265,2218,4936, + 4937,4938,2134,1975,1922,4656,4657,4658,4659,2995, + 2597,4644,64,244,256,4377,50,2540,4644,3002, + 1,1876,4646,2589,4648,4647,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,3600,3446,4501,4644,4648,4644, + 1876,4646,2589,4651,4647,2529,2276,2582,3476,2395, + 2187,2265,2218,4936,4937,4938,2134,1975,1922,4656, + 4657,4658,4659,4644,1876,4646,2589,4655,4647,2529, + 2276,2582,3476,2395,2187,2265,2218,4936,4937,4938, + 2134,1975,1922,4656,4657,4658,4659,2995,2597,4644, + 2229,379,4650,4655,215,417,4644,4654,1,1876, + 4629,2589,4655,4626,2529,2276,2582,3476,2395,2187, + 2265,2218,4936,4937,4938,2134,1975,1922,4656,4657, + 4658,4659,4435,4654,4644,3446,4644,3603,1,1876, + 4646,2589,4654,4647,2529,2276,2582,3476,2395,2187, + 2265,2218,4936,4937,4938,2134,1975,1922,4656,4657, + 4658,4659,1,1876,4629,2589,1116,4626,2529,2276, + 2582,3476,2395,2187,2265,2218,4936,4937,4938,2134, + 1975,1922,4656,4657,4658,4659,4644,1929,4646,2589, + 1,4647,2529,2276,2582,3476,2395,2187,2265,2218, + 4936,4937,4938,2134,1975,1922,4656,4657,4658,4659, + 4644,1982,4646,2589,2539,4647,2529,2276,2582,3476, + 2395,2187,2265,2218,4936,4937,4938,2134,1975,1922, + 4656,4657,4658,4659,4644,2035,4646,2589,300,4647, + 2529,2276,2582,3476,2395,2187,2265,2218,4936,4937, + 4938,2134,1975,1922,4656,4657,4658,4659,4644,2088, + 4646,2589,4246,4647,2529,2276,2582,3476,2395,2187, + 2265,2218,4936,4937,4938,2134,1975,1922,4656,4657, + 4658,4659,4644,1876,4646,2589,43,4647,2529,2276, + 2582,3476,2395,2187,2265,2218,4936,4937,4938,2134, + 1975,1922,4656,4657,4658,4659,4644,2141,4646,2589, + 139,4647,2529,2276,2582,3476,2395,2187,2265,2218, + 4936,4937,4938,2134,1975,1922,4656,4657,4658,4659, + 4644,4644,4843,215,2262,4855,4856,4857,4949,470, + 4950,4644,4808,32,3485,4809,4807,4858,4810,4806, + 240,4644,4669,4670,2422,1,4644,68,4843,4623, + 3950,4644,216,417,3446,4651,4855,4856,4857,4949, + 470,4950,241,66,3507,4855,4856,4857,4949,470, + 4950,2382,4168,3931,3912,3893,3874,3855,3817,3836, + 3798,3779,2859,3446,4060,4652,4644,4855,4856,4857, + 4949,470,4950,1,4377,4644,4644,4651,4644,4653, + 4653,4644,4651,59,4650,4653,58,4644,1,57, + 4644,4653,188,2273,4655,4918,4644,56,1,54, + 4653,1151,187,4644,3446,2165,2112,2059,4317,4395, + 1,1149,257,3444,2474,4652,4652,2565,216,2262, + 2542,4652,1,53,4654,2085,4650,4652,188,2165, + 2112,4650,1,88,4638,87,4652,4644,187,258, + 3444,205,72,3446,2006,2017,4644,2006,2017,3446, + 2006,2017,298,296,42,4644,4644,3627,2006,2017, + 482,196,4644,111,4897,4644,4023,4922,4023,205, + 3446,4016,4644,4644,6327,4644,4246,4246,4246,4246, + 4644,4644,4644,4889,4644,4644,4644,4644,4644,4644, + 4644,4644,4644,4644,3760,4890,4644,4644,4644,4644, + 4644,4644,4644,4744,4644,4890,4644,4644,4644,4644, + 4644,4644,4644,4644,4644,4644,4644,4644,4114,4644, + 4644,4644,4644,4644,4644,4644,4644,4644,4644,4644, + 4644,4644,4644,4644,2497,4644,4644,4644,4644,4644, + 4644,4644,4644,4644,4644,4644,4644,4644,4644,4644, + 4644,4644,4644,4644,4644,4644,4641 }; }; public final static char termAction[] = TermAction.termAction; @@ -1371,46 +1284,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asb { public final static char asb[] = {0, - 489,1,168,46,42,51,269,519,489,330, - 307,342,268,268,342,268,342,326,42,350, - 361,523,369,528,432,128,42,330,464,342, - 54,271,54,271,342,54,364,342,342,342, - 342,330,350,46,192,42,530,435,486,192, - 202,149,23,23,23,23,23,23,23,23, - 464,23,23,23,77,213,218,216,224,220, - 227,226,229,228,230,129,169,269,117,372, - 523,114,486,464,271,271,271,271,364,364, - 342,342,342,192,350,369,361,356,169,360, - 192,486,23,432,23,23,23,23,23,23, - 23,23,23,23,23,361,361,233,593,149, - 149,149,149,149,558,558,379,23,23,23, - 23,23,23,23,23,23,23,23,23,23, - 23,23,23,23,23,23,23,128,118,21, - 21,21,21,118,118,559,44,44,44,3, - 44,44,117,118,80,238,23,238,519,169, - 42,408,42,528,271,300,70,271,271,300, - 364,122,121,122,350,523,358,525,530,435, - 23,486,464,408,23,523,525,361,361,361, - 361,361,360,486,216,216,213,213,220,220, - 218,218,218,218,226,224,228,227,238,229, - 126,118,118,118,118,118,147,147,23,199, - 23,23,238,3,42,240,406,114,530,300, - 72,300,122,300,23,559,356,528,361,561, - 486,486,406,593,561,201,201,201,201,269, - 23,23,21,21,118,21,21,118,361,44, - 361,361,406,360,117,23,235,300,358,530, - 361,406,21,118,21,118,21,379,118,379, - 118,21,3,23,3,3,122,304,559,72, - 23,361,122,378,118,21,378,118,21,21, - 118,3,361,379,3,361,379,379,118,361, - 127,404,408,559,23,303,404,3,361,378, - 378,118,3,361,378,378,118,378,118,21, - 3,3,361,3,3,361,3,361,379,118, - 3,486,3,3,361,3,361,378,3,3, - 361,3,361,378,3,361,378,378,118,3, - 3,3,3,361,3,3,3,361,3,3, - 3,361,3,3,361,3,361,378,3,3, - 3,3,3,3,361,3 + 458,1,225,3,73,8,597,488,458,100, + 77,112,596,596,112,596,112,226,73,120, + 131,492,297,497,401,185,73,433,11,306, + 11,306,11,338,120,3,249,73,499,404, + 455,249,259,206,54,54,54,54,54,54, + 54,54,433,54,54,54,134,270,275,273, + 281,277,284,283,286,285,287,186,226,597, + 174,300,492,171,455,433,306,306,306,306, + 338,338,249,120,297,131,126,226,130,249, + 455,54,401,54,54,54,54,54,54,54, + 54,54,54,54,131,131,290,562,206,206, + 206,206,206,527,527,344,54,54,54,54, + 54,54,54,54,54,54,54,54,54,54, + 54,54,54,54,54,54,185,175,52,52, + 52,52,175,175,528,75,75,75,34,75, + 75,174,175,137,295,54,295,488,226,73, + 373,73,497,306,335,27,306,306,335,338, + 179,178,179,120,492,128,494,499,404,54, + 455,433,373,54,492,494,131,131,131,131, + 131,130,455,273,273,270,270,277,277,275, + 275,275,275,283,281,285,284,295,286,183, + 175,175,175,175,175,204,204,54,256,54, + 54,295,34,73,568,371,171,499,335,29, + 335,179,335,54,528,126,497,131,530,455, + 455,371,562,530,258,258,258,258,597,54, + 54,52,52,175,52,52,175,131,75,131, + 131,371,130,174,54,292,335,128,499,131, + 371,52,175,52,175,52,344,175,344,175, + 52,34,54,34,34,179,398,528,29,54, + 131,179,343,175,52,343,175,52,52,175, + 34,131,344,34,131,344,344,175,131,184, + 369,373,528,54,397,369,34,131,343,343, + 175,34,131,343,343,175,343,175,52,34, + 34,131,34,34,131,34,131,344,175,34, + 455,34,34,131,34,131,343,34,34,131, + 34,131,343,34,131,343,343,175,34,34, + 34,34,131,34,34,34,131,34,34,34, + 131,34,34,131,34,131,343,34,34,34, + 34,34,34,131,34 }; }; public final static char asb[] = Asb.asb; @@ -1418,66 +1330,66 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Asr { public final static byte asr[] = {0, - 87,0,65,66,36,70,72,67,60,68, - 79,69,59,64,71,76,78,75,77,58, - 39,4,27,28,29,30,21,22,23,5, - 15,16,14,12,13,19,20,17,24,25, - 26,3,2,1,0,36,74,38,39,4, - 37,1,0,31,6,32,33,34,7,18, - 35,8,37,38,9,10,11,56,36,39, - 4,3,57,2,1,0,63,56,52,57, - 80,94,15,16,14,3,12,13,81,82, - 61,62,83,84,85,86,88,89,90,91, - 92,95,96,97,98,99,100,101,102,103, - 104,105,106,74,37,1,38,39,4,0, - 74,52,4,38,0,87,93,52,65,66, - 36,70,72,67,60,68,79,69,59,64, - 71,76,78,75,77,58,39,4,15,16, - 14,12,13,19,20,17,24,25,26,1, - 27,28,29,30,21,22,23,3,31,40, - 41,53,32,42,33,43,44,34,45,46, - 18,54,35,55,47,48,49,50,51,2, - 5,6,7,8,9,11,10,0,60,0, - 36,74,97,98,99,100,101,103,102,104, - 105,106,3,81,82,12,13,62,61,83, - 84,85,86,88,89,14,90,91,92,52, - 95,96,63,56,38,39,4,57,0,31, - 40,6,41,53,32,42,33,43,44,34, - 7,45,46,18,54,35,55,47,48,8, - 49,50,51,9,10,11,5,2,36,0, - 31,40,6,41,53,32,42,33,43,44, - 34,7,45,46,18,54,35,55,47,48, - 8,49,50,51,9,10,11,2,5,52, - 4,0,74,37,80,0,17,15,16,14, - 12,13,19,20,21,22,23,24,25,26, - 27,28,29,30,63,5,53,54,55,48, - 40,45,43,44,42,41,46,47,49,50, - 51,57,39,35,32,18,31,34,33,6, - 7,8,9,10,11,3,2,37,1,38, - 56,4,0,38,2,52,4,0,57,37, - 1,38,56,39,4,74,0,59,1,27, - 28,29,30,21,22,23,2,5,15,16, - 14,3,12,13,19,20,17,24,25,26, - 56,4,0,52,4,37,80,1,27,28, - 29,30,21,22,23,2,5,15,16,14, - 3,12,13,19,20,17,24,25,26,36, - 0,63,4,18,6,7,8,9,10,11, - 15,16,14,3,12,13,19,20,17,24, - 25,26,1,2,5,27,28,29,30,21, - 22,23,0,15,16,14,3,12,13,19, - 20,17,24,25,26,1,2,5,27,28, - 29,30,21,22,23,63,4,0,87,31, - 40,6,41,53,32,42,33,43,44,34, - 7,45,46,18,54,35,55,47,48,8, - 49,50,51,9,10,11,5,58,1,2, - 39,4,3,0,3,1,37,56,4,31, - 40,6,41,53,32,42,33,43,44,34, - 7,45,46,18,54,35,55,47,48,8, - 49,50,51,9,10,11,73,5,2,0, - 31,40,6,41,53,32,42,33,43,44, - 34,7,45,46,18,54,35,55,47,48, - 8,49,50,51,9,10,11,2,5,73, - 3,0,56,4,3,1,37,0 + 87,0,24,74,33,34,4,31,1,0, + 35,25,36,37,38,26,32,39,27,31, + 33,28,29,30,53,24,34,4,3,57, + 2,1,0,65,66,24,70,72,67,60, + 68,79,69,59,64,71,76,78,75,77, + 58,34,4,20,21,22,23,14,15,16, + 5,9,10,8,6,7,12,13,11,17, + 18,19,3,2,1,0,54,11,55,56, + 9,10,8,6,7,12,13,14,15,16, + 17,18,19,20,21,22,23,63,5,49, + 41,46,44,45,43,42,47,48,50,51, + 52,57,34,39,36,32,35,38,37,25, + 26,27,28,29,30,3,2,31,1,33, + 53,4,0,63,53,40,57,80,94,9, + 10,8,3,6,7,81,82,61,62,83, + 84,85,86,88,89,90,91,92,95,96, + 97,98,99,100,101,102,103,104,105,106, + 74,31,1,33,34,4,0,74,40,4, + 33,0,87,93,40,65,66,24,70,72, + 67,60,68,79,69,59,64,71,76,78, + 75,77,58,34,4,9,10,8,6,7, + 12,13,11,17,18,19,1,20,21,22, + 23,14,15,16,3,2,5,54,55,56, + 49,41,46,44,45,43,42,47,48,50, + 51,52,39,36,32,35,38,37,25,26, + 27,28,30,29,0,60,0,24,74,97, + 98,99,100,101,103,102,104,105,106,3, + 81,82,6,7,62,61,83,84,85,86, + 88,89,8,90,91,92,40,95,96,63, + 53,33,34,4,57,0,57,31,1,33, + 53,34,4,74,0,35,41,25,42,54, + 36,43,37,44,45,38,26,46,47,32, + 55,39,56,48,49,27,50,51,52,28, + 29,30,2,5,40,4,0,33,2,40, + 4,0,59,1,20,21,22,23,14,15, + 16,2,5,9,10,8,3,6,7,12, + 13,11,17,18,19,53,4,0,40,4, + 31,80,1,20,21,22,23,14,15,16, + 2,5,9,10,8,3,6,7,12,13, + 11,17,18,19,24,0,74,31,80,0, + 63,4,32,25,26,27,28,29,30,9, + 10,8,3,6,7,12,13,11,17,18, + 19,1,2,5,20,21,22,23,14,15, + 16,0,9,10,8,3,6,7,12,13, + 11,17,18,19,1,2,5,20,21,22, + 23,14,15,16,63,4,0,87,35,41, + 25,42,54,36,43,37,44,45,38,26, + 46,47,32,55,39,56,48,49,27,50, + 51,52,28,29,30,5,58,1,2,34, + 4,3,0,3,1,31,53,4,35,41, + 25,42,54,36,43,37,44,45,38,26, + 46,47,32,55,39,56,48,49,27,50, + 51,52,28,29,30,73,5,2,0,35, + 41,25,42,54,36,43,37,44,45,38, + 26,46,47,32,55,39,56,48,49,27, + 50,51,52,28,29,30,2,5,73,3, + 0,53,4,3,1,31,0,35,41,25, + 42,54,36,43,37,44,45,38,26,46, + 47,32,55,39,56,48,49,27,50,51, + 52,28,29,30,5,2,24,0 }; }; public final static byte asr[] = Asr.asr; @@ -1485,46 +1397,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasb { public final static char nasb[] = {0, - 88,110,78,110,131,48,35,53,93,82, - 56,83,9,9,83,7,83,103,96,5, - 76,129,48,50,71,68,111,106,72,107, - 110,5,110,5,107,110,5,107,83,83, - 83,82,5,110,24,64,4,17,73,24, - 110,26,18,18,18,18,18,18,18,18, - 72,18,18,18,110,110,110,110,110,110, - 110,110,110,110,110,1,5,35,46,110, - 129,48,73,72,5,123,5,123,5,7, - 107,107,107,24,109,48,76,62,79,110, - 24,73,18,58,18,18,18,18,18,18, - 18,18,18,18,18,76,76,110,100,26, - 26,26,26,26,11,11,75,18,18,18, - 18,18,18,18,18,18,18,18,18,18, - 18,18,18,18,18,18,18,13,46,45, - 45,45,45,46,46,30,110,110,110,20, - 110,110,110,46,110,110,18,110,53,134, - 131,18,37,50,123,69,53,119,123,69, - 7,69,110,110,109,129,48,98,4,59, - 18,73,72,18,18,129,99,76,76,76, - 76,76,76,73,110,110,110,110,110,110, - 110,110,110,110,110,110,110,110,110,110, - 110,46,46,46,46,46,42,42,18,110, - 18,18,110,20,131,32,5,48,115,69, - 131,69,69,69,18,7,63,50,76,127, - 73,73,5,101,127,110,110,110,110,110, - 18,18,45,45,46,45,45,46,76,110, - 76,76,17,76,46,18,110,69,48,4, - 76,17,45,46,45,46,45,75,46,75, - 46,45,20,18,20,20,69,85,110,131, - 18,76,69,75,46,45,75,46,45,45, - 46,20,76,75,20,76,75,75,46,76, - 110,66,18,110,18,40,66,20,76,75, - 75,46,20,76,75,75,46,75,46,45, - 20,20,76,20,20,76,20,76,75,46, - 20,73,20,20,76,20,76,75,20,20, - 76,20,76,75,20,76,75,75,46,20, - 20,20,20,76,20,20,20,76,20,20, - 20,76,20,20,76,20,76,75,20,20, - 20,20,20,20,76,20 + 79,15,67,15,120,7,134,64,94,91, + 27,92,33,33,92,19,92,88,97,5, + 59,118,7,16,54,49,99,55,15,5, + 15,5,15,5,5,15,74,105,4,13, + 56,74,15,29,14,14,14,14,14,14, + 14,14,55,14,14,14,15,15,15,15, + 15,15,15,15,15,15,15,1,5,134, + 41,15,118,7,56,55,5,112,5,112, + 5,19,74,45,7,59,103,68,15,74, + 56,14,43,14,14,14,14,14,14,14, + 14,14,14,14,59,59,15,109,29,29, + 29,29,29,35,35,58,14,14,14,14, + 14,14,14,14,14,14,14,14,14,14, + 14,14,14,14,14,14,9,41,40,40, + 40,40,41,41,21,15,15,15,23,15, + 15,15,41,15,15,14,15,64,123,120, + 14,76,16,112,50,64,127,112,50,19, + 50,15,15,45,118,7,107,4,44,14, + 56,55,14,14,118,108,59,59,59,59, + 59,59,56,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15, + 41,41,41,41,41,37,37,14,15,14, + 14,15,23,120,131,5,7,84,50,120, + 50,50,50,14,19,104,16,59,116,56, + 56,5,110,116,15,15,15,15,15,14, + 14,40,40,41,40,40,41,59,15,59, + 59,13,59,41,14,15,50,7,4,59, + 13,40,41,40,41,40,58,41,58,41, + 40,23,14,23,23,50,61,15,120,14, + 59,50,58,41,40,58,41,40,40,41, + 23,59,58,23,59,58,58,41,59,15, + 47,14,15,14,52,47,23,59,58,58, + 41,23,59,58,58,41,58,41,40,23, + 23,59,23,23,59,23,59,58,41,23, + 56,23,23,59,23,59,58,23,23,59, + 23,59,58,23,59,58,58,41,23,23, + 23,23,59,23,23,23,59,23,23,23, + 59,23,23,59,23,59,58,23,23,23, + 23,23,23,59,23 }; }; public final static char nasb[] = Nasb.nasb; @@ -1532,20 +1443,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface Nasr { public final static char nasr[] = {0, - 32,4,90,37,22,0,65,0,80,0, - 1,0,32,37,41,75,22,4,0,32, - 4,26,0,66,0,22,47,4,0,91, - 0,22,37,49,24,0,44,84,0,85, - 0,22,37,49,4,19,0,45,0,22, - 21,0,19,22,0,99,0,40,4,34, - 0,22,57,42,0,4,68,22,41,0, - 22,4,40,0,4,21,0,51,71,70, - 69,54,48,0,96,95,0,97,37,44, - 22,0,37,22,86,44,0,42,21,22, - 57,0,69,70,71,54,38,39,34,0, - 22,44,94,0,93,22,37,0,22,47, - 58,0,64,22,47,0,22,37,51,0, - 42,22,0,37,22,98,0 + 32,4,92,34,22,0,43,0,32,34, + 39,75,22,4,0,22,21,0,64,0, + 93,0,32,4,26,0,101,0,22,45, + 4,0,82,0,73,0,22,34,46,4, + 19,0,38,4,35,0,4,67,22,39, + 0,87,0,22,4,38,0,4,21,0, + 98,97,0,19,22,0,51,81,80,79, + 78,77,0,65,0,42,86,0,99,34, + 42,22,0,95,22,34,0,68,69,70, + 60,48,0,34,22,88,42,0,22,42, + 96,0,22,56,40,0,40,21,22,56, + 0,63,22,45,0,22,34,51,0,40, + 22,0,34,22,100,0,22,45,57,0, + 22,34,46,24,0 }; }; public final static char nasr[] = Nasr.nasr; @@ -1553,12 +1464,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface TerminalIndex { public final static char terminalIndex[] = {0, - 2,99,9,110,109,51,67,79,87,88, - 89,10,11,8,6,7,71,72,12,13, - 84,85,86,91,92,93,100,101,102,103, - 47,58,63,66,75,3,1,42,107,50, - 55,59,64,65,69,70,77,78,81,82, - 83,106,57,73,76,105,29,113,52,80, + 2,99,9,110,109,10,11,8,6,7, + 71,12,13,84,85,86,91,92,93,100, + 101,102,103,3,51,67,79,87,88,89, + 1,72,42,107,47,58,63,66,75,106, + 50,55,59,64,65,69,70,77,78,81, + 82,83,105,57,73,76,29,113,52,80, 16,17,104,48,49,53,54,60,61,62, 68,74,30,31,90,94,95,96,97,4, 14,15,18,19,20,21,98,22,23,24, @@ -1572,16 +1483,17 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface NonterminalIndex { public final static char nonterminalIndex[] = {0, - 114,0,0,120,125,126,127,128,129,130, - 131,132,133,134,135,136,137,124,118,139, - 116,0,119,142,138,141,0,0,0,0, - 0,143,0,156,0,0,148,155,157,115, - 117,174,0,176,177,196,168,154,146,163, - 175,122,140,158,164,185,187,167,178,184, - 150,162,0,166,171,183,186,188,159,160, - 161,173,179,123,145,149,151,152,153,165, - 170,0,172,180,191,193,0,0,121,144, - 147,169,181,182,189,190,192,194,195,0 + 0,0,0,119,125,126,127,128,129,130, + 131,132,133,134,135,136,137,124,117,139, + 115,0,118,142,138,141,0,0,0,0, + 0,143,0,148,155,0,0,114,116,173, + 0,175,176,195,167,146,162,154,0,0, + 174,122,140,163,184,186,166,177,183,157, + 161,0,165,170,182,185,187,158,159,160, + 172,178,121,123,145,149,150,151,152,153, + 156,164,169,0,171,179,190,192,0,0, + 120,144,147,168,180,181,188,189,191,193, + 194,0 }; }; public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex; @@ -1589,12 +1501,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopePrefix { public final static char scopePrefix[] = { - 219,219,62,72,108,133,139,108,189,38, + 204,204,62,72,108,133,139,108,174,38, 90,98,114,145,150,78,114,6,12,16, - 29,43,86,55,123,198,215,239,243,29, - 55,55,202,55,1,1,24,47,50,95, - 103,50,164,174,247,127,209,180,209,209, - 20,119,155,155,155,155,155,155 + 29,43,86,55,123,183,200,224,228,29, + 55,55,187,55,1,1,24,47,50,95, + 103,50,232,127,194,165,194,194,20,119, + 155,155,155,155 }; }; public final static char scopePrefix[] = ScopePrefix.scopePrefix; @@ -1602,12 +1514,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeSuffix { public final static char scopeSuffix[] = { - 36,33,4,4,36,36,36,33,195,10, + 36,33,4,4,36,36,36,33,180,10, 4,10,36,36,36,83,33,10,10,10, 36,10,4,4,121,36,10,10,4,33, - 59,83,206,68,4,4,27,10,53,4, - 10,106,167,167,10,130,212,183,233,226, - 22,121,157,162,172,159,169,177 + 59,83,191,68,4,4,27,10,53,4, + 10,106,10,130,197,168,218,211,22,121, + 157,159,161,163 }; }; public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix; @@ -1615,12 +1527,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLhs { public final static char scopeLhs[] = { - 4,4,45,45,70,69,69,70,29,57, - 45,44,70,69,69,45,70,5,5,5, - 55,57,45,45,58,24,5,4,4,55, - 45,45,17,45,99,85,68,57,67,45, - 42,50,78,77,3,58,6,30,4,4, - 95,58,79,78,77,79,78,77 + 4,4,43,43,69,68,68,69,29,56, + 43,42,69,68,68,43,69,5,5,5, + 54,56,43,43,57,24,5,4,4,54, + 43,43,17,43,101,87,67,56,66,43, + 40,47,3,57,6,30,4,4,97,57, + 80,79,78,77 }; }; public final static char scopeLhs[] = ScopeLhs.scopeLhs; @@ -1628,12 +1540,12 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeLa { public final static byte scopeLa[] = { - 52,38,63,63,52,52,52,38,93,56, - 63,56,52,52,52,27,38,56,56,56, - 52,56,63,63,39,52,56,56,63,38, - 3,27,57,18,63,63,27,56,1,63, - 56,2,35,35,56,2,56,60,56,56, - 74,39,2,53,54,2,53,54 + 40,33,63,63,40,40,40,33,93,53, + 63,53,40,40,40,20,33,53,53,53, + 40,53,63,63,34,40,53,53,63,33, + 3,20,57,32,63,63,20,53,1,63, + 53,2,53,2,53,60,53,53,74,34, + 2,54,55,49 }; }; public final static byte scopeLa[] = ScopeLa.scopeLa; @@ -1645,8 +1557,8 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym 226,244,240,240,240,226,240,17,17,17, 4,233,226,226,11,178,17,17,17,4, 226,226,51,226,176,1,6,233,235,226, - 244,250,241,241,17,11,23,131,17,17, - 2,11,241,241,241,241,241,241 + 244,250,17,11,23,131,17,17,2,11, + 241,241,241,241 }; }; public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet; @@ -1654,31 +1566,30 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeRhs { public final static char scopeRhs[] = {0, - 165,37,0,115,0,164,1,26,0,116, - 0,164,1,25,0,164,1,24,0,208, - 0,31,0,207,134,0,164,0,186,134, - 36,0,42,117,0,117,0,171,134,1, - 169,0,171,134,1,0,179,1,0,163, - 134,0,187,0,178,134,37,0,9,115, - 0,130,18,178,134,37,0,72,124,115, - 0,130,178,134,18,37,0,178,134,18, - 37,0,124,115,0,130,18,37,0,130, - 178,134,37,0,130,37,0,171,134,1, - 154,0,162,1,0,174,0,194,134,36, - 177,53,0,194,134,36,53,0,159,0, - 118,0,204,134,159,0,134,159,0,169, - 118,0,175,134,36,192,55,0,175,134, - 36,192,54,0,175,134,36,55,0,175, - 134,36,54,0,160,0,161,0,161,154, - 0,160,0,182,160,0,154,0,160,154, - 0,159,0,181,160,0,159,154,0,138, - 67,0,80,2,119,116,118,0,138,133, - 135,1,70,0,56,141,0,202,134,36, - 0,135,96,128,0,29,137,0,164,1, - 0,116,126,0,164,1,17,0,186,134, - 36,133,164,1,0,116,3,0,123,42, - 117,0,116,3,0,123,117,0,201,1, - 116,0,135,37,116,0,135,1,0 + 165,31,0,114,0,164,1,19,0,115, + 0,164,1,18,0,164,1,17,0,210, + 0,31,0,209,134,0,163,0,186,134, + 24,0,42,116,0,116,0,170,134,1, + 168,0,170,134,1,0,178,1,0,163, + 134,0,186,0,177,134,31,0,9,114, + 0,130,32,177,134,31,0,72,124,114, + 0,130,177,134,32,31,0,177,134,32, + 31,0,124,114,0,130,32,31,0,130, + 177,134,31,0,130,31,0,170,134,1, + 152,0,159,1,0,173,0,196,134,24, + 176,54,0,196,134,24,54,0,157,0, + 117,0,206,134,157,0,134,157,0,168, + 117,0,174,134,24,194,56,0,174,134, + 24,194,55,0,174,134,24,56,0,174, + 134,24,55,0,193,0,160,0,159,0, + 158,0,157,0,138,67,0,80,2,118, + 115,117,0,138,133,135,1,70,0,56, + 141,0,204,134,24,0,135,96,128,0, + 29,137,0,164,1,0,115,126,0,164, + 1,11,0,186,134,24,133,164,1,0, + 115,3,0,123,42,116,0,115,3,0, + 123,116,0,203,1,116,0,135,31,116, + 0,135,1,0 }; }; public final static char scopeRhs[] = ScopeRhs.scopeRhs; @@ -1686,32 +1597,32 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface ScopeState { public final static char scopeState[] = {0, - 2195,4211,0,3709,3690,2555,2486,2362,2339,0, - 4457,4376,4454,4422,4419,0,3752,3746,3735,2604, - 2528,2395,3728,2534,2578,2979,2317,1957,1904,2222, - 2169,2116,2063,2010,386,2077,2024,1971,1918,3678, - 3459,3452,2611,2385,2597,2236,2542,2183,2130,442, - 2840,2816,2792,2768,2744,3405,3381,2720,2696,2672, - 2648,2624,2555,4173,3709,2486,3357,3333,3309,3285, - 3261,2461,3237,2437,4119,3612,3213,3189,3165,3141, - 3117,3093,2362,4101,2339,3069,3045,3021,2997,2509, - 4065,4047,3588,3564,3540,2248,2198,4028,3992,2960, - 3690,3974,2936,2912,2888,2864,3516,3492,3470,2145, - 2092,2039,1986,1933,3955,3936,3917,3898,3879,3860, - 3841,3822,3803,3784,3765,2298,1880,3655,3636,3429, - 1846,1812,1778,1744,1710,1676,1642,1608,1574,1540, - 1506,1472,1438,1404,1370,1336,1302,1268,1234,1200, - 1166,1132,1098,1064,1030,996,962,928,894,860, - 826,792,758,724,690,656,622,588,554,520, - 486,452,400,348,0,2283,0,1846,1812,1778, - 1744,1710,1676,1642,1608,1574,1540,1506,1472,1438, - 1404,1370,1336,1302,1268,1234,1200,1166,1132,1098, - 1064,1030,996,962,928,894,860,826,792,758, - 724,690,656,622,588,554,520,2036,486,452, - 400,1983,348,450,0,3609,3562,2549,2505,2435, - 2360,2245,4096,4095,4563,4234,4556,2359,0,4251, - 4169,4158,0,4095,2190,2244,2137,4231,4222,4487, - 4344,4327,4234,4431,2359,4281,4492,0 + 2949,3601,0,3724,3705,2542,2474,2350,2327,0, + 4417,4493,4397,4393,4384,0,3476,2395,2187,2134, + 1975,1922,3469,2373,2307,2514,2497,2382,2565,1964, + 1953,1911,1900,2229,379,2165,2112,2017,2006,3002, + 2995,2597,2589,2177,2582,2124,2529,2276,2265,2218, + 2835,2810,2785,2760,2735,3422,3398,2710,2685,2660, + 2635,2610,2542,4168,3724,2474,3374,3350,3326,3302, + 3278,2450,3254,2425,4114,3627,3230,3206,3182,3158, + 3134,3110,2350,4096,2327,3086,3062,3038,3014,3760, + 4060,4042,3603,3579,3555,2241,2194,4023,3987,2976, + 3705,3969,2952,2928,2904,2880,3531,3507,3485,2141, + 2088,2035,1982,1929,3950,3931,3912,3893,3874,3855, + 3836,3817,3798,3779,2859,2288,1876,3669,3651,3446, + 1842,1808,1774,1740,1706,1672,1638,1604,1570,1536, + 1502,1468,1434,1400,1366,1332,1298,1264,1230,1196, + 1162,1128,1094,1060,1026,992,958,924,890,856, + 822,788,754,720,686,652,618,584,550,516, + 482,448,396,344,0,470,0,1842,1808,1774, + 1740,1706,1672,1638,1604,1570,1536,1502,1468,1434, + 1400,1366,1332,1298,1264,1230,1196,1162,1128,1094, + 1060,1026,992,958,924,890,856,822,788,754, + 720,686,652,618,584,550,516,4506,482,448, + 396,2160,344,445,0,2563,2537,2536,2495,2371, + 2131,394,3700,391,4377,4323,4468,4312,0,4241, + 4159,4154,0,391,4216,2185,2030,4253,4225,4435, + 4369,4361,4323,4296,4312,4286,4445,0 }; }; public final static char scopeState[] = ScopeState.scopeState; @@ -1719,46 +1630,45 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public interface InSymb { public final static char inSymb[] = {0, - 0,200,134,156,1,154,185,149,209,166, - 10,181,55,54,182,53,183,160,163,3, - 162,134,154,1,37,36,134,160,37,160, - 192,36,192,36,160,177,36,160,183,182, - 181,166,3,156,134,163,134,18,130,134, - 117,1,26,25,24,17,20,19,13,12, - 3,14,16,15,116,119,121,120,123,122, - 125,124,127,126,128,134,206,185,188,162, - 134,154,165,3,36,134,36,134,36,134, - 160,160,160,134,178,154,171,149,134,172, - 134,130,3,178,106,105,104,102,103,101, - 100,99,98,97,74,164,135,132,159,1, - 1,1,1,1,94,80,1,37,82,81, - 3,61,62,13,12,89,88,86,85,84, - 83,90,14,92,91,96,95,202,77,75, - 78,76,71,64,59,69,79,68,60,67, - 72,70,132,137,2,66,65,144,149,134, - 38,74,163,1,134,175,159,176,134,175, - 134,194,177,195,178,134,169,1,38,178, - 18,130,3,133,38,134,1,164,164,164, - 164,164,201,135,120,120,119,119,122,122, - 121,121,121,121,124,123,126,125,135,127, - 4,135,135,135,135,203,1,1,1,138, - 1,1,165,57,134,210,36,154,134,175, - 134,175,194,38,74,38,163,1,179,134, - 130,130,36,163,134,133,133,133,133,133, - 38,57,161,131,135,161,131,135,135,60, - 135,135,134,205,204,57,162,38,169,134, - 171,134,131,135,131,135,131,131,135,131, - 135,131,133,1,133,133,186,134,38,38, - 57,171,186,131,135,131,131,135,131,131, - 135,133,135,131,133,135,131,131,135,135, - 138,38,207,80,37,208,38,133,158,131, - 131,135,133,158,131,131,135,131,135,131, - 133,133,135,133,133,135,133,135,131,133, - 93,165,133,133,158,133,158,131,133,133, - 158,133,158,131,133,158,131,131,135,133, - 133,133,133,135,133,133,133,158,133,133, - 133,158,133,133,158,133,158,131,133,133, - 133,133,133,133,158,133 + 0,202,134,154,1,152,184,146,211,189, + 29,190,56,55,191,54,192,193,163,3, + 159,134,152,1,31,24,134,31,194,24, + 194,24,176,24,3,154,134,163,134,32, + 130,134,117,1,19,18,17,11,13,12, + 7,6,3,8,10,9,116,119,121,120, + 123,122,125,124,127,126,128,134,208,184, + 188,159,134,152,165,3,24,134,24,134, + 24,134,134,177,152,170,146,134,171,134, + 130,3,177,106,105,104,102,103,101,100, + 99,98,97,74,164,135,132,157,1,1, + 1,1,1,94,80,1,31,82,81,3, + 61,62,7,6,89,88,86,85,84,83, + 90,8,92,91,96,95,204,77,75,78, + 76,71,64,59,69,79,68,60,67,72, + 70,132,137,2,66,65,144,146,134,33, + 74,163,1,134,174,157,175,134,174,134, + 196,176,197,177,134,168,1,33,177,32, + 130,3,133,33,134,1,164,164,164,164, + 164,203,135,120,120,119,119,122,122,121, + 121,121,121,124,123,126,125,135,127,4, + 135,135,135,135,205,1,1,1,138,1, + 1,165,57,134,212,24,152,134,174,134, + 174,196,33,74,33,163,1,178,134,130, + 130,24,163,134,133,133,133,133,133,33, + 57,158,131,135,158,131,135,135,60,135, + 135,134,207,206,57,159,33,168,134,170, + 134,131,135,131,135,131,131,135,131,135, + 131,133,1,133,133,186,134,33,33,57, + 170,186,131,135,131,131,135,131,131,135, + 133,135,131,133,135,131,131,135,135,138, + 33,209,80,31,210,33,133,156,131,131, + 135,133,156,131,131,135,131,135,131,133, + 133,135,133,133,135,133,135,131,133,93, + 165,133,133,156,133,156,131,133,133,156, + 133,156,131,133,156,131,131,135,133,133, + 133,133,135,133,133,133,156,133,133,133, + 156,133,133,156,133,156,131,133,133,133, + 133,133,133,156,133 }; }; public final static char inSymb[] = InSymb.inSymb; @@ -1880,7 +1790,6 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym "SingleLineComment",//$NON-NLS-1$ "MultiLineComment",//$NON-NLS-1$ "ERROR_TOKEN",//$NON-NLS-1$ - "ident",//$NON-NLS-1$ "]",//$NON-NLS-1$ ")",//$NON-NLS-1$ "}",//$NON-NLS-1$ @@ -1888,6 +1797,7 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym "expression",//$NON-NLS-1$ "postfix_expression",//$NON-NLS-1$ "argument_expression_list",//$NON-NLS-1$ + "member_name",//$NON-NLS-1$ "type_name",//$NON-NLS-1$ "initializer_list",//$NON-NLS-1$ "assignment_expression",//$NON-NLS-1$ @@ -1922,10 +1832,9 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym "enum_declaration_specifiers",//$NON-NLS-1$ "typdef_name_declaration_specif" +//$NON-NLS-1$ "iers",//$NON-NLS-1$ - "no_type_declaration_specifiers",//$NON-NLS-1$ - "storage_class_specifier",//$NON-NLS-1$ + "no_type_declaration_specifier",//$NON-NLS-1$ "type_qualifier",//$NON-NLS-1$ - "function_specifier",//$NON-NLS-1$ + "no_type_declaration_specifiers",//$NON-NLS-1$ "type_specifier",//$NON-NLS-1$ "struct_or_union_specifier",//$NON-NLS-1$ "enum_specifier",//$NON-NLS-1$ @@ -1972,8 +1881,8 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final static int ERROR_SYMBOL = 58, - SCOPE_UBOUND = 57, - SCOPE_SIZE = 58, + SCOPE_UBOUND = 53, + SCOPE_SIZE = 54, MAX_NAME_LENGTH = 38; public final int getErrorSymbol() { return ERROR_SYMBOL; } @@ -1982,20 +1891,20 @@ public class UPCParserprs implements lpg.lpgjavaruntime.ParseTable, UPCParsersym public final int getMaxNameLength() { return MAX_NAME_LENGTH; } public final static int - NUM_STATES = 396, + NUM_STATES = 385, NT_OFFSET = 112, - LA_STATE_OFFSET = 5068, + LA_STATE_OFFSET = 4987, MAX_LA = 2147483647, - NUM_RULES = 347, - NUM_NONTERMINALS = 100, - NUM_SYMBOLS = 212, + NUM_RULES = 343, + NUM_NONTERMINALS = 102, + NUM_SYMBOLS = 214, SEGMENT_SIZE = 8192, - START_STATE = 4222, + START_STATE = 4225, IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 87, EOLT_SYMBOL = 87, - ACCEPT_ACTION = 4690, - ERROR_ACTION = 4721; + ACCEPT_ACTION = 4616, + ERROR_ACTION = 4644; public final static boolean BACKTRACK = true; diff --git a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java index bd3dcb75a2d..663938434b5 100644 --- a/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java +++ b/upc/org.eclipse.cdt.core.parser.upc/src/org/eclipse/cdt/internal/core/dom/parser/upc/UPCParsersym.java @@ -15,56 +15,56 @@ package org.eclipse.cdt.internal.core.dom.parser.upc; public interface UPCParsersym { public final static int - TK_auto = 31, + TK_auto = 35, TK_break = 64, TK_case = 65, - TK_char = 40, - TK_const = 6, + TK_char = 41, + TK_const = 25, TK_continue = 59, TK_default = 66, TK_do = 67, - TK_double = 41, + TK_double = 42, TK_else = 93, - TK_enum = 53, - TK_extern = 32, - TK_float = 42, + TK_enum = 54, + TK_extern = 36, + TK_float = 43, TK_for = 68, TK_goto = 69, TK_if = 70, - TK_inline = 33, - TK_int = 43, - TK_long = 44, - TK_register = 34, - TK_restrict = 7, + TK_inline = 37, + TK_int = 44, + TK_long = 45, + TK_register = 38, + TK_restrict = 26, TK_return = 71, - TK_short = 45, - TK_signed = 46, - TK_sizeof = 17, - TK_static = 18, - TK_struct = 54, + TK_short = 46, + TK_signed = 47, + TK_sizeof = 11, + TK_static = 32, + TK_struct = 55, TK_switch = 72, - TK_typedef = 35, - TK_union = 55, - TK_unsigned = 47, - TK_void = 48, - TK_volatile = 8, + TK_typedef = 39, + TK_union = 56, + TK_unsigned = 48, + TK_void = 49, + TK_volatile = 27, TK_while = 60, - TK__Bool = 49, - TK__Complex = 50, - TK__Imaginary = 51, - TK_LeftBracket = 37, + TK__Bool = 50, + TK__Complex = 51, + TK__Imaginary = 52, + TK_LeftBracket = 31, TK_LeftParen = 1, - TK_LeftBrace = 36, + TK_LeftBrace = 24, TK_Dot = 80, TK_Arrow = 94, - TK_PlusPlus = 15, - TK_MinusMinus = 16, - TK_And = 14, + TK_PlusPlus = 9, + TK_MinusMinus = 10, + TK_And = 8, TK_Star = 3, - TK_Plus = 12, - TK_Minus = 13, - TK_Tilde = 19, - TK_Bang = 20, + TK_Plus = 6, + TK_Minus = 7, + TK_Tilde = 12, + TK_Bang = 13, TK_Slash = 81, TK_Percent = 82, TK_RightShift = 61, @@ -93,34 +93,34 @@ public interface UPCParsersym { TK_AndAssign = 104, TK_CaretAssign = 105, TK_OrAssign = 106, - TK_Comma = 38, + TK_Comma = 33, TK_Hash = 107, TK_HashHash = 108, TK_NewLine = 109, - TK_MYTHREAD = 21, - TK_THREADS = 22, - TK_UPC_MAX_BLOCKSIZE = 23, - TK_relaxed = 9, - TK_shared = 10, - TK_strict = 11, + TK_MYTHREAD = 14, + TK_THREADS = 15, + TK_UPC_MAX_BLOCKSIZE = 16, + TK_relaxed = 28, + TK_shared = 29, + TK_strict = 30, TK_upc_barrier = 75, - TK_upc_localsizeof = 24, - TK_upc_blocksizeof = 25, - TK_upc_elemsizeof = 26, + TK_upc_localsizeof = 17, + TK_upc_blocksizeof = 18, + TK_upc_elemsizeof = 19, TK_upc_notify = 76, TK_upc_fence = 77, TK_upc_wait = 78, TK_upc_forall = 79, TK_EOF_TOKEN = 87, TK_identifier = 2, - TK_integer = 27, - TK_floating = 28, - TK_charconst = 29, - TK_stringlit = 30, + TK_integer = 20, + TK_floating = 21, + TK_charconst = 22, + TK_stringlit = 23, TK_RightBracket = 63, - TK_RightParen = 56, - TK_RightBrace = 52, - TK_SemiColon = 39, + TK_RightParen = 53, + TK_RightBrace = 40, + TK_SemiColon = 34, TK_Invalid = 110, TK_Completion = 5, TK_EndOfCompletion = 4, @@ -135,19 +135,12 @@ public interface UPCParsersym { "Star",//$NON-NLS-1$ "EndOfCompletion",//$NON-NLS-1$ "Completion",//$NON-NLS-1$ - "const",//$NON-NLS-1$ - "restrict",//$NON-NLS-1$ - "volatile",//$NON-NLS-1$ - "relaxed",//$NON-NLS-1$ - "shared",//$NON-NLS-1$ - "strict",//$NON-NLS-1$ "Plus",//$NON-NLS-1$ "Minus",//$NON-NLS-1$ "And",//$NON-NLS-1$ "PlusPlus",//$NON-NLS-1$ "MinusMinus",//$NON-NLS-1$ "sizeof",//$NON-NLS-1$ - "static",//$NON-NLS-1$ "Tilde",//$NON-NLS-1$ "Bang",//$NON-NLS-1$ "MYTHREAD",//$NON-NLS-1$ @@ -160,15 +153,23 @@ public interface UPCParsersym { "floating",//$NON-NLS-1$ "charconst",//$NON-NLS-1$ "stringlit",//$NON-NLS-1$ + "LeftBrace",//$NON-NLS-1$ + "const",//$NON-NLS-1$ + "restrict",//$NON-NLS-1$ + "volatile",//$NON-NLS-1$ + "relaxed",//$NON-NLS-1$ + "shared",//$NON-NLS-1$ + "strict",//$NON-NLS-1$ + "LeftBracket",//$NON-NLS-1$ + "static",//$NON-NLS-1$ + "Comma",//$NON-NLS-1$ + "SemiColon",//$NON-NLS-1$ "auto",//$NON-NLS-1$ "extern",//$NON-NLS-1$ "inline",//$NON-NLS-1$ "register",//$NON-NLS-1$ "typedef",//$NON-NLS-1$ - "LeftBrace",//$NON-NLS-1$ - "LeftBracket",//$NON-NLS-1$ - "Comma",//$NON-NLS-1$ - "SemiColon",//$NON-NLS-1$ + "RightBrace",//$NON-NLS-1$ "char",//$NON-NLS-1$ "double",//$NON-NLS-1$ "float",//$NON-NLS-1$ @@ -181,11 +182,10 @@ public interface UPCParsersym { "_Bool",//$NON-NLS-1$ "_Complex",//$NON-NLS-1$ "_Imaginary",//$NON-NLS-1$ - "RightBrace",//$NON-NLS-1$ + "RightParen",//$NON-NLS-1$ "enum",//$NON-NLS-1$ "struct",//$NON-NLS-1$ "union",//$NON-NLS-1$ - "RightParen",//$NON-NLS-1$ "Colon",//$NON-NLS-1$ "ERROR_TOKEN",//$NON-NLS-1$ "continue",//$NON-NLS-1$