AdelanteParser.java
/* AdelanteParser.java */
/* Generated By:JJTree&JavaCC: Do not edit this line. AdelanteParser.java */
package com.github.tom65536.adelante.parser;
/*-
* #%L
* adelante-compiler-frontend
* %%
* Copyright (C) 2023 Thomas Reiter
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
* #L%
*/
/**
* Parser for the Adelante Programming Language.
*/
public final class AdelanteParser/*@bgen(jjtree)*/implements AdelanteParserTreeConstants, AdelanteParserConstants {/*@bgen(jjtree)*/
protected JJTAdelanteParserState jjtree = new JJTAdelanteParserState();
// A program is the main compilation unit.
// It may comprise zero or more packets which
// contents are visible by the program
// automatically.
final public void program() throws ParseException {/*@bgen(jjtree) Program */
ASTProgram jjtn000 = new ASTProgram(JJTPROGRAM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[0] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPL:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_LET:
case KW_MEASURE:
case KW_MOD:
case KW_NOT:
case KW_OBSOLETE:
case KW_OP:
case KW_OR:
case KW_PACKET:
case KW_PROC:
case KW_PROTOCOL:
case KW_PUBLIC:
case KW_PURE:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEST:
case KW_TEXT:
case KW_TRUE:
case KW_TYPE:
case KW_USES:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
packets_or_body();
break;
}
default:
jj_la1[1] = jj_gen;
;
}
jj_consume_token(0);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void packets_or_body() throws ParseException {
if (jj_2_2(2147483647)) {
packet();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPL:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_LET:
case KW_MEASURE:
case KW_MOD:
case KW_NOT:
case KW_OBSOLETE:
case KW_OP:
case KW_OR:
case KW_PACKET:
case KW_PROC:
case KW_PROTOCOL:
case KW_PUBLIC:
case KW_PURE:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEST:
case KW_TEXT:
case KW_TRUE:
case KW_TYPE:
case KW_USES:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
packets_or_body();
break;
}
default:
jj_la1[2] = jj_gen;
;
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_USES:{
label_1:
while (true) {
uses_clause();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_USES:{
;
break;
}
default:
jj_la1[3] = jj_gen;
break label_1;
}
}
if (jj_2_1(2147483647)) {
bottom_up_part();
} else {
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
root_part();
break;
}
default:
jj_la1[4] = jj_gen;
;
}
break;
}
default:
jj_la1[6] = jj_gen;
if (jj_2_3(2147483647)) {
bottom_up_part();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
root_part();
break;
}
default:
jj_la1[5] = jj_gen;
;
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
root_part();
break;
}
default:
jj_la1[7] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
}
// Packets which are not defined in the program file
// are searched in the search path.
//
// Each packet must reside in a single file of the same name
// (plus a suffix .pkt or .packet).
//
// A packet file must contain a single packet with the same name
// as the file name.
final public void packet_file() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[8] = jj_gen;
;
}
packet();
jj_consume_token(0);
}
// The bundle file "_bundle.pkt" describes the
// publication record for a bundle of packets.
// The properties are described as named expression synonyms.
final public void bundle_file() throws ParseException {/*@bgen(jjtree) BundleFile */
ASTBundleFile jjtn000 = new ASTBundleFile(JJTBUNDLEFILE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[9] = jj_gen;
;
}
label_2:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_USES:{
;
break;
}
default:
jj_la1[10] = jj_gen;
break label_2;
}
uses_clause();
}
label_3:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_REQUIRES:{
;
break;
}
default:
jj_la1[11] = jj_gen;
break label_3;
}
packet_requires();
}
label_4:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_DOC:
case KW_EXAMPLE:{
;
break;
}
default:
jj_la1[12] = jj_gen;
break label_4;
}
documentation();
}
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_LET:{
;
break;
}
default:
jj_la1[13] = jj_gen;
break label_5;
}
bundle_file_decl();
nl();
}
jj_consume_token(0);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void bundle_file_decl() throws ParseException {
expression_synonym();
}
// Packets are containers for code intended to be
// reused. Contents of a packet remain private unless
// they are marked PUBLIC.
final public void packet() throws ParseException {/*@bgen(jjtree) Packet */
ASTPacket jjtn000 = new ASTPacket(JJTPACKET);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
packet_head();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_IMPL:
case KW_INT:
case KW_LET:
case KW_MEASURE:
case KW_OBSOLETE:
case KW_OP:
case KW_PROC:
case KW_PROTOCOL:
case KW_PUBLIC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEST:
case KW_TEXT:
case KW_TYPE:
case KW_VOID:
case IDENTIFIER:{
packet_body();
break;
}
default:
jj_la1[14] = jj_gen;
;
}
packet_tail();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void packet_head() throws ParseException {
packet_id();
nl();
label_6:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_USES:{
;
break;
}
default:
jj_la1[15] = jj_gen;
break label_6;
}
uses_clause();
}
label_7:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_REQUIRES:{
;
break;
}
default:
jj_la1[16] = jj_gen;
break label_7;
}
packet_requires();
}
label_8:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENSURES:{
;
break;
}
default:
jj_la1[17] = jj_gen;
break label_8;
}
packet_ensures();
}
label_9:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_DOC:
case KW_EXAMPLE:{
;
break;
}
default:
jj_la1[18] = jj_gen;
break label_9;
}
documentation();
}
}
// Each packet is given a name by which it
// may be referred in the USES clause of
// another packet or program.
//
// Packets may be marked obsolete, in which
// case their use issues a warning or an error
// depending on the settings.
final public void packet_id() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OBSOLETE:{
obsoletion();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[19] = jj_gen;
;
}
break;
}
default:
jj_la1[20] = jj_gen;
;
}
jj_consume_token(KW_PACKET);
identifier();
}
final public void packet_requires() throws ParseException {/*@bgen(jjtree) PacketRequires */
ASTPacketRequires jjtn000 = new ASTPacketRequires(JJTPACKETREQUIRES);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_REQUIRES);
protocol_instances();
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void packet_ensures() throws ParseException {/*@bgen(jjtree) PacketEnsures */
ASTPacketEnsures jjtn000 = new ASTPacketEnsures(JJTPACKETENSURES);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ENSURES);
protocol_instances();
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void packet_tail() throws ParseException {/*@bgen(jjtree) BlockTail */
ASTBlockTail jjtn000 = new ASTBlockTail(JJTBLOCKTAIL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_PACKET);
break;
}
case KW_ENDPACKET:{
jj_consume_token(KW_ENDPACKET);
break;
}
default:
jj_la1[21] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[22] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void packet_body() throws ParseException {
bottom_up_part();
}
final public void root_part() throws ParseException {
root();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
top_down_part();
break;
}
default:
jj_la1[23] = jj_gen;
;
}
}
// A USES clause makes the public contents
// of a packet visible to the referring namespace
// without any prefix.
final public void uses_clause() throws ParseException {
jj_consume_token(KW_USES);
packet_usage();
label_10:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[24] = jj_gen;
break label_10;
}
jj_consume_token(1);
packet_usage();
}
nl();
}
final public void packet_usage() throws ParseException {/*@bgen(jjtree) PacketUsage */
ASTPacketUsage jjtn000 = new ASTPacketUsage(JJTPACKETUSAGE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
packet_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
use_transforms();
break;
}
default:
jj_la1[25] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
// A packet reference may be one of the following:
// - Simple Reference: searches the standard library
// first, then relative to the current packet file,
// e.g. math/random
// - Relative Reference: starts with a dot or a double dot,
// searches relative to the packet file only,
// e.g. ./math or ../utility funtions/text
// - Bundle Reference: bundle name goes before the colon,
// e.g. tom65536/adelante extras:crypto/aes256
// You can hide files from being treated as packets by
// preceeding the file name with an underscore or dot.
final public void packet_ref() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
abs_packet_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 2:{
jj_consume_token(2);
abs_packet_ref();
break;
}
default:
jj_la1[26] = jj_gen;
;
}
break;
}
case 3:
case RANGE:{
rel_packet_ref();
break;
}
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void abs_packet_ref() throws ParseException {/*@bgen(jjtree) PacketRefPart */
ASTPacketRefPart jjtn000 = new ASTPacketRefPart(JJTPACKETREFPART);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier();
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLASH:{
;
break;
}
default:
jj_la1[28] = jj_gen;
break label_11;
}
jj_consume_token(SLASH);
identifier();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void rel_packet_ref() throws ParseException {/*@bgen(jjtree) PacketRefPart */
ASTPacketRefPart jjtn000 = new ASTPacketRefPart(JJTPACKETREFPART);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 3:{
jj_consume_token(3);
label_12:
while (true) {
jj_consume_token(SLASH);
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLASH:{
;
break;
}
default:
jj_la1[29] = jj_gen;
break label_12;
}
}
break;
}
case RANGE:{
label_13:
while (true) {
ASTDirUp jjtn001 = new ASTDirUp(JJTDIRUP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(RANGE);
jj_consume_token(SLASH);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case RANGE:{
;
break;
}
default:
jj_la1[30] = jj_gen;
break label_13;
}
}
identifier();
label_14:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLASH:{
;
break;
}
default:
jj_la1[31] = jj_gen;
break label_14;
}
jj_consume_token(SLASH);
identifier();
}
break;
}
default:
jj_la1[32] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void use_transforms() throws ParseException {
jj_consume_token(4);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 9:
case ASSIGN:
case LARR:
case RARR:
case LRARR:
case LT:
case GT:
case LE:
case GE:
case NE:
case EQ:
case STARSHIP:
case BAT:
case TILDE:
case IN:
case NOT_IN:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_LT:
case BOXED_GT:
case BOXED_LE:
case BOXED_GE:
case BOXED_NE:
case BOXED_EQ:
case CIRCLED_LT:
case CIRCLED_GT:
case CIRCLED_LE:
case CIRCLED_GE:
case CIRCLED_NE:
case CIRCLED_EQ:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_AND:
case KW_DIV:
case KW_IMPLIES:
case KW_IN:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_XOR:
case IDENTIFIER:{
use_rename_list();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_WITHOUT:{
without_clause();
break;
}
default:
jj_la1[33] = jj_gen;
;
}
break;
}
case KW_ONLY:{
only_clause();
break;
}
default:
jj_la1[34] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(5);
}
final public void use_rename_list() throws ParseException {
use_rename();
label_15:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[35] = jj_gen;
break label_15;
}
jj_consume_token(1);
use_rename();
}
}
final public void use_rename() throws ParseException {/*@bgen(jjtree) UseRename */
ASTUseRename jjtn000 = new ASTUseRename(JJTUSERENAME);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
import_item();
jj_consume_token(KW_AS);
import_item();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void without_clause() throws ParseException {/*@bgen(jjtree) WithoutClause */
ASTWithoutClause jjtn000 = new ASTWithoutClause(JJTWITHOUTCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_WITHOUT);
import_item();
label_16:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[36] = jj_gen;
break label_16;
}
jj_consume_token(1);
import_item();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void only_clause() throws ParseException {/*@bgen(jjtree) OnlyClause */
ASTOnlyClause jjtn000 = new ASTOnlyClause(JJTONLYCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ONLY);
opt_rename();
label_17:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[37] = jj_gen;
break label_17;
}
jj_consume_token(1);
opt_rename();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void opt_rename() throws ParseException {/*@bgen(jjtree) #UseRename(> 1) */
ASTUseRename jjtn000 = new ASTUseRename(JJTUSERENAME);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
import_item();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AS:{
jj_consume_token(KW_AS);
import_item();
break;
}
default:
jj_la1[38] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void import_item() throws ParseException {/*@bgen(jjtree) ImportItem */
ASTImportItem jjtn000 = new ASTImportItem(JJTIMPORTITEM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
case 9:
case ASSIGN:
case LARR:
case RARR:
case LRARR:
case LT:
case GT:
case LE:
case GE:
case NE:
case EQ:
case STARSHIP:
case BAT:
case TILDE:
case IN:
case NOT_IN:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_LT:
case BOXED_GT:
case BOXED_LE:
case BOXED_GE:
case BOXED_NE:
case BOXED_EQ:
case CIRCLED_LT:
case CIRCLED_GT:
case CIRCLED_LE:
case CIRCLED_GE:
case CIRCLED_NE:
case CIRCLED_EQ:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_AND:
case KW_DIV:
case KW_IMPLIES:
case KW_IN:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_XOR:{
operator_name();
break;
}
default:
jj_la1[39] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void bottom_up_part() throws ParseException {
label_18:
while (true) {
bottom_up_decl();
nl();
if (jj_2_4(2147483647)) {
;
} else {
break label_18;
}
}
}
final public void bottom_up_decl() throws ParseException {/*@bgen(jjtree) Decl */
ASTDecl jjtn000 = new ASTDecl(JJTDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_IMPL:
case KW_INT:
case KW_LET:
case KW_MEASURE:
case KW_OBSOLETE:
case KW_OP:
case KW_PROC:
case KW_PROTOCOL:
case KW_PUBLIC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_TYPE:
case KW_VOID:
case IDENTIFIER:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OBSOLETE:
case KW_PUBLIC:{
decl_modifiers();
break;
}
default:
jj_la1[40] = jj_gen;
;
}
exportable_decl();
break;
}
case KW_TEST:{
local_decl();
break;
}
default:
jj_la1[41] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void decl_modifiers() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PUBLIC:{
pub_modifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[42] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OBSOLETE:{
obsoletion();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[43] = jj_gen;
;
}
break;
}
default:
jj_la1[44] = jj_gen;
;
}
break;
}
case KW_OBSOLETE:{
obsoletion();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[45] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PUBLIC:{
pub_modifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[46] = jj_gen;
;
}
break;
}
default:
jj_la1[47] = jj_gen;
;
}
break;
}
default:
jj_la1[48] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void pub_modifier() throws ParseException {/*@bgen(jjtree) PublicModifier */
ASTPublicModifier jjtn000 = new ASTPublicModifier(JJTPUBLICMODIFIER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_PUBLIC);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void exportable_decl() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_TYPE:{
abstract_type_decl();
break;
}
default:
jj_la1[49] = jj_gen;
if (jj_2_5(2147483647)) {
procedure_decl();
} else if (jj_2_6(2147483647)) {
operator_decl();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_MEASURE:{
measure_decl();
break;
}
case KW_LET:{
synonym_decl();
break;
}
case KW_PROTOCOL:{
protocol_decl();
break;
}
case KW_IMPL:{
automatic_delegation();
break;
}
default:
jj_la1[50] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
final public void abstract_type_decl() throws ParseException {/*@bgen(jjtree) AbstractTypeDecl */
ASTAbstractTypeDecl jjtn000 = new ASTAbstractTypeDecl(JJTABSTRACTTYPEDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_TYPE);
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_type_part();
break;
}
default:
jj_la1[51] = jj_gen;
;
}
jj_consume_token(EQ);
abstract_type();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void formal_type_part() throws ParseException {/*@bgen(jjtree) FormalTypePart */
ASTFormalTypePart jjtn000 = new ASTFormalTypePart(JJTFORMALTYPEPART);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(4);
formal_type_param();
label_19:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[52] = jj_gen;
break label_19;
}
jj_consume_token(1);
formal_type_param();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_HAVING:{
type_bounds();
break;
}
default:
jj_la1[53] = jj_gen;
;
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void formal_type_param() throws ParseException {/*@bgen(jjtree) FormalTypeParam */
ASTFormalTypeParam jjtn000 = new ASTFormalTypeParam(JJTFORMALTYPEPARAM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void type_bounds() throws ParseException {/*@bgen(jjtree) TypeBounds */
ASTTypeBounds jjtn000 = new ASTTypeBounds(JJTTYPEBOUNDS);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_HAVING);
type_bound_ex();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void type_bound_ex() throws ParseException {
disjunct_type_bound();
}
final public void disjunct_type_bound() throws ParseException {/*@bgen(jjtree) #DisjunctTypeBound(> 1) */
ASTDisjunctTypeBound jjtn000 = new ASTDisjunctTypeBound(JJTDISJUNCTTYPEBOUND);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
conjunct_type_bound();
label_20:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OR:{
;
break;
}
default:
jj_la1[54] = jj_gen;
break label_20;
}
jj_consume_token(KW_OR);
conjunct_type_bound();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void conjunct_type_bound() throws ParseException {/*@bgen(jjtree) #ConjunctTypeBound(> 1) */
ASTConjunctTypeBound jjtn000 = new ASTConjunctTypeBound(JJTCONJUNCTTYPEBOUND);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
simple_type_bound();
label_21:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AND:{
;
break;
}
default:
jj_la1[55] = jj_gen;
break label_21;
}
jj_consume_token(KW_AND);
simple_type_bound();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void simple_type_bound() throws ParseException {/*@bgen(jjtree) #SimpleTypeBound(> 1) */
ASTSimpleTypeBound jjtn000 = new ASTSimpleTypeBound(JJTSIMPLETYPEBOUND);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
jj_consume_token(4);
type_bound_ex();
jj_consume_token(5);
break;
}
case IDENTIFIER:{
identifier_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
jj_consume_token(4);
type_declarer();
label_22:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[56] = jj_gen;
break label_22;
}
jj_consume_token(1);
type_declarer();
}
jj_consume_token(5);
break;
}
default:
jj_la1[57] = jj_gen;
;
}
break;
}
default:
jj_la1[58] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void abstract_type() throws ParseException {/*@bgen(jjtree) AbstractType */
ASTAbstractType jjtn000 = new ASTAbstractType(JJTABSTRACTTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
type_declarer();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_decl() throws ParseException {/*@bgen(jjtree) ProcedureDecl */
ASTProcedureDecl jjtn000 = new ASTProcedureDecl(JJTPROCEDUREDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
procedure_head();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
procedure_body();
break;
}
default:
jj_la1[59] = jj_gen;
;
}
procedure_tail();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pure_modifier() throws ParseException {/*@bgen(jjtree) PureModifier */
ASTPureModifier jjtn000 = new ASTPureModifier(JJTPUREMODIFIER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_PURE);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_head() throws ParseException {/*@bgen(jjtree) ProcedureHead */
ASTProcedureHead jjtn000 = new ASTProcedureHead(JJTPROCEDUREHEAD);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PURE:{
pure_modifier();
break;
}
default:
jj_la1[60] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
break;
}
default:
jj_la1[61] = jj_gen;
;
}
jj_consume_token(KW_PROC);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
formal_measure_part();
break;
}
default:
jj_la1[62] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_type_part();
break;
}
default:
jj_la1[63] = jj_gen;
;
}
procedure_naming();
nl();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENSURES:
case KW_INVARIANT:
case KW_REQUIRES:
case KW_VARIANT:{
procedure_contracts();
break;
}
default:
jj_la1[64] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_tail() throws ParseException {/*@bgen(jjtree) BlockTail */
ASTBlockTail jjtn000 = new ASTBlockTail(JJTBLOCKTAIL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_PROC);
break;
}
case KW_ENDPROC:{
jj_consume_token(KW_ENDPROC);
break;
}
default:
jj_la1[65] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[66] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void formal_measure_part() throws ParseException {/*@bgen(jjtree) FormalMeasurePart */
ASTFormalMeasurePart jjtn000 = new ASTFormalMeasurePart(JJTFORMALMEASUREPART);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(6);
identifier();
label_23:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[67] = jj_gen;
break label_23;
}
jj_consume_token(1);
identifier();
}
jj_consume_token(7);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_naming() throws ParseException {/*@bgen(jjtree) ProcedureNaming */
ASTProcedureNaming jjtn000 = new ASTProcedureNaming(JJTPROCEDURENAMING);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
procedure_naming_cont();
break;
}
default:
jj_la1[68] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_naming_cont() throws ParseException {
formal_parameter_pack();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
procedure_naming_cont();
break;
}
default:
jj_la1[69] = jj_gen;
;
}
break;
}
default:
jj_la1[70] = jj_gen;
;
}
}
final public void formal_parameter_pack() throws ParseException {/*@bgen(jjtree) FormalParameterPack */
ASTFormalParameterPack jjtn000 = new ASTFormalParameterPack(JJTFORMALPARAMETERPACK);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(4);
parameter_head();
parameter_body();
label_24:
while (true) {
if (jj_2_7(3)) {
;
} else {
break label_24;
}
jj_consume_token(1);
parameter_body();
}
label_25:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[71] = jj_gen;
break label_25;
}
jj_consume_token(1);
parameter_head();
parameter_body();
label_26:
while (true) {
if (jj_2_8(3)) {
;
} else {
break label_26;
}
jj_consume_token(1);
parameter_body();
}
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ELLIPSIS:{
jj_consume_token(ELLIPSIS);
break;
}
default:
jj_la1[72] = jj_gen;
;
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void access_modifier() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_VAR:{
ASTVarModifier jjtn001 = new ASTVarModifier(JJTVARMODIFIER);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_VAR);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_CONST:{
ASTConstModifier jjtn002 = new ASTConstModifier(JJTCONSTMODIFIER);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CONST);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[73] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void parameter_head() throws ParseException {/*@bgen(jjtree) ParameterHead */
ASTParameterHead jjtn000 = new ASTParameterHead(JJTPARAMETERHEAD);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_CONST:
case KW_VAR:{
access_modifier();
break;
}
case KW_PROC:{
proc_param();
break;
}
default:
jj_la1[74] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
case KW_PROC:{
proc_param();
break;
}
case KW_PURE:{
pure_modifier();
type_declarer();
proc_param();
break;
}
default:
jj_la1[75] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void proc_param() throws ParseException {/*@bgen(jjtree) ProcParam */
ASTProcParam jjtn000 = new ASTProcParam(JJTPROCPARAM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_PROC);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_parameters_pack();
break;
}
default:
jj_la1[76] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void virtual_parameters_pack() throws ParseException {/*@bgen(jjtree) VirtualParametersPack */
ASTVirtualParametersPack jjtn000 = new ASTVirtualParametersPack(JJTVIRTUALPARAMETERSPACK);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(4);
parameter_head();
label_27:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[77] = jj_gen;
break label_27;
}
jj_consume_token(1);
parameter_head();
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void parameter_body() throws ParseException {/*@bgen(jjtree) ParameterBody */
ASTParameterBody jjtn000 = new ASTParameterBody(JJTPARAMETERBODY);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_contracts() throws ParseException {
label_28:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_REQUIRES:{
precondition();
break;
}
case KW_ENSURES:{
postcondition();
break;
}
case KW_INVARIANT:{
invariant();
break;
}
case KW_VARIANT:{
variant();
break;
}
default:
jj_la1[78] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENSURES:
case KW_INVARIANT:
case KW_REQUIRES:
case KW_VARIANT:{
;
break;
}
default:
jj_la1[79] = jj_gen;
break label_28;
}
}
}
final public void operator_decl() throws ParseException {/*@bgen(jjtree) OperatorDecl */
ASTOperatorDecl jjtn000 = new ASTOperatorDecl(JJTOPERATORDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
operator_head();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
procedure_body();
break;
}
default:
jj_la1[80] = jj_gen;
;
}
operator_tail();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void operator_head() throws ParseException {/*@bgen(jjtree) OperatorHead */
ASTOperatorHead jjtn000 = new ASTOperatorHead(JJTOPERATORHEAD);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PURE:{
pure_modifier();
break;
}
default:
jj_la1[81] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
break;
}
default:
jj_la1[82] = jj_gen;
;
}
jj_consume_token(KW_OP);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
formal_measure_part();
break;
}
default:
jj_la1[83] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_type_part();
break;
}
default:
jj_la1[84] = jj_gen;
;
}
operator_name();
formal_parameter_pack();
nl();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENSURES:
case KW_INVARIANT:
case KW_REQUIRES:
case KW_VARIANT:{
procedure_contracts();
break;
}
default:
jj_la1[85] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void operator_tail() throws ParseException {/*@bgen(jjtree) BlockTail */
ASTBlockTail jjtn000 = new ASTBlockTail(JJTBLOCKTAIL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_OP);
break;
}
case KW_ENDOP:{
jj_consume_token(KW_ENDOP);
break;
}
default:
jj_la1[86] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 9:
case ASSIGN:
case LARR:
case RARR:
case LRARR:
case LT:
case GT:
case LE:
case GE:
case NE:
case EQ:
case STARSHIP:
case BAT:
case TILDE:
case IN:
case NOT_IN:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_LT:
case BOXED_GT:
case BOXED_LE:
case BOXED_GE:
case BOXED_NE:
case BOXED_EQ:
case CIRCLED_LT:
case CIRCLED_GT:
case CIRCLED_LE:
case CIRCLED_GE:
case CIRCLED_NE:
case CIRCLED_EQ:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_AND:
case KW_DIV:
case KW_IMPLIES:
case KW_IN:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_XOR:{
operator_name();
break;
}
default:
jj_la1[87] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void synonym_decl() throws ParseException {
if (jj_2_9(2)) {
expression_synonym();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_LET:{
type_synonym();
break;
}
default:
jj_la1[88] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
final public void expression_synonym() throws ParseException {/*@bgen(jjtree) ExpressionSynonym */
ASTExpressionSynonym jjtn000 = new ASTExpressionSynonym(JJTEXPRESSIONSYNONYM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_LET);
identifier();
jj_consume_token(EQ);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void type_synonym() throws ParseException {/*@bgen(jjtree) TypeSynonym */
ASTTypeSynonym jjtn000 = new ASTTypeSynonym(JJTTYPESYNONYM);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_LET);
jj_consume_token(KW_TYPE);
identifier();
jj_consume_token(EQ);
type_declarer();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void protocol_decl() throws ParseException {/*@bgen(jjtree) ProtocolDecl */
ASTProtocolDecl jjtn000 = new ASTProtocolDecl(JJTPROTOCOLDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
protocol_head();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_HAVING:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
protocol_body();
break;
}
default:
jj_la1[89] = jj_gen;
;
}
protocol_tail();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void protocol_head() throws ParseException {/*@bgen(jjtree) ProtocolDecl */
ASTProtocolDecl jjtn000 = new ASTProtocolDecl(JJTPROTOCOLDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_PROTOCOL);
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
formal_measure_part();
break;
}
default:
jj_la1[90] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_type_part();
break;
}
default:
jj_la1[91] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void protocol_body() throws ParseException {
label_29:
while (true) {
protocol_assertion();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_HAVING:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
;
break;
}
default:
jj_la1[92] = jj_gen;
break label_29;
}
}
}
final public void protocol_assertion() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_HAVING:{
type_bounds();
break;
}
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
signature();
break;
}
default:
jj_la1[93] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void signature() throws ParseException {/*@bgen(jjtree) Signature */
ASTSignature jjtn000 = new ASTSignature(JJTSIGNATURE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PURE:{
pure_modifier();
break;
}
default:
jj_la1[94] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
break;
}
default:
jj_la1[95] = jj_gen;
;
}
jj_consume_token(KW_PROC);
virtual_procedure_naming();
jj_consume_token(KW_OP);
operator_name();
virtual_parameters_pack();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void virtual_procedure_naming() throws ParseException {
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_procedure_naming_cont();
break;
}
default:
jj_la1[96] = jj_gen;
;
}
}
final public void virtual_procedure_naming_cont() throws ParseException {
virtual_parameters_pack();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_procedure_naming_cont();
break;
}
default:
jj_la1[97] = jj_gen;
;
}
break;
}
default:
jj_la1[98] = jj_gen;
;
}
}
final public void protocol_tail() throws ParseException {/*@bgen(jjtree) BlockTail */
ASTBlockTail jjtn000 = new ASTBlockTail(JJTBLOCKTAIL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_PROTOCOL);
break;
}
case KW_ENDPROTOCOL:{
jj_consume_token(KW_ENDPROTOCOL);
break;
}
default:
jj_la1[99] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[100] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void automatic_delegation() throws ParseException {/*@bgen(jjtree) AutomaticDelegation */
ASTAutomaticDelegation jjtn000 = new ASTAutomaticDelegation(JJTAUTOMATICDELEGATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_IMPL);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
formal_measure_part();
break;
}
default:
jj_la1[101] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_type_part();
break;
}
default:
jj_la1[102] = jj_gen;
;
}
identifier_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
formal_parameter_pack();
break;
}
default:
jj_la1[103] = jj_gen;
;
}
jj_consume_token(KW_BY);
impl_protocol();
label_30:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[104] = jj_gen;
break label_30;
}
jj_consume_token(1);
impl_protocol();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void impl_protocol() throws ParseException {/*@bgen(jjtree) ImplProtocol */
ASTImplProtocol jjtn000 = new ASTImplProtocol(JJTIMPLPROTOCOL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
actual_parameter_list();
break;
}
default:
jj_la1[105] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void measure_decl() throws ParseException {/*@bgen(jjtree) MeasureDecl */
ASTMeasureDecl jjtn000 = new ASTMeasureDecl(JJTMEASUREDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_MEASURE);
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case EQ:{
jj_consume_token(EQ);
dim_expression();
break;
}
default:
jj_la1[106] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void local_decl() throws ParseException {
unit_test();
}
final public void unit_test() throws ParseException {/*@bgen(jjtree) UnitTest */
ASTUnitTest jjtn000 = new ASTUnitTest(JJTUNITTEST);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_TEST);
identifier();
nl();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
procedure_body();
break;
}
default:
jj_la1[107] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_TEST);
break;
}
case KW_ENDTEST:{
jj_consume_token(KW_ENDTEST);
break;
}
default:
jj_la1[108] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[109] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void procedure_body() throws ParseException {/*@bgen(jjtree) Body */
ASTBody jjtn000 = new ASTBody(JJTBODY);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
paragraph();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
top_down_part();
break;
}
default:
jj_la1[110] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void root() throws ParseException {/*@bgen(jjtree) Root */
ASTRoot jjtn000 = new ASTRoot(JJTROOT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_10(2)) {
refinement();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[111] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void top_down_part() throws ParseException {
refinement();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
top_down_part();
break;
}
default:
jj_la1[112] = jj_gen;
;
}
}
final public void refinement() throws ParseException {/*@bgen(jjtree) Refinement */
ASTRefinement jjtn000 = new ASTRefinement(JJTREFINEMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier();
jj_consume_token(2);
nl();
if (jj_2_11(2)) {
paragraph();
} else {
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void paragraph() throws ParseException {/*@bgen(jjtree) Paragraph */
ASTParagraph jjtn000 = new ASTParagraph(JJTPARAGRAPH);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
label_31:
while (true) {
unit();
nl();
if (jj_2_12(2)) {
;
} else {
break label_31;
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void unit() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_CHECK:{
assertion();
break;
}
default:
jj_la1[113] = jj_gen;
if (jj_2_13(2147483647)) {
object_decl();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REPEAT:
case KW_SELECT:
case KW_TRUE:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
expression_statement();
break;
}
default:
jj_la1[114] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
final public void assertion() throws ParseException {/*@bgen(jjtree) Assertion */
ASTAssertion jjtn000 = new ASTAssertion(JJTASSERTION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CHECK);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[115] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void precondition() throws ParseException {/*@bgen(jjtree) Precondition */
ASTPrecondition jjtn000 = new ASTPrecondition(JJTPRECONDITION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_REQUIRES);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[116] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void postcondition() throws ParseException {/*@bgen(jjtree) Postcondition */
ASTPostcondition jjtn000 = new ASTPostcondition(JJTPOSTCONDITION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ENSURES);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[117] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void invariant() throws ParseException {/*@bgen(jjtree) Invariant */
ASTInvariant jjtn000 = new ASTInvariant(JJTINVARIANT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_INVARIANT);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[118] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void variant() throws ParseException {/*@bgen(jjtree) Variant */
ASTVariant jjtn000 = new ASTVariant(JJTVARIANT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_VARIANT);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[119] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void protocol_instances() throws ParseException {
protocol_instance();
label_32:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[120] = jj_gen;
break label_32;
}
jj_consume_token(1);
protocol_instance();
}
}
final public void protocol_instance() throws ParseException {/*@bgen(jjtree) ProtocolInstance */
ASTProtocolInstance jjtn000 = new ASTProtocolInstance(JJTPROTOCOLINSTANCE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_parameters_pack();
break;
}
default:
jj_la1[121] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void expression_statement() throws ParseException {/*@bgen(jjtree) ExpressionStatement */
ASTExpressionStatement jjtn000 = new ASTExpressionStatement(JJTEXPRESSIONSTATEMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void expression() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_AND:
case KW_CONCR:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_SELECT:
case KW_TRUE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
assignment_ex();
break;
}
case KW_LEAVE:{
terminator();
break;
}
case KW_CONTINUE:{
continuator();
break;
}
case KW_ACROSS:
case KW_REPEAT:
case KW_WHILE:{
repetition();
break;
}
default:
jj_la1[122] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void assignment_ex() throws ParseException {/*@bgen(jjtree) #AssignmentExpression(> 1) */
ASTAssignmentExpression jjtn000 = new ASTAssignmentExpression(JJTASSIGNMENTEXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
abstract_bin_ex();
if (jj_2_14(3)) {
assignment_op();
expression();
} else {
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void abstract_bin_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LARR:
case RARR:
case LRARR:
case BOXED_LARR:
case BOXED_RARR:{
abstract_bin_op();
break;
}
default:
jj_la1[123] = jj_gen;
;
}
disjunct_ex();
label_33:
while (true) {
if (jj_2_15(2)) {
;
} else {
break label_33;
}
abstract_bin_op();
disjunct_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void disjunct_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_IMPLIES:
case KW_OR:
case KW_XOR:{
disjunct_op();
break;
}
default:
jj_la1[124] = jj_gen;
;
}
conjunct_ex();
label_34:
while (true) {
if (jj_2_16(3)) {
;
} else {
break label_34;
}
disjunct_op();
conjunct_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void conjunct_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AND:{
conjunct_op();
break;
}
default:
jj_la1[125] = jj_gen;
;
}
comp_ex();
label_35:
while (true) {
if (jj_2_17(3)) {
;
} else {
break label_35;
}
conjunct_op();
comp_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
// Comparison expressions with more than two operands
// are evaluated as (a op1 b) AND (b op2 c) AND ...
final public void comp_ex() throws ParseException {/*@bgen(jjtree) #ComparisonExpression(> 1) */
ASTComparisonExpression jjtn000 = new ASTComparisonExpression(JJTCOMPARISONEXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
numeric_ex();
label_36:
while (true) {
if (jj_2_18(3)) {
;
} else {
break label_36;
}
comp_op();
numeric_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void numeric_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STARSHIP:
case BAT:
case TILDE:{
numeric_op();
break;
}
default:
jj_la1[126] = jj_gen;
;
}
arith_ex();
label_37:
while (true) {
if (jj_2_19(2)) {
;
} else {
break label_37;
}
numeric_op();
arith_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void arith_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOXED_PLUS:
case BOXED_MINUS:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:{
arith_op();
break;
}
default:
jj_la1[127] = jj_gen;
;
}
prod_ex();
label_38:
while (true) {
if (jj_2_20(2)) {
;
} else {
break label_38;
}
arith_op();
prod_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void prod_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_COLON:
case BOXED_SLASH:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case KW_DIV:
case KW_MOD:{
prod_op();
break;
}
default:
jj_la1[128] = jj_gen;
;
}
pow_ex();
label_39:
while (true) {
if (jj_2_21(2)) {
;
} else {
break label_39;
}
prod_op();
pow_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pow_ex() throws ParseException {/*@bgen(jjtree) #PowerExpression(> 1) */
ASTPowerExpression jjtn000 = new ASTPowerExpression(JJTPOWEREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case BOXED_QUEST:
case BOXED_QUOTE:
case PLUS_MINUS:
case MINUS_PLUS:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_CONCR:
case KW_FALSE:
case KW_IF:
case KW_NOT:
case KW_SELECT:
case KW_TRUE:
case KW_WITH:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
tight_ex();
if (jj_2_22(2)) {
pow_op();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:
case MINUS:{
sign();
break;
}
default:
jj_la1[129] = jj_gen;
;
}
tight_ex();
} else {
;
}
break;
}
default:
jj_la1[130] = jj_gen;
if (jj_2_23(2)) {
pow_op();
tight_ex();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void tight_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case BOXED_QUEST:
case BOXED_QUOTE:
case PLUS_MINUS:
case MINUS_PLUS:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_NOT:{
tight_op();
break;
}
default:
jj_la1[131] = jj_gen;
;
}
primary_ex();
label_40:
while (true) {
if (jj_2_24(2)) {
;
} else {
break label_40;
}
tight_op();
primary_ex();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void primary_ex() throws ParseException {/*@bgen(jjtree) #OperatorExpression(> 1) */
ASTOperatorExpression jjtn000 = new ASTOperatorExpression(JJTOPERATOREXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
atomic_ex();
label_41:
while (true) {
if (jj_2_25(3)) {
;
} else {
break label_41;
}
ex_suffix();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void atomic_ex() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
jj_consume_token(4);
expression();
jj_consume_token(5);
break;
}
case KW_FALSE:
case KW_TRUE:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
denoter();
break;
}
case KW_CONCR:{
concretizer();
break;
}
case KW_IF:{
conditional_choice();
break;
}
case KW_SELECT:{
pattern_matching();
break;
}
case KW_WITH:{
with_statement();
break;
}
case 9:{
display();
break;
}
default:
jj_la1[132] = jj_gen;
if (jj_2_26(3)) {
abstractor();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[133] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
final public void denoter() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DECIMAL_LITERAL:
case RADIX_LITERAL:{
integer_denotation();
break;
}
case REAL_LITERAL:{
real_denotation();
break;
}
case TEXT_LITERAL:
case TEXT_HEAD:{
text_denotation();
break;
}
case KW_FALSE:
case KW_TRUE:{
bool_denotation();
break;
}
default:
jj_la1[134] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void concretizer() throws ParseException {/*@bgen(jjtree) Concretizer */
ASTConcretizer jjtn000 = new ASTConcretizer(JJTCONCRETIZER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CONCR);
atomic_ex();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void abstractor() throws ParseException {/*@bgen(jjtree) Abstractor */
ASTAbstractor jjtn000 = new ASTAbstractor(JJTABSTRACTOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier_ref();
jj_consume_token(2);
atomic_ex();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void conditional_choice() throws ParseException {/*@bgen(jjtree) ConditionalChoice */
ASTConditionalChoice jjtn000 = new ASTConditionalChoice(JJTCONDITIONALCHOICE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
ASTConditionalBranch jjtn001 = new ASTConditionalBranch(JJTCONDITIONALBRANCH);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_IF);
expression();
jj_consume_token(KW_THEN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[135] = jj_gen;
;
}
} catch (Throwable jjte001) {
if (jjtc001) {
jjtree.clearNodeScope(jjtn001);
jjtc001 = false;
} else {
jjtree.popNode();
}
if (jjte001 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte001;}
}
if (jjte001 instanceof ParseException) {
{if (true) throw (ParseException)jjte001;}
}
{if (true) throw (Error)jjte001;}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
label_42:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ELIF:{
;
break;
}
default:
jj_la1[136] = jj_gen;
break label_42;
}
ASTConditionalBranch jjtn002 = new ASTConditionalBranch(JJTCONDITIONALBRANCH);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ELIF);
expression();
jj_consume_token(KW_THEN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[137] = jj_gen;
;
}
} catch (Throwable jjte002) {
if (jjtc002) {
jjtree.clearNodeScope(jjtn002);
jjtc002 = false;
} else {
jjtree.popNode();
}
if (jjte002 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte002;}
}
if (jjte002 instanceof ParseException) {
{if (true) throw (ParseException)jjte002;}
}
{if (true) throw (Error)jjte002;}
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ELSE:{
default_branch();
break;
}
default:
jj_la1[138] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_IF);
break;
}
case KW_ENDIF:{
jj_consume_token(KW_ENDIF);
break;
}
default:
jj_la1[139] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pattern_matching() throws ParseException {/*@bgen(jjtree) PatternMatching */
ASTPatternMatching jjtn000 = new ASTPatternMatching(JJTPATTERNMATCHING);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_SELECT);
expression();
jj_consume_token(KW_OF);
label_43:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_CASE:{
;
break;
}
default:
jj_la1[140] = jj_gen;
break label_43;
}
case_branch();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OTHERWISE:{
ASTDefaultBranch jjtn001 = new ASTDefaultBranch(JJTDEFAULTBRANCH);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_OTHERWISE);
paragraph();
} catch (Throwable jjte001) {
if (jjtc001) {
jjtree.clearNodeScope(jjtn001);
jjtc001 = false;
} else {
jjtree.popNode();
}
if (jjte001 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte001;}
}
if (jjte001 instanceof ParseException) {
{if (true) throw (ParseException)jjte001;}
}
{if (true) throw (Error)jjte001;}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[141] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_SELECT);
break;
}
case KW_ENDSELECT:{
jj_consume_token(KW_ENDSELECT);
break;
}
default:
jj_la1[142] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void case_branch() throws ParseException {/*@bgen(jjtree) CaseBranch */
ASTCaseBranch jjtn000 = new ASTCaseBranch(JJTCASEBRANCH);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CASE);
patterns();
jj_consume_token(KW_THEN);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[143] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void patterns() throws ParseException {/*@bgen(jjtree) Patterns */
ASTPatterns jjtn000 = new ASTPatterns(JJTPATTERNS);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case KW_BOOL:
case KW_ENUM:
case KW_FALSE:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VOID:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
pattern();
label_44:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[144] = jj_gen;
break label_44;
}
jj_consume_token(1);
pattern();
}
break;
}
case 3:{
selector();
label_45:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[145] = jj_gen;
break label_45;
}
jj_consume_token(1);
selector();
}
break;
}
default:
jj_la1[146] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pattern() throws ParseException {/*@bgen(jjtree) Pattern */
ASTPattern jjtn000 = new ASTPattern(JJTPATTERN);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_27(3)) {
identifier_ref();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DECIMAL_LITERAL:
case RADIX_LITERAL:{
integer_denotation();
break;
}
case REAL_LITERAL:{
real_denotation();
break;
}
case TEXT_LITERAL:
case TEXT_HEAD:{
text_denotation();
break;
}
case KW_FALSE:
case KW_TRUE:{
bool_denotation();
break;
}
case 9:{
pattern_display();
break;
}
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
pattern_binder();
break;
}
case 4:{
jj_consume_token(4);
pattern();
jj_consume_token(5);
break;
}
default:
jj_la1[147] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pattern_binder() throws ParseException {/*@bgen(jjtree) PatternBinder */
ASTPatternBinder jjtn000 = new ASTPatternBinder(JJTPATTERNBINDER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
parameter_head();
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 8:{
jj_consume_token(8);
pattern();
break;
}
default:
jj_la1[148] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pattern_display() throws ParseException {/*@bgen(jjtree) PatternDisplay */
ASTPatternDisplay jjtn000 = new ASTPatternDisplay(JJTPATTERNDISPLAY);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(9);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case KW_BOOL:
case KW_ENUM:
case KW_FALSE:
case KW_INT:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VOID:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
pattern();
label_46:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[149] = jj_gen;
break label_46;
}
jj_consume_token(1);
pattern();
}
break;
}
default:
jj_la1[150] = jj_gen;
;
}
jj_consume_token(10);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void actual_parameter_list() throws ParseException {/*@bgen(jjtree) ActualParameterList */
ASTActualParameterList jjtn000 = new ASTActualParameterList(JJTACTUALPARAMETERLIST);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(4);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_PROC:
case KW_PURE:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
actual_parameter();
label_47:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[151] = jj_gen;
break label_47;
}
jj_consume_token(1);
actual_parameter();
}
break;
}
default:
jj_la1[152] = jj_gen;
;
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void actual_parameter() throws ParseException {/*@bgen(jjtree) ActualParameter */
ASTActualParameter jjtn000 = new ASTActualParameter(JJTACTUALPARAMETER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_28(2147483647)) {
actual_proc_parameter();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REPEAT:
case KW_SELECT:
case KW_TRUE:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
expression();
break;
}
default:
jj_la1[153] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void actual_proc_parameter() throws ParseException {/*@bgen(jjtree) ActualProcParameter */
ASTActualProcParameter jjtn000 = new ASTActualProcParameter(JJTACTUALPROCPARAMETER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
break;
}
default:
jj_la1[154] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_PURE:{
pure_modifier();
break;
}
default:
jj_la1[155] = jj_gen;
;
}
jj_consume_token(KW_PROC);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_parameters_pack();
break;
}
default:
jj_la1[156] = jj_gen;
;
}
identifier_ref();
jj_consume_token(KW_OP);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
virtual_parameters_pack();
break;
}
default:
jj_la1[157] = jj_gen;
;
}
operator_name();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void with_statement() throws ParseException {/*@bgen(jjtree) WithStatement */
ASTWithStatement jjtn000 = new ASTWithStatement(JJTWITHSTATEMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
ASTWithHead jjtn001 = new ASTWithHead(JJTWITHHEAD);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_WITH);
expression();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AS:{
jj_consume_token(KW_AS);
patterns();
break;
}
default:
jj_la1[158] = jj_gen;
;
}
} catch (Throwable jjte001) {
if (jjtc001) {
jjtree.clearNodeScope(jjtn001);
jjtc001 = false;
} else {
jjtree.popNode();
}
if (jjte001 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte001;}
}
if (jjte001 instanceof ParseException) {
{if (true) throw (ParseException)jjte001;}
}
{if (true) throw (Error)jjte001;}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
jj_consume_token(KW_DO);
paragraph();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENDWITH:{
jj_consume_token(KW_ENDWITH);
break;
}
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_WITH);
break;
}
default:
jj_la1[159] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void display() throws ParseException {/*@bgen(jjtree) Display */
ASTDisplay jjtn000 = new ASTDisplay(JJTDISPLAY);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(9);
expression();
label_48:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[160] = jj_gen;
break label_48;
}
jj_consume_token(1);
expression();
}
jj_consume_token(10);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void ex_suffix() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 3:{
selector();
break;
}
case 4:{
invocation();
break;
}
case 9:{
subscript();
break;
}
default:
jj_la1[161] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void selector() throws ParseException {/*@bgen(jjtree) Selector */
ASTSelector jjtn000 = new ASTSelector(JJTSELECTOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(3);
identifier_ref();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void invocation() throws ParseException {/*@bgen(jjtree) Invocation */
ASTInvocation jjtn000 = new ASTInvocation(JJTINVOCATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
actual_parameter_list();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[162] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void subscript() throws ParseException {/*@bgen(jjtree) Subscript */
ASTSubscript jjtn000 = new ASTSubscript(JJTSUBSCRIPT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
display();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void terminator() throws ParseException {/*@bgen(jjtree) Terminator */
ASTTerminator jjtn000 = new ASTTerminator(JJTTERMINATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_LEAVE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OP:
case KW_OUTER:
case KW_PROC:
case KW_REPEAT:
case IDENTIFIER:
case DECIMAL_LITERAL:{
unit_ref();
break;
}
default:
jj_la1[163] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_WITH:{
jj_consume_token(KW_WITH);
expression();
break;
}
default:
jj_la1[164] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void continuator() throws ParseException {/*@bgen(jjtree) Continuator */
ASTContinuator jjtn000 = new ASTContinuator(JJTCONTINUATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CONTINUE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OUTER:
case KW_REPEAT:
case DECIMAL_LITERAL:{
loop_ref();
break;
}
default:
jj_la1[165] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void repetition() throws ParseException {/*@bgen(jjtree) Repetition */
ASTRepetition jjtn000 = new ASTRepetition(JJTREPETITION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ACROSS:{
across_clause();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_WHILE:{
while_clause();
break;
}
default:
jj_la1[166] = jj_gen;
;
}
repetition_body();
break;
}
case KW_REPEAT:
case KW_WHILE:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_WHILE:{
while_clause();
break;
}
default:
jj_la1[167] = jj_gen;
;
}
repeat_clause();
break;
}
default:
jj_la1[168] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void across_clause() throws ParseException {/*@bgen(jjtree) AcrossClause */
ASTAcrossClause jjtn000 = new ASTAcrossClause(JJTACROSSCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ACROSS);
abstract_bin_ex();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AS:{
jj_consume_token(KW_AS);
pattern();
break;
}
default:
jj_la1[169] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void while_clause() throws ParseException {/*@bgen(jjtree) WhileClause */
ASTWhileClause jjtn000 = new ASTWhileClause(JJTWHILECLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_WHILE);
abstract_bin_ex();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void repetition_body() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_REPEAT:{
repeat_clause();
break;
}
case KW_ALL:
case KW_NO:
case KW_NOT:
case KW_SOME:{
quantifier_clause();
break;
}
default:
jj_la1[170] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void quantifier_clause() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_SOME:{
some_clause();
break;
}
case KW_ALL:{
all_clause();
break;
}
case KW_NO:{
no_clause();
break;
}
case KW_NOT:{
not_all_clause();
break;
}
default:
jj_la1[171] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void repeat_clause() throws ParseException {/*@bgen(jjtree) RepeatClause */
ASTRepeatClause jjtn000 = new ASTRepeatClause(JJTREPEATCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_REPEAT);
label_49:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_INVARIANT:{
;
break;
}
default:
jj_la1[172] = jj_gen;
break label_49;
}
loop_invariant();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[173] = jj_gen;
;
}
label_50:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_VARIANT:{
;
break;
}
default:
jj_la1[174] = jj_gen;
break label_50;
}
loop_variant();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_UNTIL:{
until_clause();
break;
}
default:
jj_la1[175] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ELSE:{
default_branch();
break;
}
default:
jj_la1[176] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_REPEAT);
break;
}
case KW_ENDREPEAT:{
jj_consume_token(KW_ENDREPEAT);
break;
}
default:
jj_la1[177] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void until_clause() throws ParseException {/*@bgen(jjtree) UntilClause */
ASTUntilClause jjtn000 = new ASTUntilClause(JJTUNTILCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_UNTIL);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void default_branch() throws ParseException {/*@bgen(jjtree) DefaultBranch */
ASTDefaultBranch jjtn000 = new ASTDefaultBranch(JJTDEFAULTBRANCH);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ELSE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_BOOL:
case KW_CHECK:
case KW_CONST:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_ENUM:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_INT:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REAL:
case KW_REPEAT:
case KW_SELECT:
case KW_STRUCT:
case KW_TEXT:
case KW_TRUE:
case KW_VAR:
case KW_VOID:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
paragraph();
break;
}
default:
jj_la1[178] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void some_clause() throws ParseException {/*@bgen(jjtree) SomeClause */
ASTSomeClause jjtn000 = new ASTSomeClause(JJTSOMECLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_SOME);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void all_clause() throws ParseException {/*@bgen(jjtree) AllClause */
ASTAllClause jjtn000 = new ASTAllClause(JJTALLCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ALL);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void not_all_clause() throws ParseException {/*@bgen(jjtree) NotAllClause */
ASTNotAllClause jjtn000 = new ASTNotAllClause(JJTNOTALLCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_NOT);
jj_consume_token(KW_ALL);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void no_clause() throws ParseException {/*@bgen(jjtree) NoClause */
ASTNoClause jjtn000 = new ASTNoClause(JJTNOCLAUSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_NO);
expression();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void loop_invariant() throws ParseException {/*@bgen(jjtree) LoopInvariant */
ASTLoopInvariant jjtn000 = new ASTLoopInvariant(JJTLOOPINVARIANT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
invariant();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void loop_variant() throws ParseException {/*@bgen(jjtree) LoopVariant */
ASTLoopVariant jjtn000 = new ASTLoopVariant(JJTLOOPVARIANT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
variant();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void unit_ref() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OUTER:
case KW_REPEAT:
case DECIMAL_LITERAL:{
loop_ref();
break;
}
case KW_PROC:{
ASTProcRef jjtn001 = new ASTProcRef(JJTPROCREF);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_PROC);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_OP:{
ASTOpRef jjtn002 = new ASTOpRef(JJTOPREF);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_OP);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case IDENTIFIER:{
ASTRefinementRef jjtn003 = new ASTRefinementRef(JJTREFINEMENTREF);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
identifier_ref();
} catch (Throwable jjte003) {
if (jjtc003) {
jjtree.clearNodeScope(jjtn003);
jjtc003 = false;
} else {
jjtree.popNode();
}
if (jjte003 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte003;}
}
if (jjte003 instanceof ParseException) {
{if (true) throw (ParseException)jjte003;}
}
{if (true) throw (Error)jjte003;}
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[179] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void loop_ref() throws ParseException {/*@bgen(jjtree) LoopRef */
ASTLoopRef jjtn000 = new ASTLoopRef(JJTLOOPREF);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OUTER:
case DECIMAL_LITERAL:{
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DECIMAL_LITERAL:{
jj_consume_token(DECIMAL_LITERAL);
break;
}
default:
jj_la1[180] = jj_gen;
;
}
jj_consume_token(KW_OUTER);
break;
}
default:
jj_la1[181] = jj_gen;
;
}
jj_consume_token(KW_REPEAT);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void object_decl() throws ParseException {/*@bgen(jjtree) ObjectDecl */
ASTObjectDecl jjtn000 = new ASTObjectDecl(JJTOBJECTDECL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_ENUM:
case KW_INT:
case KW_REAL:
case KW_STRUCT:
case KW_TEXT:
case KW_VOID:
case IDENTIFIER:{
type_declarer();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_VAR:{
ASTVarModifier jjtn001 = new ASTVarModifier(JJTVARMODIFIER);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_VAR);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
identifier();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 8:{
initializer();
break;
}
default:
jj_la1[182] = jj_gen;
;
}
break;
}
case KW_CONST:{
ASTConstModifier jjtn002 = new ASTConstModifier(JJTCONSTMODIFIER);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_CONST);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
identifier();
initializer();
break;
}
default:
jj_la1[183] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
}
case KW_CONST:
case KW_VAR:{
access_modifier();
identifier();
initializer();
break;
}
default:
jj_la1[184] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void initializer() throws ParseException {
jj_consume_token(8);
expression();
}
final public void type_declarer() throws ParseException {/*@bgen(jjtree) TypeDeclarer */
ASTTypeDeclarer jjtn000 = new ASTTypeDeclarer(JJTTYPEDECLARER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
cell_type_declarer();
label_51:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 9:{
;
break;
}
default:
jj_la1[185] = jj_gen;
break label_51;
}
jj_consume_token(9);
index_type();
label_52:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[186] = jj_gen;
break label_52;
}
jj_consume_token(1);
index_type();
}
jj_consume_token(10);
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void index_type() throws ParseException {/*@bgen(jjtree) IndexType */
ASTIndexType jjtn000 = new ASTIndexType(JJTINDEXTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OF:{
jj_consume_token(KW_OF);
type_declarer();
break;
}
case 4:
case 9:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_CONCR:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_MOD:
case KW_NOT:
case KW_SELECT:
case KW_TRUE:
case KW_WITH:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
bounds();
break;
}
default:
jj_la1[187] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void cell_type_declarer() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BOOL:
case KW_INT:
case KW_REAL:
case KW_TEXT:
case KW_VOID:{
primitive_type();
break;
}
case IDENTIFIER:{
named_type();
break;
}
case KW_STRUCT:{
struct_type();
break;
}
case KW_ENUM:{
enum_type();
break;
}
default:
jj_la1[188] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void struct_type() throws ParseException {/*@bgen(jjtree) StructType */
ASTStructType jjtn000 = new ASTStructType(JJTSTRUCTTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_STRUCT);
jj_consume_token(4);
fields();
label_53:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[189] = jj_gen;
break label_53;
}
jj_consume_token(1);
if (jj_2_29(2)) {
fields();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier();
break;
}
default:
jj_la1[190] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void enum_type() throws ParseException {/*@bgen(jjtree) EnumType */
ASTEnumType jjtn000 = new ASTEnumType(JJTENUMTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ENUM);
jj_consume_token(4);
fields();
label_54:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[191] = jj_gen;
break label_54;
}
jj_consume_token(1);
if (jj_2_30(2)) {
fields();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier();
break;
}
default:
jj_la1[192] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
jj_consume_token(5);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void fields() throws ParseException {
parameter_head();
identifier();
}
final public void primitive_type() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_INT:{
int_type();
break;
}
case KW_REAL:{
real_type();
break;
}
case KW_TEXT:{
text_type();
break;
}
case KW_BOOL:{
bool_type();
break;
}
case KW_VOID:{
void_type();
break;
}
default:
jj_la1[193] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void int_type() throws ParseException {/*@bgen(jjtree) IntType */
ASTIntType jjtn000 = new ASTIntType(JJTINTTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_INT);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
jj_consume_token(4);
bounds();
jj_consume_token(5);
break;
}
default:
jj_la1[194] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
dimension();
break;
}
default:
jj_la1[195] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void real_type() throws ParseException {/*@bgen(jjtree) RealType */
ASTRealType jjtn000 = new ASTRealType(JJTREALTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_REAL);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
dimension();
break;
}
default:
jj_la1[196] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void text_type() throws ParseException {/*@bgen(jjtree) TextType */
ASTTextType jjtn000 = new ASTTextType(JJTTEXTTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_TEXT);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void bool_type() throws ParseException {/*@bgen(jjtree) BoolType */
ASTBoolType jjtn000 = new ASTBoolType(JJTBOOLTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_BOOL);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void named_type() throws ParseException {/*@bgen(jjtree) NamedType */
ASTNamedType jjtn000 = new ASTNamedType(JJTNAMEDTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
identifier_ref();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:{
jj_consume_token(4);
type_declarer();
label_55:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 1:{
;
break;
}
default:
jj_la1[197] = jj_gen;
break label_55;
}
jj_consume_token(1);
type_declarer();
}
jj_consume_token(5);
break;
}
default:
jj_la1[198] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void void_type() throws ParseException {/*@bgen(jjtree) VoidType */
ASTVoidType jjtn000 = new ASTVoidType(JJTVOIDTYPE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_VOID);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void bounds() throws ParseException {/*@bgen(jjtree) Bounds */
ASTBounds jjtn000 = new ASTBounds(JJTBOUNDS);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
arith_ex();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case RANGE:{
jj_consume_token(RANGE);
arith_ex();
break;
}
default:
jj_la1[199] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void dimension() throws ParseException {/*@bgen(jjtree) Dimension */
ASTDimension jjtn000 = new ASTDimension(JJTDIMENSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(6);
dim_expression();
jj_consume_token(7);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void dim_expression() throws ParseException {/*@bgen(jjtree) #DimOp(> 1) */
ASTDimOp jjtn000 = new ASTDimOp(JJTDIMOP);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
dim_factor();
label_56:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case SLASH:
case AST:{
;
break;
}
default:
jj_la1[200] = jj_gen;
break label_56;
}
dim_op();
dim_factor();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void dim_op() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case AST:{
ASTAstOp jjtn001 = new ASTAstOp(JJTASTOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AST);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case SLASH:{
ASTSlashOp jjtn002 = new ASTSlashOp(JJTSLASHOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(SLASH);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[201] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void dim_factor() throws ParseException {/*@bgen(jjtree) #DimFactor(> 1) */
ASTDimFactor jjtn000 = new ASTDimFactor(JJTDIMFACTOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
dim_atom();
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case CARET:{
jj_consume_token(CARET);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:
case MINUS:{
sign();
break;
}
default:
jj_la1[202] = jj_gen;
;
}
decimal_literal();
if (jj_2_31(2)) {
jj_consume_token(SLASH);
decimal_literal();
} else {
;
}
break;
}
default:
jj_la1[203] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, jjtree.nodeArity() > 1);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void dim_atom() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
case 4:{
jj_consume_token(4);
dim_expression();
jj_consume_token(5);
break;
}
default:
jj_la1[204] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void obsoletion() throws ParseException {/*@bgen(jjtree) Obsoletion */
ASTObsoletion jjtn000 = new ASTObsoletion(JJTOBSOLETION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_OBSOLETE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_BECAUSE:{
reason();
break;
}
default:
jj_la1[205] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void documentation() throws ParseException {/*@bgen(jjtree) Documentation */
ASTDocumentation jjtn000 = new ASTDocumentation(JJTDOCUMENTATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_DOC:{
jj_consume_token(KW_DOC);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DOCUMENTATION:{
jj_consume_token(DOCUMENTATION);
break;
}
default:
jj_la1[206] = jj_gen;
;
}
nl();
break;
}
case KW_EXAMPLE:{
example();
break;
}
default:
jj_la1[207] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void reason() throws ParseException {/*@bgen(jjtree) Reason */
ASTReason jjtn000 = new ASTReason(JJTREASON);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_BECAUSE);
jj_consume_token(DOCUMENTATION);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void example() throws ParseException {/*@bgen(jjtree) Example */
ASTExample jjtn000 = new ASTExample(JJTEXAMPLE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
example_head();
packets_or_body();
example_tail();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void example_head() throws ParseException {
jj_consume_token(KW_EXAMPLE);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier();
break;
}
default:
jj_la1[208] = jj_gen;
;
}
nl();
}
final public void example_tail() throws ParseException {/*@bgen(jjtree) BlockTail */
ASTBlockTail jjtn000 = new ASTBlockTail(JJTBLOCKTAIL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_ENDEXAMPLE:{
jj_consume_token(KW_ENDEXAMPLE);
break;
}
case KW_END:{
jj_consume_token(KW_END);
jj_consume_token(KW_EXAMPLE);
break;
}
default:
jj_la1[209] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case IDENTIFIER:{
identifier_ref();
break;
}
default:
jj_la1[210] = jj_gen;
;
}
nl();
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void operator_name() throws ParseException {/*@bgen(jjtree) OperatorName */
ASTOperatorName jjtn000 = new ASTOperatorName(JJTOPERATORNAME);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_32(3)) {
assignment_op();
} else if (jj_2_33(2)) {
simple_operator_name();
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LT:
case GT:
case LE:
case GE:
case NE:
case EQ:
case IN:
case NOT_IN:
case BOXED_LT:
case BOXED_GT:
case BOXED_LE:
case BOXED_GE:
case BOXED_NE:
case BOXED_EQ:
case CIRCLED_LT:
case CIRCLED_GT:
case CIRCLED_LE:
case CIRCLED_GE:
case CIRCLED_NE:
case CIRCLED_EQ:
case KW_IN:
case KW_NOT:{
comp_op();
break;
}
default:
jj_la1[211] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void assignment_op() throws ParseException {/*@bgen(jjtree) AssignmentOp */
ASTAssignmentOp jjtn000 = new ASTAssignmentOp(JJTASSIGNMENTOP);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_34(2)) {
simple_operator_name();
jj_consume_token(EQ);
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ASSIGN:{
jj_consume_token(ASSIGN);
break;
}
default:
jj_la1[212] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void simple_operator_name() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LARR:
case RARR:
case LRARR:
case BOXED_LARR:
case BOXED_RARR:{
abstract_bin_op();
break;
}
case KW_IMPLIES:
case KW_OR:
case KW_XOR:{
disjunct_op();
break;
}
case KW_AND:{
conjunct_op();
break;
}
case STARSHIP:
case BAT:
case TILDE:{
numeric_op();
break;
}
case BOXED_PLUS:
case BOXED_MINUS:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:{
arith_op();
break;
}
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_COLON:
case BOXED_SLASH:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case KW_DIV:
case KW_MOD:{
prod_op();
break;
}
case AST_AST:
case BOXED_CARET:
case CARET:{
pow_op();
break;
}
case BOXED_QUEST:
case BOXED_QUOTE:
case PLUS_MINUS:
case MINUS_PLUS:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_NOT:{
tight_op();
break;
}
case 9:{
ASTBracketsOp jjtn001 = new ASTBracketsOp(JJTBRACKETSOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(9);
jj_consume_token(10);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[213] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void abstract_bin_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LARR:{
ASTLeftArrow jjtn001 = new ASTLeftArrow(JJTLEFTARROW);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LARR);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_RARR:{
ASTBoxedRightArrow jjtn002 = new ASTBoxedRightArrow(JJTBOXEDRIGHTARROW);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_RARR);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case RARR:{
ASTRightArrow jjtn003 = new ASTRightArrow(JJTRIGHTARROW);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(RARR);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_LARR:{
ASTBoxedLeftArrow jjtn004 = new ASTBoxedLeftArrow(JJTBOXEDLEFTARROW);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_LARR);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
case LRARR:{
ASTLeftRightArrow jjtn005 = new ASTLeftRightArrow(JJTLEFTRIGHTARROW);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
jjtn005.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LRARR);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
jjtn005.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[214] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void disjunct_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_35(2)) {
jj_consume_token(KW_OR);
ASTOrElseOp jjtn001 = new ASTOrElseOp(JJTORELSEOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_ELSE);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_OR:{
ASTOrOp jjtn002 = new ASTOrOp(JJTOROP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_OR);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_XOR:{
ASTXorOp jjtn003 = new ASTXorOp(JJTXOROP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_XOR);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_IMPLIES:{
ASTImpliesOp jjtn004 = new ASTImpliesOp(JJTIMPLIESOP);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_IMPLIES);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[215] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void conjunct_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
if (jj_2_36(2)) {
jj_consume_token(KW_AND);
ASTAndThenOp jjtn001 = new ASTAndThenOp(JJTANDTHENOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_THEN);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_AND:{
ASTAndOp jjtn002 = new ASTAndOp(JJTANDOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_AND);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[216] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void comp_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case LT:{
ASTLessThanOp jjtn001 = new ASTLessThanOp(JJTLESSTHANOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LT);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case GT:{
ASTGreaterThanOp jjtn002 = new ASTGreaterThanOp(JJTGREATERTHANOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(GT);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case LE:{
ASTLessOrEqualOp jjtn003 = new ASTLessOrEqualOp(JJTLESSOREQUALOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LE);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case GE:{
ASTGreaterOrEqualOp jjtn004 = new ASTGreaterOrEqualOp(JJTGREATEROREQUALOP);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(GE);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
case EQ:{
ASTEqualOp jjtn005 = new ASTEqualOp(JJTEQUALOP);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
jjtn005.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(EQ);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
jjtn005.jjtSetLastToken(getToken(0));
}
}
break;
}
case NE:{
ASTNotEqualOp jjtn006 = new ASTNotEqualOp(JJTNOTEQUALOP);
boolean jjtc006 = true;
jjtree.openNodeScope(jjtn006);
jjtn006.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(NE);
} finally {
if (jjtc006) {
jjtree.closeNodeScope(jjtn006, true);
jjtn006.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[217] = jj_gen;
if (jj_2_37(2)) {
jj_consume_token(KW_NOT);
ASTNotInOp jjtn007 = new ASTNotInOp(JJTNOTINOP);
boolean jjtc007 = true;
jjtree.openNodeScope(jjtn007);
jjtn007.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_IN);
} finally {
if (jjtc007) {
jjtree.closeNodeScope(jjtn007, true);
jjtn007.jjtSetLastToken(getToken(0));
}
}
} else {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_IN:{
ASTInOp jjtn008 = new ASTInOp(JJTINOP);
boolean jjtc008 = true;
jjtree.openNodeScope(jjtn008);
jjtn008.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_IN);
} finally {
if (jjtc008) {
jjtree.closeNodeScope(jjtn008, true);
jjtn008.jjtSetLastToken(getToken(0));
}
}
break;
}
case IN:{
ASTInOp jjtn009 = new ASTInOp(JJTINOP);
boolean jjtc009 = true;
jjtree.openNodeScope(jjtn009);
jjtn009.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(IN);
} finally {
if (jjtc009) {
jjtree.closeNodeScope(jjtn009, true);
jjtn009.jjtSetLastToken(getToken(0));
}
}
break;
}
case NOT_IN:{
ASTNotInOp jjtn010 = new ASTNotInOp(JJTNOTINOP);
boolean jjtc010 = true;
jjtree.openNodeScope(jjtn010);
jjtn010.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(NOT_IN);
} finally {
if (jjtc010) {
jjtree.closeNodeScope(jjtn010, true);
jjtn010.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_GT:{
ASTBoxedGreaterThanOp jjtn011 = new ASTBoxedGreaterThanOp(JJTBOXEDGREATERTHANOP);
boolean jjtc011 = true;
jjtree.openNodeScope(jjtn011);
jjtn011.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_GT);
} finally {
if (jjtc011) {
jjtree.closeNodeScope(jjtn011, true);
jjtn011.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_LT:{
ASTBoxedLessThanOp jjtn012 = new ASTBoxedLessThanOp(JJTBOXEDLESSTHANOP);
boolean jjtc012 = true;
jjtree.openNodeScope(jjtn012);
jjtn012.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_LT);
} finally {
if (jjtc012) {
jjtree.closeNodeScope(jjtn012, true);
jjtn012.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_LE:{
ASTBoxedLessOrEqualOp jjtn013 = new ASTBoxedLessOrEqualOp(JJTBOXEDLESSOREQUALOP);
boolean jjtc013 = true;
jjtree.openNodeScope(jjtn013);
jjtn013.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_LE);
} finally {
if (jjtc013) {
jjtree.closeNodeScope(jjtn013, true);
jjtn013.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_GE:{
ASTBoxedGreaterOrEqualOp jjtn014 = new ASTBoxedGreaterOrEqualOp(JJTBOXEDGREATEROREQUALOP);
boolean jjtc014 = true;
jjtree.openNodeScope(jjtn014);
jjtn014.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_GE);
} finally {
if (jjtc014) {
jjtree.closeNodeScope(jjtn014, true);
jjtn014.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_EQ:{
ASTBoxedEqualOp jjtn015 = new ASTBoxedEqualOp(JJTBOXEDEQUALOP);
boolean jjtc015 = true;
jjtree.openNodeScope(jjtn015);
jjtn015.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_EQ);
} finally {
if (jjtc015) {
jjtree.closeNodeScope(jjtn015, true);
jjtn015.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_NE:{
ASTBoxedNotEqualOp jjtn016 = new ASTBoxedNotEqualOp(JJTBOXEDNOTEQUALOP);
boolean jjtc016 = true;
jjtree.openNodeScope(jjtn016);
jjtn016.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_NE);
} finally {
if (jjtc016) {
jjtree.closeNodeScope(jjtn016, true);
jjtn016.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_LT:{
ASTCircledLessThanOp jjtn017 = new ASTCircledLessThanOp(JJTCIRCLEDLESSTHANOP);
boolean jjtc017 = true;
jjtree.openNodeScope(jjtn017);
jjtn017.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_LT);
} finally {
if (jjtc017) {
jjtree.closeNodeScope(jjtn017, true);
jjtn017.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_GT:{
ASTCircledGreaterThanOp jjtn018 = new ASTCircledGreaterThanOp(JJTCIRCLEDGREATERTHANOP);
boolean jjtc018 = true;
jjtree.openNodeScope(jjtn018);
jjtn018.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_GT);
} finally {
if (jjtc018) {
jjtree.closeNodeScope(jjtn018, true);
jjtn018.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_LE:{
ASTCircledLessOrEqualOp jjtn019 = new ASTCircledLessOrEqualOp(JJTCIRCLEDLESSOREQUALOP);
boolean jjtc019 = true;
jjtree.openNodeScope(jjtn019);
jjtn019.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_LE);
} finally {
if (jjtc019) {
jjtree.closeNodeScope(jjtn019, true);
jjtn019.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_GE:{
ASTCircledGreaterOrEqualOp jjtn020 = new ASTCircledGreaterOrEqualOp(JJTCIRCLEDGREATEROREQUALOP);
boolean jjtc020 = true;
jjtree.openNodeScope(jjtn020);
jjtn020.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_GE);
} finally {
if (jjtc020) {
jjtree.closeNodeScope(jjtn020, true);
jjtn020.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_EQ:{
ASTCircledEqualOp jjtn021 = new ASTCircledEqualOp(JJTCIRCLEDEQUALOP);
boolean jjtc021 = true;
jjtree.openNodeScope(jjtn021);
jjtn021.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_EQ);
} finally {
if (jjtc021) {
jjtree.closeNodeScope(jjtn021, true);
jjtn021.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_NE:{
ASTCircledNotEqualOp jjtn022 = new ASTCircledNotEqualOp(JJTCIRCLEDNOTEQUALOP);
boolean jjtc022 = true;
jjtree.openNodeScope(jjtn022);
jjtn022.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_NE);
} finally {
if (jjtc022) {
jjtree.closeNodeScope(jjtn022, true);
jjtn022.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[218] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void numeric_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case STARSHIP:{
ASTStarshipOp jjtn001 = new ASTStarshipOp(JJTSTARSHIPOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(STARSHIP);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case BAT:{
ASTBatOp jjtn002 = new ASTBatOp(JJTBATOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BAT);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case TILDE:{
ASTTildeOp jjtn003 = new ASTTildeOp(JJTTILDEOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(TILDE);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[219] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void arith_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:{
ASTPlusOp jjtn001 = new ASTPlusOp(JJTPLUSOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(PLUS);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case MINUS:{
ASTMinusOp jjtn002 = new ASTMinusOp(JJTMINUSOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(MINUS);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case PLUS_PLUS:{
ASTDoublePlusOp jjtn003 = new ASTDoublePlusOp(JJTDOUBLEPLUSOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(PLUS_PLUS);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case MINUS_MINUS:{
ASTDoubleMinusOp jjtn004 = new ASTDoubleMinusOp(JJTDOUBLEMINUSOP);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(MINUS_MINUS);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_PLUS:{
ASTCircledPlusOp jjtn005 = new ASTCircledPlusOp(JJTCIRCLEDPLUSOP);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
jjtn005.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_PLUS);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
jjtn005.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_MINUS:{
ASTCircledMinusOp jjtn006 = new ASTCircledMinusOp(JJTCIRCLEDMINUSOP);
boolean jjtc006 = true;
jjtree.openNodeScope(jjtn006);
jjtn006.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_MINUS);
} finally {
if (jjtc006) {
jjtree.closeNodeScope(jjtn006, true);
jjtn006.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_PLUS:{
ASTBoxedPlusOp jjtn007 = new ASTBoxedPlusOp(JJTBOXEDPLUSOP);
boolean jjtc007 = true;
jjtree.openNodeScope(jjtn007);
jjtn007.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_PLUS);
} finally {
if (jjtc007) {
jjtree.closeNodeScope(jjtn007, true);
jjtn007.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_MINUS:{
ASTBoxedMinusOp jjtn008 = new ASTBoxedMinusOp(JJTBOXEDMINUSOP);
boolean jjtc008 = true;
jjtree.openNodeScope(jjtn008);
jjtn008.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_MINUS);
} finally {
if (jjtc008) {
jjtree.closeNodeScope(jjtn008, true);
jjtn008.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[220] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void prod_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case AST:{
ASTAsteriskOp jjtn001 = new ASTAsteriskOp(JJTASTERISKOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AST);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case SLASH:{
ASTSlashOp jjtn002 = new ASTSlashOp(JJTSLASHOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(SLASH);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_DIV:{
ASTDivOp jjtn003 = new ASTDivOp(JJTDIVOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_DIV);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_MOD:{
ASTModOp jjtn004 = new ASTModOp(JJTMODOP);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_MOD);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
case TIMES:{
ASTTimesOp jjtn005 = new ASTTimesOp(JJTTIMESOP);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
jjtn005.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(TIMES);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
jjtn005.jjtSetLastToken(getToken(0));
}
}
break;
}
case PERCENT:{
ASTPercentOp jjtn006 = new ASTPercentOp(JJTPERCENTOP);
boolean jjtc006 = true;
jjtree.openNodeScope(jjtn006);
jjtn006.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(PERCENT);
} finally {
if (jjtc006) {
jjtree.closeNodeScope(jjtn006, true);
jjtn006.jjtSetLastToken(getToken(0));
}
}
break;
}
case AST_SLASH:{
ASTAsteriskSlashOp jjtn007 = new ASTAsteriskSlashOp(JJTASTERISKSLASHOP);
boolean jjtc007 = true;
jjtree.openNodeScope(jjtn007);
jjtn007.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AST_SLASH);
} finally {
if (jjtc007) {
jjtree.closeNodeScope(jjtn007, true);
jjtn007.jjtSetLastToken(getToken(0));
}
}
break;
}
case SLASH_AST:{
ASTSlashAsteriskOp jjtn008 = new ASTSlashAsteriskOp(JJTSLASHASTERISKOP);
boolean jjtc008 = true;
jjtree.openNodeScope(jjtn008);
jjtn008.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(SLASH_AST);
} finally {
if (jjtc008) {
jjtree.closeNodeScope(jjtn008, true);
jjtn008.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_AST:{
ASTCircledAateriskOp jjtn009 = new ASTCircledAateriskOp(JJTCIRCLEDAATERISKOP);
boolean jjtc009 = true;
jjtree.openNodeScope(jjtn009);
jjtn009.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_AST);
} finally {
if (jjtc009) {
jjtree.closeNodeScope(jjtn009, true);
jjtn009.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_SLASH:{
ASTCircledSlashOp jjtn010 = new ASTCircledSlashOp(JJTCIRCLEDSLASHOP);
boolean jjtc010 = true;
jjtree.openNodeScope(jjtn010);
jjtn010.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_SLASH);
} finally {
if (jjtc010) {
jjtree.closeNodeScope(jjtn010, true);
jjtn010.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_TIMES:{
ASTCircledTimesOp jjtn011 = new ASTCircledTimesOp(JJTCIRCLEDTIMESOP);
boolean jjtc011 = true;
jjtree.openNodeScope(jjtn011);
jjtn011.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_TIMES);
} finally {
if (jjtc011) {
jjtree.closeNodeScope(jjtn011, true);
jjtn011.jjtSetLastToken(getToken(0));
}
}
break;
}
case CIRCLED_DOT:{
ASTCircledDotOp jjtn012 = new ASTCircledDotOp(JJTCIRCLEDDOTOP);
boolean jjtc012 = true;
jjtree.openNodeScope(jjtn012);
jjtn012.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CIRCLED_DOT);
} finally {
if (jjtc012) {
jjtree.closeNodeScope(jjtn012, true);
jjtn012.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_AST:{
ASTBoxedAsteriskOp jjtn013 = new ASTBoxedAsteriskOp(JJTBOXEDASTERISKOP);
boolean jjtc013 = true;
jjtree.openNodeScope(jjtn013);
jjtn013.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_AST);
} finally {
if (jjtc013) {
jjtree.closeNodeScope(jjtn013, true);
jjtn013.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_SLASH:{
ASTBoxedSlashOp jjtn014 = new ASTBoxedSlashOp(JJTBOXEDSLASHOP);
boolean jjtc014 = true;
jjtree.openNodeScope(jjtn014);
jjtn014.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_SLASH);
} finally {
if (jjtc014) {
jjtree.closeNodeScope(jjtn014, true);
jjtn014.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_TIMES:{
ASTBoxedTimesOp jjtn015 = new ASTBoxedTimesOp(JJTBOXEDTIMESOP);
boolean jjtc015 = true;
jjtree.openNodeScope(jjtn015);
jjtn015.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_TIMES);
} finally {
if (jjtc015) {
jjtree.closeNodeScope(jjtn015, true);
jjtn015.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_DOT:{
ASTBoxedDotOp jjtn016 = new ASTBoxedDotOp(JJTBOXEDDOTOP);
boolean jjtc016 = true;
jjtree.openNodeScope(jjtn016);
jjtn016.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_DOT);
} finally {
if (jjtc016) {
jjtree.closeNodeScope(jjtn016, true);
jjtn016.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_COLON:{
ASTBoxedColonOp jjtn017 = new ASTBoxedColonOp(JJTBOXEDCOLONOP);
boolean jjtc017 = true;
jjtree.openNodeScope(jjtn017);
jjtn017.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_COLON);
} finally {
if (jjtc017) {
jjtree.closeNodeScope(jjtn017, true);
jjtn017.jjtSetLastToken(getToken(0));
}
}
break;
}
case SLASH_SLASH:{
ASTSlashSlashOp jjtn018 = new ASTSlashSlashOp(JJTSLASHSLASHOP);
boolean jjtc018 = true;
jjtree.openNodeScope(jjtn018);
jjtn018.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(SLASH_SLASH);
} finally {
if (jjtc018) {
jjtree.closeNodeScope(jjtn018, true);
jjtn018.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[221] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void pow_op() throws ParseException {/*@bgen(jjtree) Operator */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case CARET:{
ASTCaretOp jjtn001 = new ASTCaretOp(JJTCARETOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CARET);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case AST_AST:{
ASTDoubleAsteriskOp jjtn002 = new ASTDoubleAsteriskOp(JJTDOUBLEASTERISKOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AST_AST);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_CARET:{
ASTBoxedCaretOp jjtn003 = new ASTBoxedCaretOp(JJTBOXEDCARETOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_CARET);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[222] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void tight_op() throws ParseException {/*@bgen(jjtree) #Operator(true) */
ASTOperator jjtn000 = new ASTOperator(JJTOPERATOR);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_NOT:{
ASTNotOp jjtn001 = new ASTNotOp(JJTNOTOP);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_NOT);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case LL:{
ASTDoubleLessThanOp jjtn002 = new ASTDoubleLessThanOp(JJTDOUBLELESSTHANOP);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LL);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
case GG:{
ASTDoubleGreaterThanOp jjtn003 = new ASTDoubleGreaterThanOp(JJTDOUBLEGREATERTHANOP);
boolean jjtc003 = true;
jjtree.openNodeScope(jjtn003);
jjtn003.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(GG);
} finally {
if (jjtc003) {
jjtree.closeNodeScope(jjtn003, true);
jjtn003.jjtSetLastToken(getToken(0));
}
}
break;
}
case LLL:{
ASTTripleLessThanOp jjtn004 = new ASTTripleLessThanOp(JJTTRIPLELESSTHANOP);
boolean jjtc004 = true;
jjtree.openNodeScope(jjtn004);
jjtn004.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(LLL);
} finally {
if (jjtc004) {
jjtree.closeNodeScope(jjtn004, true);
jjtn004.jjtSetLastToken(getToken(0));
}
}
break;
}
case GGG:{
ASTTripleGreaterThanOo jjtn005 = new ASTTripleGreaterThanOo(JJTTRIPLEGREATERTHANOO);
boolean jjtc005 = true;
jjtree.openNodeScope(jjtn005);
jjtn005.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(GGG);
} finally {
if (jjtc005) {
jjtree.closeNodeScope(jjtn005, true);
jjtn005.jjtSetLastToken(getToken(0));
}
}
break;
}
case EXCLAM:{
ASTExclamationOp jjtn006 = new ASTExclamationOp(JJTEXCLAMATIONOP);
boolean jjtc006 = true;
jjtree.openNodeScope(jjtn006);
jjtn006.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(EXCLAM);
} finally {
if (jjtc006) {
jjtree.closeNodeScope(jjtn006, true);
jjtn006.jjtSetLastToken(getToken(0));
}
}
break;
}
case EE:{
ASTDoubleExclamationOp jjtn007 = new ASTDoubleExclamationOp(JJTDOUBLEEXCLAMATIONOP);
boolean jjtc007 = true;
jjtree.openNodeScope(jjtn007);
jjtn007.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(EE);
} finally {
if (jjtc007) {
jjtree.closeNodeScope(jjtn007, true);
jjtn007.jjtSetLastToken(getToken(0));
}
}
break;
}
case QUEST:{
ASTQuestionOp jjtn008 = new ASTQuestionOp(JJTQUESTIONOP);
boolean jjtc008 = true;
jjtree.openNodeScope(jjtn008);
jjtn008.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(QUEST);
} finally {
if (jjtc008) {
jjtree.closeNodeScope(jjtn008, true);
jjtn008.jjtSetLastToken(getToken(0));
}
}
break;
}
case QQ:{
ASTDoubleQuestionOp jjtn009 = new ASTDoubleQuestionOp(JJTDOUBLEQUESTIONOP);
boolean jjtc009 = true;
jjtree.openNodeScope(jjtn009);
jjtn009.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(QQ);
} finally {
if (jjtc009) {
jjtree.closeNodeScope(jjtn009, true);
jjtn009.jjtSetLastToken(getToken(0));
}
}
break;
}
case QEX:{
ASTQuestionExclamationOp jjtn010 = new ASTQuestionExclamationOp(JJTQUESTIONEXCLAMATIONOP);
boolean jjtc010 = true;
jjtree.openNodeScope(jjtn010);
jjtn010.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(QEX);
} finally {
if (jjtc010) {
jjtree.closeNodeScope(jjtn010, true);
jjtn010.jjtSetLastToken(getToken(0));
}
}
break;
}
case EXQ:{
ASTExclamationQuestionOp jjtn011 = new ASTExclamationQuestionOp(JJTEXCLAMATIONQUESTIONOP);
boolean jjtc011 = true;
jjtree.openNodeScope(jjtn011);
jjtn011.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(EXQ);
} finally {
if (jjtc011) {
jjtree.closeNodeScope(jjtn011, true);
jjtn011.jjtSetLastToken(getToken(0));
}
}
break;
}
case BAR:{
ASTVerticalBarOp jjtn012 = new ASTVerticalBarOp(JJTVERTICALBAROP);
boolean jjtc012 = true;
jjtree.openNodeScope(jjtn012);
jjtn012.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BAR);
} finally {
if (jjtc012) {
jjtree.closeNodeScope(jjtn012, true);
jjtn012.jjtSetLastToken(getToken(0));
}
}
break;
}
case BAR_BAR:{
ASTDoubleVerticalBarOp jjtn013 = new ASTDoubleVerticalBarOp(JJTDOUBLEVERTICALBAROP);
boolean jjtc013 = true;
jjtree.openNodeScope(jjtn013);
jjtn013.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BAR_BAR);
} finally {
if (jjtc013) {
jjtree.closeNodeScope(jjtn013, true);
jjtn013.jjtSetLastToken(getToken(0));
}
}
break;
}
case AMP:{
ASTAmpersandOp jjtn014 = new ASTAmpersandOp(JJTAMPERSANDOP);
boolean jjtc014 = true;
jjtree.openNodeScope(jjtn014);
jjtn014.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AMP);
} finally {
if (jjtc014) {
jjtree.closeNodeScope(jjtn014, true);
jjtn014.jjtSetLastToken(getToken(0));
}
}
break;
}
case AMP_AMP:{
ASTDoubleAmpersandOp jjtn015 = new ASTDoubleAmpersandOp(JJTDOUBLEAMPERSANDOP);
boolean jjtc015 = true;
jjtree.openNodeScope(jjtn015);
jjtn015.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(AMP_AMP);
} finally {
if (jjtc015) {
jjtree.closeNodeScope(jjtn015, true);
jjtn015.jjtSetLastToken(getToken(0));
}
}
break;
}
case CARET_CARET:{
ASTDoubleCaretOp jjtn016 = new ASTDoubleCaretOp(JJTDOUBLECARETOP);
boolean jjtc016 = true;
jjtree.openNodeScope(jjtn016);
jjtn016.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(CARET_CARET);
} finally {
if (jjtc016) {
jjtree.closeNodeScope(jjtn016, true);
jjtn016.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_QUEST:{
ASTBoxedQuestionOp jjtn017 = new ASTBoxedQuestionOp(JJTBOXEDQUESTIONOP);
boolean jjtc017 = true;
jjtree.openNodeScope(jjtn017);
jjtn017.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_QUEST);
} finally {
if (jjtc017) {
jjtree.closeNodeScope(jjtn017, true);
jjtn017.jjtSetLastToken(getToken(0));
}
}
break;
}
case BOXED_QUOTE:{
ASTBoxedSingleQuoteOp jjtn018 = new ASTBoxedSingleQuoteOp(JJTBOXEDSINGLEQUOTEOP);
boolean jjtc018 = true;
jjtree.openNodeScope(jjtn018);
jjtn018.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(BOXED_QUOTE);
} finally {
if (jjtc018) {
jjtree.closeNodeScope(jjtn018, true);
jjtn018.jjtSetLastToken(getToken(0));
}
}
break;
}
case PLUS_MINUS:{
ASTPlusMinusOp jjtn019 = new ASTPlusMinusOp(JJTPLUSMINUSOP);
boolean jjtc019 = true;
jjtree.openNodeScope(jjtn019);
jjtn019.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(PLUS_MINUS);
} finally {
if (jjtc019) {
jjtree.closeNodeScope(jjtn019, true);
jjtn019.jjtSetLastToken(getToken(0));
}
}
break;
}
case MINUS_PLUS:{
ASTMinusPlusOp jjtn020 = new ASTMinusPlusOp(JJTMINUSPLUSOP);
boolean jjtc020 = true;
jjtree.openNodeScope(jjtn020);
jjtn020.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(MINUS_PLUS);
} finally {
if (jjtc020) {
jjtree.closeNodeScope(jjtn020, true);
jjtn020.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[223] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void sign() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case PLUS:{
jj_consume_token(PLUS);
break;
}
case MINUS:{
ASTMinus jjtn001 = new ASTMinus(JJTMINUS);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(MINUS);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[224] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void identifier() throws ParseException {/*@bgen(jjtree) Identifier */
ASTIdentifier jjtn000 = new ASTIdentifier(JJTIDENTIFIER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(IDENTIFIER);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void identifier_ref() throws ParseException {/*@bgen(jjtree) IdentifierRef */
ASTIdentifierRef jjtn000 = new ASTIdentifierRef(JJTIDENTIFIERREF);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(IDENTIFIER);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case ELLIPSIS:{
ASTEllipsis jjtn001 = new ASTEllipsis(JJTELLIPSIS);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(ELLIPSIS);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[225] = jj_gen;
;
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void nl() throws ParseException {
label_57:
while (true) {
jj_consume_token(NL);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
;
break;
}
default:
jj_la1[226] = jj_gen;
break label_57;
}
}
}
final public void decimal_literal() throws ParseException {/*@bgen(jjtree) IntegerDenotation */
ASTIntegerDenotation jjtn000 = new ASTIntegerDenotation(JJTINTEGERDENOTATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(DECIMAL_LITERAL);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void integer_denotation() throws ParseException {/*@bgen(jjtree) IntegerDenotation */
ASTIntegerDenotation jjtn000 = new ASTIntegerDenotation(JJTINTEGERDENOTATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case DECIMAL_LITERAL:{
jj_consume_token(DECIMAL_LITERAL);
break;
}
case RADIX_LITERAL:{
jj_consume_token(RADIX_LITERAL);
break;
}
default:
jj_la1[227] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
dimension();
break;
}
default:
jj_la1[228] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void real_denotation() throws ParseException {/*@bgen(jjtree) RealDenotation */
ASTRealDenotation jjtn000 = new ASTRealDenotation(JJTREALDENOTATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(REAL_LITERAL);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 6:{
dimension();
break;
}
default:
jj_la1[229] = jj_gen;
;
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
final public void bool_denotation() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case KW_TRUE:{
ASTTrueDenotation jjtn001 = new ASTTrueDenotation(JJTTRUEDENOTATION);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
jjtn001.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_TRUE);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
jjtn001.jjtSetLastToken(getToken(0));
}
}
break;
}
case KW_FALSE:{
ASTFalseDenotation jjtn002 = new ASTFalseDenotation(JJTFALSEDENOTATION);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
jjtn002.jjtSetFirstToken(getToken(1));
try {
jj_consume_token(KW_FALSE);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
jjtn002.jjtSetLastToken(getToken(0));
}
}
break;
}
default:
jj_la1[230] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
final public void text_denotation() throws ParseException {/*@bgen(jjtree) TextDenotation */
ASTTextDenotation jjtn000 = new ASTTextDenotation(JJTTEXTDENOTATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
jjtn000.jjtSetFirstToken(getToken(1));
try {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TEXT_LITERAL:{
jj_consume_token(TEXT_LITERAL);
break;
}
case TEXT_HEAD:{
jj_consume_token(TEXT_HEAD);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REPEAT:
case KW_SELECT:
case KW_TRUE:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
expression();
break;
}
default:
jj_la1[231] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[232] = jj_gen;
;
}
label_58:
while (true) {
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case TEXT_MID:{
;
break;
}
default:
jj_la1[233] = jj_gen;
break label_58;
}
jj_consume_token(TEXT_MID);
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case 4:
case 9:
case LARR:
case RARR:
case LRARR:
case STARSHIP:
case BAT:
case TILDE:
case SLASH:
case SLASH_SLASH:
case AST:
case CIRCLED_TIMES:
case CIRCLED_AST:
case CIRCLED_DOT:
case CIRCLED_SLASH:
case AST_AST:
case AST_SLASH:
case SLASH_AST:
case TIMES:
case PERCENT:
case BOXED_QUEST:
case BOXED_COLON:
case BOXED_QUOTE:
case BOXED_CARET:
case BOXED_LARR:
case BOXED_RARR:
case BOXED_SLASH:
case BOXED_PLUS:
case BOXED_MINUS:
case BOXED_TIMES:
case BOXED_DOT:
case BOXED_AST:
case PLUS:
case MINUS:
case PLUS_PLUS:
case MINUS_MINUS:
case PLUS_MINUS:
case MINUS_PLUS:
case CIRCLED_PLUS:
case CIRCLED_MINUS:
case CARET:
case LL:
case GG:
case LLL:
case EXCLAM:
case QUEST:
case QQ:
case EE:
case QEX:
case EXQ:
case GGG:
case BAR:
case AMP:
case BAR_BAR:
case AMP_AMP:
case CARET_CARET:
case KW_ACROSS:
case KW_AND:
case KW_CONCR:
case KW_CONTINUE:
case KW_DIV:
case KW_FALSE:
case KW_IF:
case KW_IMPLIES:
case KW_LEAVE:
case KW_MOD:
case KW_NOT:
case KW_OR:
case KW_REPEAT:
case KW_SELECT:
case KW_TRUE:
case KW_WHILE:
case KW_WITH:
case KW_XOR:
case IDENTIFIER:
case TEXT_LITERAL:
case TEXT_HEAD:
case DECIMAL_LITERAL:
case RADIX_LITERAL:
case REAL_LITERAL:{
expression();
break;
}
default:
jj_la1[234] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk_f():jj_ntk) {
case NL:{
nl();
break;
}
default:
jj_la1[235] = jj_gen;
;
}
}
jj_consume_token(TEXT_TAIL);
break;
}
default:
jj_la1[236] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
jjtn000.jjtSetLastToken(getToken(0));
}
}
}
private boolean jj_2_1(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_1()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(0, xla); }
}
private boolean jj_2_2(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_2()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(1, xla); }
}
private boolean jj_2_3(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_3()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(2, xla); }
}
private boolean jj_2_4(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_4()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(3, xla); }
}
private boolean jj_2_5(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_5()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(4, xla); }
}
private boolean jj_2_6(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_6()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(5, xla); }
}
private boolean jj_2_7(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_7()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(6, xla); }
}
private boolean jj_2_8(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_8()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(7, xla); }
}
private boolean jj_2_9(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_9()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(8, xla); }
}
private boolean jj_2_10(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_10()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(9, xla); }
}
private boolean jj_2_11(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_11()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(10, xla); }
}
private boolean jj_2_12(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_12()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(11, xla); }
}
private boolean jj_2_13(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_13()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(12, xla); }
}
private boolean jj_2_14(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_14()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(13, xla); }
}
private boolean jj_2_15(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_15()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(14, xla); }
}
private boolean jj_2_16(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_16()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(15, xla); }
}
private boolean jj_2_17(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_17()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(16, xla); }
}
private boolean jj_2_18(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_18()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(17, xla); }
}
private boolean jj_2_19(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_19()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(18, xla); }
}
private boolean jj_2_20(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_20()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(19, xla); }
}
private boolean jj_2_21(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_21()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(20, xla); }
}
private boolean jj_2_22(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_22()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(21, xla); }
}
private boolean jj_2_23(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_23()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(22, xla); }
}
private boolean jj_2_24(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_24()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(23, xla); }
}
private boolean jj_2_25(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_25()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(24, xla); }
}
private boolean jj_2_26(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_26()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(25, xla); }
}
private boolean jj_2_27(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_27()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(26, xla); }
}
private boolean jj_2_28(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_28()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(27, xla); }
}
private boolean jj_2_29(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_29()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(28, xla); }
}
private boolean jj_2_30(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_30()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(29, xla); }
}
private boolean jj_2_31(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_31()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(30, xla); }
}
private boolean jj_2_32(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_32()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(31, xla); }
}
private boolean jj_2_33(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_33()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(32, xla); }
}
private boolean jj_2_34(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_34()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(33, xla); }
}
private boolean jj_2_35(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_35()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(34, xla); }
}
private boolean jj_2_36(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_36()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(35, xla); }
}
private boolean jj_2_37(int xla)
{
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return (!jj_3_37()); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(36, xla); }
}
private boolean jj_3R_bool_denotation_1526_7_417()
{
if (jj_scan_token(KW_FALSE)) return true;
return false;
}
private boolean jj_3_14()
{
if (jj_3R_assignment_op_1328_5_71()) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_assignment_ex_758_5_232()
{
if (jj_3R_abstract_bin_ex_765_5_269()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_14()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_bool_denotation_1524_5_416()
{
if (jj_scan_token(KW_TRUE)) return true;
return false;
}
private boolean jj_3R_bool_denotation_1524_5_374()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_bool_denotation_1524_5_416()) {
jj_scanpos = xsp;
if (jj_3R_bool_denotation_1526_7_417()) return true;
}
return false;
}
private boolean jj_3R_expression_752_7_113()
{
if (jj_3R_repetition_1011_5_235()) return true;
return false;
}
private boolean jj_3R_expression_751_7_112()
{
if (jj_3R_continuator_1005_5_234()) return true;
return false;
}
private boolean jj_3R_expression_750_7_111()
{
if (jj_3R_terminator_998_5_233()) return true;
return false;
}
private boolean jj_3R_real_denotation_1518_5_372()
{
if (jj_scan_token(REAL_LITERAL)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_real_denotation_1518_21_487()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_expression_749_5_110()
{
if (jj_3R_assignment_ex_758_5_232()) return true;
return false;
}
private boolean jj_3R_expression_749_5_72()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_expression_749_5_110()) {
jj_scanpos = xsp;
if (jj_3R_expression_750_7_111()) {
jj_scanpos = xsp;
if (jj_3R_expression_751_7_112()) {
jj_scanpos = xsp;
if (jj_3R_expression_752_7_113()) return true;
}
}
}
return false;
}
private boolean jj_3R_integer_denotation_1512_6_486()
{
if (jj_3R_dimension_1246_5_432()) return true;
return false;
}
private boolean jj_3R_integer_denotation_1511_5_371()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(189)) {
jj_scanpos = xsp;
if (jj_scan_token(190)) return true;
}
xsp = jj_scanpos;
if (jj_3R_integer_denotation_1512_6_486()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_expression_statement_743_5_225()
{
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_decimal_literal_1505_5_97()
{
if (jj_scan_token(DECIMAL_LITERAL)) return true;
return false;
}
private boolean jj_3R_nl_1499_5_69()
{
Token xsp;
if (jj_scan_token(11)) return true;
while (true) {
xsp = jj_scanpos;
if (jj_scan_token(11)) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_identifier_ref_1494_6_208()
{
if (jj_scan_token(ELLIPSIS)) return true;
return false;
}
private boolean jj_3R_identifier_ref_1492_5_94()
{
if (jj_scan_token(IDENTIFIER)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_identifier_ref_1494_6_208()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_variant_723_6_471()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_variant_722_5_434()
{
if (jj_scan_token(KW_VARIANT)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_variant_723_6_471()) jj_scanpos = xsp;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_identifier_1486_5_104()
{
if (jj_scan_token(IDENTIFIER)) return true;
return false;
}
private boolean jj_3R_invariant_716_6_470()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_sign_1481_7_236()
{
if (jj_scan_token(MINUS)) return true;
return false;
}
private boolean jj_3R_invariant_715_5_433()
{
if (jj_scan_token(KW_INVARIANT)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_invariant_716_6_470()) jj_scanpos = xsp;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_sign_1479_5_182()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(66)) {
jj_scanpos = xsp;
if (jj_3R_sign_1481_7_236()) return true;
}
return false;
}
private boolean jj_3R_postcondition_709_6_469()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_tight_op_1474_7_203()
{
if (jj_scan_token(MINUS_PLUS)) return true;
return false;
}
private boolean jj_3R_postcondition_708_5_463()
{
if (jj_scan_token(KW_ENSURES)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_postcondition_709_6_469()) jj_scanpos = xsp;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_tight_op_1473_7_202()
{
if (jj_scan_token(PLUS_MINUS)) return true;
return false;
}
private boolean jj_3R_tight_op_1472_7_201()
{
if (jj_scan_token(BOXED_QUOTE)) return true;
return false;
}
private boolean jj_3R_tight_op_1471_7_200()
{
if (jj_scan_token(BOXED_QUEST)) return true;
return false;
}
private boolean jj_3R_tight_op_1470_7_199()
{
if (jj_scan_token(CARET_CARET)) return true;
return false;
}
private boolean jj_3R_tight_op_1469_7_198()
{
if (jj_scan_token(AMP_AMP)) return true;
return false;
}
private boolean jj_3R_precondition_702_6_468()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_tight_op_1468_7_197()
{
if (jj_scan_token(AMP)) return true;
return false;
}
private boolean jj_3R_tight_op_1467_7_196()
{
if (jj_scan_token(BAR_BAR)) return true;
return false;
}
private boolean jj_3R_precondition_701_5_462()
{
if (jj_scan_token(KW_REQUIRES)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_precondition_702_6_468()) jj_scanpos = xsp;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_tight_op_1466_7_195()
{
if (jj_scan_token(BAR)) return true;
return false;
}
private boolean jj_3R_tight_op_1465_7_194()
{
if (jj_scan_token(EXQ)) return true;
return false;
}
private boolean jj_3R_tight_op_1464_7_193()
{
if (jj_scan_token(QEX)) return true;
return false;
}
private boolean jj_3_13()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(160)) {
jj_scanpos = xsp;
if (jj_scan_token(99)) return true;
}
return false;
}
private boolean jj_3R_tight_op_1463_7_192()
{
if (jj_scan_token(QQ)) return true;
return false;
}
private boolean jj_3R_tight_op_1462_7_191()
{
if (jj_scan_token(QUEST)) return true;
return false;
}
private boolean jj_3R_assertion_695_6_477()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_tight_op_1461_7_190()
{
if (jj_scan_token(EE)) return true;
return false;
}
private boolean jj_3R_tight_op_1460_7_189()
{
if (jj_scan_token(EXCLAM)) return true;
return false;
}
private boolean jj_3R_assertion_694_5_223()
{
if (jj_scan_token(KW_CHECK)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_assertion_695_6_477()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_tight_op_1459_7_188()
{
if (jj_scan_token(GGG)) return true;
return false;
}
private boolean jj_3R_tight_op_1458_7_187()
{
if (jj_scan_token(LLL)) return true;
return false;
}
private boolean jj_3R_tight_op_1457_7_186()
{
if (jj_scan_token(GG)) return true;
return false;
}
private boolean jj_3R_tight_op_1456_7_185()
{
if (jj_scan_token(LL)) return true;
return false;
}
private boolean jj_3R_unit_688_7_107()
{
if (jj_3R_expression_statement_743_5_225()) return true;
return false;
}
private boolean jj_3R_unit_686_7_106()
{
if (jj_3R_object_decl_1126_5_224()) return true;
return false;
}
private boolean jj_3R_unit_685_7_105()
{
if (jj_3R_assertion_694_5_223()) return true;
return false;
}
private boolean jj_3R_unit_685_7_68()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_unit_685_7_105()) {
jj_scanpos = xsp;
if (jj_3R_unit_686_7_106()) {
jj_scanpos = xsp;
if (jj_3R_unit_688_7_107()) return true;
}
}
return false;
}
private boolean jj_3R_tight_op_1454_5_90()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_tight_op_1454_5_184()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1456_7_185()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1457_7_186()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1458_7_187()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1459_7_188()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1460_7_189()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1461_7_190()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1462_7_191()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1463_7_192()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1464_7_193()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1465_7_194()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1466_7_195()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1467_7_196()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1468_7_197()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1469_7_198()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1470_7_199()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1471_7_200()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1472_7_201()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1473_7_202()) {
jj_scanpos = xsp;
if (jj_3R_tight_op_1474_7_203()) return true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_tight_op_1454_5_184()
{
if (jj_scan_token(KW_NOT)) return true;
return false;
}
private boolean jj_3R_pow_op_1449_7_181()
{
if (jj_scan_token(BOXED_CARET)) return true;
return false;
}
private boolean jj_3R_pow_op_1448_7_180()
{
if (jj_scan_token(AST_AST)) return true;
return false;
}
private boolean jj_3_12()
{
if (jj_3R_unit_685_7_68()) return true;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_paragraph_679_5_67()
{
Token xsp;
if (jj_3_12()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_12()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_pow_op_1446_5_87()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_pow_op_1446_5_179()) {
jj_scanpos = xsp;
if (jj_3R_pow_op_1448_7_180()) {
jj_scanpos = xsp;
if (jj_3R_pow_op_1449_7_181()) return true;
}
}
return false;
}
private boolean jj_3R_pow_op_1446_5_179()
{
if (jj_scan_token(CARET)) return true;
return false;
}
private boolean jj_3R_prod_op_1441_7_177()
{
if (jj_scan_token(SLASH_SLASH)) return true;
return false;
}
private boolean jj_3R_prod_op_1440_7_176()
{
if (jj_scan_token(BOXED_COLON)) return true;
return false;
}
private boolean jj_3_11()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_prod_op_1439_7_175()
{
if (jj_scan_token(BOXED_DOT)) return true;
return false;
}
private boolean jj_3R_prod_op_1438_7_174()
{
if (jj_scan_token(BOXED_TIMES)) return true;
return false;
}
private boolean jj_3R_refinement_672_5_66()
{
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_scan_token(2)) return true;
if (jj_3R_nl_1499_5_69()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_11()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_prod_op_1437_7_173()
{
if (jj_scan_token(BOXED_SLASH)) return true;
return false;
}
private boolean jj_3R_prod_op_1436_7_172()
{
if (jj_scan_token(BOXED_AST)) return true;
return false;
}
private boolean jj_3R_prod_op_1435_7_171()
{
if (jj_scan_token(CIRCLED_DOT)) return true;
return false;
}
private boolean jj_3R_prod_op_1434_7_170()
{
if (jj_scan_token(CIRCLED_TIMES)) return true;
return false;
}
private boolean jj_3R_prod_op_1433_7_169()
{
if (jj_scan_token(CIRCLED_SLASH)) return true;
return false;
}
private boolean jj_3R_top_down_part_666_6_443()
{
if (jj_3R_top_down_part_665_5_431()) return true;
return false;
}
private boolean jj_3R_prod_op_1432_7_168()
{
if (jj_scan_token(CIRCLED_AST)) return true;
return false;
}
private boolean jj_3R_prod_op_1431_7_167()
{
if (jj_scan_token(SLASH_AST)) return true;
return false;
}
private boolean jj_3R_top_down_part_665_5_431()
{
if (jj_3R_refinement_672_5_66()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_top_down_part_666_6_443()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_prod_op_1430_7_166()
{
if (jj_scan_token(AST_SLASH)) return true;
return false;
}
private boolean jj_3R_prod_op_1429_7_165()
{
if (jj_scan_token(PERCENT)) return true;
return false;
}
private boolean jj_3R_prod_op_1428_7_164()
{
if (jj_scan_token(TIMES)) return true;
return false;
}
private boolean jj_3R_prod_op_1427_7_163()
{
if (jj_scan_token(KW_MOD)) return true;
return false;
}
private boolean jj_3R_prod_op_1426_7_162()
{
if (jj_scan_token(KW_DIV)) return true;
return false;
}
private boolean jj_3_10()
{
if (jj_3R_refinement_672_5_66()) return true;
return false;
}
private boolean jj_3R_prod_op_1425_7_161()
{
if (jj_scan_token(SLASH)) return true;
return false;
}
private boolean jj_3R_prod_op_1423_5_160()
{
if (jj_scan_token(AST)) return true;
return false;
}
private boolean jj_3R_prod_op_1423_5_85()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_prod_op_1423_5_160()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1425_7_161()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1426_7_162()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1427_7_163()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1428_7_164()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1429_7_165()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1430_7_166()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1431_7_167()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1432_7_168()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1433_7_169()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1434_7_170()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1435_7_171()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1436_7_172()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1437_7_173()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1438_7_174()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1439_7_175()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1440_7_176()) {
jj_scanpos = xsp;
if (jj_3R_prod_op_1441_7_177()) return true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_procedure_body_652_6_407()
{
if (jj_3R_top_down_part_665_5_431()) return true;
return false;
}
private boolean jj_3R_arith_op_1418_7_158()
{
if (jj_scan_token(BOXED_MINUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1417_7_157()
{
if (jj_scan_token(BOXED_PLUS)) return true;
return false;
}
private boolean jj_3R_procedure_body_651_5_347()
{
if (jj_3R_paragraph_679_5_67()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_body_652_6_407()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_arith_op_1416_7_156()
{
if (jj_scan_token(CIRCLED_MINUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1415_7_155()
{
if (jj_scan_token(CIRCLED_PLUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1414_7_154()
{
if (jj_scan_token(MINUS_MINUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1413_7_153()
{
if (jj_scan_token(PLUS_PLUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1412_7_152()
{
if (jj_scan_token(MINUS)) return true;
return false;
}
private boolean jj_3R_unit_test_645_6_298()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_unit_test_644_6_297()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_TEST)) return true;
return false;
}
private boolean jj_3R_unit_test_643_6_296()
{
if (jj_3R_procedure_body_651_5_347()) return true;
return false;
}
private boolean jj_3R_arith_op_1410_5_151()
{
if (jj_scan_token(PLUS)) return true;
return false;
}
private boolean jj_3R_arith_op_1410_5_83()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_arith_op_1410_5_151()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1412_7_152()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1413_7_153()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1414_7_154()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1415_7_155()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1416_7_156()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1417_7_157()) {
jj_scanpos = xsp;
if (jj_3R_arith_op_1418_7_158()) return true;
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_unit_test_642_5_260()
{
if (jj_scan_token(KW_TEST)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_3R_nl_1499_5_69()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_unit_test_643_6_296()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_unit_test_644_6_297()) {
jj_scanpos = xsp;
if (jj_scan_token(116)) return true;
}
xsp = jj_scanpos;
if (jj_3R_unit_test_645_6_298()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_numeric_op_1405_7_149()
{
if (jj_scan_token(TILDE)) return true;
return false;
}
private boolean jj_3R_numeric_op_1404_7_148()
{
if (jj_scan_token(BAT)) return true;
return false;
}
private boolean jj_3R_local_decl_636_5_222()
{
if (jj_3R_unit_test_642_5_260()) return true;
return false;
}
private boolean jj_3R_numeric_op_1402_5_147()
{
if (jj_scan_token(STARSHIP)) return true;
return false;
}
private boolean jj_3R_numeric_op_1402_5_81()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_numeric_op_1402_5_147()) {
jj_scanpos = xsp;
if (jj_3R_numeric_op_1404_7_148()) {
jj_scanpos = xsp;
if (jj_3R_numeric_op_1405_7_149()) return true;
}
}
return false;
}
private boolean jj_3R_comp_op_1397_7_145()
{
if (jj_scan_token(CIRCLED_NE)) return true;
return false;
}
private boolean jj_3R_measure_decl_630_6_337()
{
if (jj_scan_token(EQ)) return true;
if (jj_3R_dim_expression_1252_5_398()) return true;
return false;
}
private boolean jj_3R_comp_op_1396_7_144()
{
if (jj_scan_token(CIRCLED_EQ)) return true;
return false;
}
private boolean jj_3R_comp_op_1395_7_143()
{
if (jj_scan_token(CIRCLED_GE)) return true;
return false;
}
private boolean jj_3R_comp_op_1394_7_142()
{
if (jj_scan_token(CIRCLED_LE)) return true;
return false;
}
private boolean jj_3R_measure_decl_628_5_292()
{
if (jj_scan_token(KW_MEASURE)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_measure_decl_630_6_337()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_comp_op_1393_7_141()
{
if (jj_scan_token(CIRCLED_GT)) return true;
return false;
}
private boolean jj_3R_comp_op_1392_7_140()
{
if (jj_scan_token(CIRCLED_LT)) return true;
return false;
}
private boolean jj_3R_comp_op_1391_7_139()
{
if (jj_scan_token(BOXED_NE)) return true;
return false;
}
private boolean jj_3R_comp_op_1390_7_138()
{
if (jj_scan_token(BOXED_EQ)) return true;
return false;
}
private boolean jj_3R_comp_op_1389_7_137()
{
if (jj_scan_token(BOXED_GE)) return true;
return false;
}
private boolean jj_3R_impl_protocol_622_6_406()
{
if (jj_3R_actual_parameter_list_930_5_281()) return true;
return false;
}
private boolean jj_3R_comp_op_1388_7_136()
{
if (jj_scan_token(BOXED_LE)) return true;
return false;
}
private boolean jj_3R_comp_op_1387_7_135()
{
if (jj_scan_token(BOXED_LT)) return true;
return false;
}
private boolean jj_3R_impl_protocol_621_5_345()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_impl_protocol_622_6_406()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_comp_op_1386_7_134()
{
if (jj_scan_token(BOXED_GT)) return true;
return false;
}
private boolean jj_3R_comp_op_1385_7_133()
{
if (jj_scan_token(NOT_IN)) return true;
return false;
}
private boolean jj_3R_comp_op_1384_7_132()
{
if (jj_scan_token(IN)) return true;
return false;
}
private boolean jj_3R_comp_op_1383_7_131()
{
if (jj_scan_token(KW_IN)) return true;
return false;
}
private boolean jj_3R_automatic_delegation_615_6_346()
{
if (jj_scan_token(1)) return true;
if (jj_3R_impl_protocol_621_5_345()) return true;
return false;
}
private boolean jj_3R_comp_op_1381_7_130()
{
if (jj_scan_token(NE)) return true;
return false;
}
private boolean jj_3_37()
{
if (jj_scan_token(KW_NOT)) return true;
if (jj_scan_token(KW_IN)) return true;
return false;
}
private boolean jj_3R_comp_op_1380_7_129()
{
if (jj_scan_token(EQ)) return true;
return false;
}
private boolean jj_3R_automatic_delegation_613_6_344()
{
if (jj_3R_formal_parameter_pack_441_4_394()) return true;
return false;
}
private boolean jj_3R_comp_op_1379_7_128()
{
if (jj_scan_token(GE)) return true;
return false;
}
private boolean jj_3R_comp_op_1378_7_127()
{
if (jj_scan_token(LE)) return true;
return false;
}
private boolean jj_3R_automatic_delegation_611_6_343()
{
if (jj_3R_formal_type_part_329_5_380()) return true;
return false;
}
private boolean jj_3R_comp_op_1377_7_126()
{
if (jj_scan_token(GT)) return true;
return false;
}
private boolean jj_3R_virtual_procedure_naming_cont_596_20_527()
{
if (jj_3R_virtual_procedure_naming_cont_595_5_492()) return true;
return false;
}
private boolean jj_3R_automatic_delegation_610_6_342()
{
if (jj_3R_formal_measure_part_419_5_405()) return true;
return false;
}
private boolean jj_3R_automatic_delegation_609_5_295()
{
if (jj_scan_token(KW_IMPL)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_automatic_delegation_610_6_342()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_automatic_delegation_611_6_343()) jj_scanpos = xsp;
if (jj_3R_identifier_ref_1492_5_94()) return true;
xsp = jj_scanpos;
if (jj_3R_automatic_delegation_613_6_344()) jj_scanpos = xsp;
if (jj_scan_token(KW_BY)) return true;
if (jj_3R_impl_protocol_621_5_345()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3R_automatic_delegation_615_6_346()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_comp_op_1375_5_125()
{
if (jj_scan_token(LT)) return true;
return false;
}
private boolean jj_3R_comp_op_1375_5_79()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_comp_op_1375_5_125()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1377_7_126()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1378_7_127()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1379_7_128()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1380_7_129()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1381_7_130()) {
jj_scanpos = xsp;
if (jj_3_37()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1383_7_131()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1384_7_132()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1385_7_133()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1386_7_134()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1387_7_135()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1388_7_136()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1389_7_137()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1390_7_138()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1391_7_139()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1392_7_140()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1393_7_141()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1394_7_142()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1395_7_143()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1396_7_144()) {
jj_scanpos = xsp;
if (jj_3R_comp_op_1397_7_145()) return true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_conjunct_op_1370_7_124()
{
if (jj_scan_token(KW_AND)) return true;
return false;
}
private boolean jj_3R_protocol_tail_603_6_404()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_protocol_tail_602_6_403()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_PROTOCOL)) return true;
return false;
}
private boolean jj_3R_protocol_tail_602_5_341()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_protocol_tail_602_6_403()) {
jj_scanpos = xsp;
if (jj_scan_token(113)) return true;
}
xsp = jj_scanpos;
if (jj_3R_protocol_tail_603_6_404()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_36()
{
if (jj_scan_token(KW_AND)) return true;
if (jj_scan_token(KW_THEN)) return true;
return false;
}
private boolean jj_3R_conjunct_op_1368_5_77()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_36()) {
jj_scanpos = xsp;
if (jj_3R_conjunct_op_1370_7_124()) return true;
}
return false;
}
private boolean jj_3R_disjunct_op_1363_7_122()
{
if (jj_scan_token(KW_IMPLIES)) return true;
return false;
}
private boolean jj_3R_virtual_procedure_naming_cont_596_6_510()
{
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_virtual_procedure_naming_cont_596_20_527()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_disjunct_op_1362_7_121()
{
if (jj_scan_token(KW_XOR)) return true;
return false;
}
private boolean jj_3R_disjunct_op_1361_7_120()
{
if (jj_scan_token(KW_OR)) return true;
return false;
}
private boolean jj_3R_virtual_procedure_naming_cont_595_5_492()
{
if (jj_3R_virtual_parameters_pack_475_5_377()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_virtual_procedure_naming_cont_596_6_510()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_35()
{
if (jj_scan_token(KW_OR)) return true;
if (jj_scan_token(KW_ELSE)) return true;
return false;
}
private boolean jj_3R_disjunct_op_1359_5_75()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_35()) {
jj_scanpos = xsp;
if (jj_3R_disjunct_op_1361_7_120()) {
jj_scanpos = xsp;
if (jj_3R_disjunct_op_1362_7_121()) {
jj_scanpos = xsp;
if (jj_3R_disjunct_op_1363_7_122()) return true;
}
}
}
return false;
}
private boolean jj_3R_virtual_procedure_naming_589_6_483()
{
if (jj_3R_virtual_procedure_naming_cont_595_5_492()) return true;
return false;
}
private boolean jj_3R_abstract_bin_op_1354_7_118()
{
if (jj_scan_token(LRARR)) return true;
return false;
}
private boolean jj_3R_virtual_procedure_naming_588_5_476()
{
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_virtual_procedure_naming_589_6_483()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_abstract_bin_op_1353_7_117()
{
if (jj_scan_token(BOXED_LARR)) return true;
return false;
}
private boolean jj_3R_abstract_bin_op_1352_7_116()
{
if (jj_scan_token(RARR)) return true;
return false;
}
private boolean jj_3R_abstract_bin_op_1351_7_115()
{
if (jj_scan_token(BOXED_RARR)) return true;
return false;
}
private boolean jj_3R_abstract_bin_op_1349_5_114()
{
if (jj_scan_token(LARR)) return true;
return false;
}
private boolean jj_3R_abstract_bin_op_1349_5_73()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_abstract_bin_op_1349_5_114()) {
jj_scanpos = xsp;
if (jj_3R_abstract_bin_op_1351_7_115()) {
jj_scanpos = xsp;
if (jj_3R_abstract_bin_op_1352_7_116()) {
jj_scanpos = xsp;
if (jj_3R_abstract_bin_op_1353_7_117()) {
jj_scanpos = xsp;
if (jj_3R_abstract_bin_op_1354_7_118()) return true;
}
}
}
}
return false;
}
private boolean jj_3R_signature_578_6_475()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1344_7_218()
{
if (jj_scan_token(9)) return true;
if (jj_scan_token(10)) return true;
return false;
}
private boolean jj_3R_signature_577_6_474()
{
if (jj_3R_pure_modifier_393_5_286()) return true;
return false;
}
private boolean jj_3R_signature_577_5_464()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_signature_577_6_474()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_signature_578_6_475()) jj_scanpos = xsp;
if (jj_scan_token(KW_PROC)) return true;
if (jj_3R_virtual_procedure_naming_588_5_476()) return true;
if (jj_scan_token(KW_OP)) return true;
if (jj_3R_operator_name_1320_5_393()) return true;
if (jj_3R_virtual_parameters_pack_475_5_377()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1342_7_217()
{
if (jj_3R_tight_op_1454_5_90()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1341_7_216()
{
if (jj_3R_pow_op_1446_5_87()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1340_7_215()
{
if (jj_3R_prod_op_1423_5_85()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1339_7_214()
{
if (jj_3R_arith_op_1410_5_83()) return true;
return false;
}
private boolean jj_3R_protocol_assertion_571_7_459()
{
if (jj_3R_signature_577_5_464()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1338_7_213()
{
if (jj_3R_numeric_op_1402_5_81()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1337_7_212()
{
if (jj_3R_conjunct_op_1368_5_77()) return true;
return false;
}
private boolean jj_3R_simple_operator_name_1336_7_211()
{
if (jj_3R_disjunct_op_1359_5_75()) return true;
return false;
}
private boolean jj_3R_protocol_assertion_570_5_458()
{
if (jj_3R_type_bounds_344_5_436()) return true;
return false;
}
private boolean jj_3R_protocol_assertion_570_5_442()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_protocol_assertion_570_5_458()) {
jj_scanpos = xsp;
if (jj_3R_protocol_assertion_571_7_459()) return true;
}
return false;
}
private boolean jj_3R_simple_operator_name_1335_5_98()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_simple_operator_name_1335_5_210()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1336_7_211()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1337_7_212()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1338_7_213()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1339_7_214()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1340_7_215()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1341_7_216()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1342_7_217()) {
jj_scanpos = xsp;
if (jj_3R_simple_operator_name_1344_7_218()) return true;
}
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_simple_operator_name_1335_5_210()
{
if (jj_3R_abstract_bin_op_1349_5_73()) return true;
return false;
}
private boolean jj_3R_protocol_body_564_6_429()
{
if (jj_3R_protocol_assertion_570_5_442()) return true;
return false;
}
private boolean jj_3R_protocol_body_564_5_402()
{
Token xsp;
if (jj_3R_protocol_body_564_6_429()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3R_protocol_body_564_6_429()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_34()
{
if (jj_3R_simple_operator_name_1335_5_98()) return true;
if (jj_scan_token(EQ)) return true;
return false;
}
private boolean jj_3R_assignment_op_1328_5_71()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_34()) {
jj_scanpos = xsp;
if (jj_scan_token(15)) return true;
}
return false;
}
private boolean jj_3R_protocol_head_558_6_401()
{
if (jj_3R_formal_type_part_329_5_380()) return true;
return false;
}
private boolean jj_3R_protocol_head_557_6_400()
{
if (jj_3R_formal_measure_part_419_5_405()) return true;
return false;
}
private boolean jj_3R_operator_name_1322_7_425()
{
if (jj_3R_comp_op_1375_5_79()) return true;
return false;
}
private boolean jj_3R_protocol_head_556_5_339()
{
if (jj_scan_token(KW_PROTOCOL)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_protocol_head_557_6_400()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_protocol_head_558_6_401()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_33()
{
if (jj_3R_simple_operator_name_1335_5_98()) return true;
return false;
}
private boolean jj_3R_operator_name_1320_5_393()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_32()) {
jj_scanpos = xsp;
if (jj_3_33()) {
jj_scanpos = xsp;
if (jj_3R_operator_name_1322_7_425()) return true;
}
}
return false;
}
private boolean jj_3_32()
{
if (jj_3R_assignment_op_1328_5_71()) return true;
return false;
}
private boolean jj_3R_protocol_decl_549_6_340()
{
if (jj_3R_protocol_body_564_5_402()) return true;
return false;
}
private boolean jj_3R_protocol_decl_548_5_294()
{
if (jj_3R_protocol_head_556_5_339()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_protocol_decl_549_6_340()) jj_scanpos = xsp;
if (jj_3R_protocol_tail_602_5_341()) return true;
return false;
}
private boolean jj_3R_type_synonym_542_5_399()
{
if (jj_scan_token(KW_LET)) return true;
if (jj_scan_token(KW_TYPE)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3_31()
{
if (jj_scan_token(SLASH)) return true;
if (jj_3R_decimal_literal_1505_5_97()) return true;
return false;
}
private boolean jj_3R_expression_synonym_536_5_65()
{
if (jj_scan_token(KW_LET)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_synonym_decl_530_7_338()
{
if (jj_3R_type_synonym_542_5_399()) return true;
return false;
}
private boolean jj_3_9()
{
if (jj_3R_expression_synonym_536_5_65()) return true;
return false;
}
private boolean jj_3R_synonym_decl_528_5_293()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_9()) {
jj_scanpos = xsp;
if (jj_3R_synonym_decl_530_7_338()) return true;
}
return false;
}
private boolean jj_3R_obsoletion_1280_20_219()
{
if (jj_3R_reason_1293_5_251()) return true;
return false;
}
private boolean jj_3R_reason_1293_5_251()
{
if (jj_scan_token(KW_BECAUSE)) return true;
if (jj_scan_token(DOCUMENTATION)) return true;
return false;
}
private boolean jj_3R_operator_tail_522_6_397()
{
if (jj_3R_operator_name_1320_5_393()) return true;
return false;
}
private boolean jj_3R_operator_tail_521_6_396()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_OP)) return true;
return false;
}
private boolean jj_3R_operator_tail_521_5_336()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_operator_tail_521_6_396()) {
jj_scanpos = xsp;
if (jj_scan_token(110)) return true;
}
xsp = jj_scanpos;
if (jj_3R_operator_tail_522_6_397()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_operator_head_515_6_395()
{
if (jj_3R_procedure_contracts_488_5_424()) return true;
return false;
}
private boolean jj_3R_obsoletion_1280_5_100()
{
if (jj_scan_token(KW_OBSOLETE)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_obsoletion_1280_20_219()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_operator_head_511_6_392()
{
if (jj_3R_formal_type_part_329_5_380()) return true;
return false;
}
private boolean jj_3R_operator_head_510_6_391()
{
if (jj_3R_formal_measure_part_419_5_405()) return true;
return false;
}
private boolean jj_3R_dim_factor_1267_15_455()
{
if (jj_3R_sign_1479_5_182()) return true;
return false;
}
private boolean jj_3R_dim_atom_1274_7_454()
{
if (jj_scan_token(4)) return true;
if (jj_3R_dim_expression_1252_5_398()) return true;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_operator_head_508_6_390()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_operator_head_507_6_389()
{
if (jj_3R_pure_modifier_393_5_286()) return true;
return false;
}
private boolean jj_3R_operator_head_507_5_334()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_operator_head_507_6_389()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_operator_head_508_6_390()) jj_scanpos = xsp;
if (jj_scan_token(KW_OP)) return true;
xsp = jj_scanpos;
if (jj_3R_operator_head_510_6_391()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_operator_head_511_6_392()) jj_scanpos = xsp;
if (jj_3R_operator_name_1320_5_393()) return true;
if (jj_3R_formal_parameter_pack_441_4_394()) return true;
if (jj_3R_nl_1499_5_69()) return true;
xsp = jj_scanpos;
if (jj_3R_operator_head_515_6_395()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_dim_atom_1273_5_453()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_dim_atom_1273_5_439()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_dim_atom_1273_5_453()) {
jj_scanpos = xsp;
if (jj_3R_dim_atom_1274_7_454()) return true;
}
return false;
}
private boolean jj_3R_dim_factor_1267_6_440()
{
if (jj_scan_token(CARET)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_dim_factor_1267_15_455()) jj_scanpos = xsp;
if (jj_3R_decimal_literal_1505_5_97()) return true;
xsp = jj_scanpos;
if (jj_3_31()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_operator_decl_500_6_335()
{
if (jj_3R_procedure_body_651_5_347()) return true;
return false;
}
private boolean jj_3R_dim_factor_1266_5_427()
{
if (jj_3R_dim_atom_1273_5_439()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_dim_factor_1267_6_440()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_operator_decl_499_5_291()
{
if (jj_3R_operator_head_507_5_334()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_operator_decl_500_6_335()) jj_scanpos = xsp;
if (jj_3R_operator_tail_521_5_336()) return true;
return false;
}
private boolean jj_3R_procedure_contracts_492_11_452()
{
if (jj_3R_variant_722_5_434()) return true;
return false;
}
private boolean jj_3R_procedure_contracts_491_11_451()
{
if (jj_3R_invariant_715_5_433()) return true;
return false;
}
private boolean jj_3R_dim_op_1261_7_457()
{
if (jj_scan_token(SLASH)) return true;
return false;
}
private boolean jj_3R_procedure_contracts_490_11_450()
{
if (jj_3R_postcondition_708_5_463()) return true;
return false;
}
private boolean jj_3R_procedure_contracts_489_9_449()
{
if (jj_3R_precondition_701_5_462()) return true;
return false;
}
private boolean jj_3R_procedure_contracts_489_9_438()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_contracts_489_9_449()) {
jj_scanpos = xsp;
if (jj_3R_procedure_contracts_490_11_450()) {
jj_scanpos = xsp;
if (jj_3R_procedure_contracts_491_11_451()) {
jj_scanpos = xsp;
if (jj_3R_procedure_contracts_492_11_452()) return true;
}
}
}
return false;
}
private boolean jj_3R_dim_op_1259_5_456()
{
if (jj_scan_token(AST)) return true;
return false;
}
private boolean jj_3R_dim_op_1259_5_441()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_dim_op_1259_5_456()) {
jj_scanpos = xsp;
if (jj_3R_dim_op_1261_7_457()) return true;
}
return false;
}
private boolean jj_3R_procedure_contracts_488_5_424()
{
Token xsp;
if (jj_3R_procedure_contracts_489_9_438()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3R_procedure_contracts_489_9_438()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_dim_expression_1253_6_428()
{
if (jj_3R_dim_op_1259_5_441()) return true;
if (jj_3R_dim_factor_1266_5_427()) return true;
return false;
}
private boolean jj_3R_dim_expression_1252_5_398()
{
if (jj_3R_dim_factor_1266_5_427()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_dim_expression_1253_6_428()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_bounds_1240_17_358()
{
if (jj_scan_token(RANGE)) return true;
if (jj_3R_arith_ex_802_5_82()) return true;
return false;
}
private boolean jj_3R_parameter_body_482_5_64()
{
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3R_parameter_head_461_26_284()
{
if (jj_3R_proc_param_469_5_285()) return true;
return false;
}
private boolean jj_3R_proc_param_469_16_323()
{
if (jj_3R_virtual_parameters_pack_475_5_377()) return true;
return false;
}
private boolean jj_3R_dimension_1246_5_432()
{
if (jj_scan_token(6)) return true;
if (jj_3R_dim_expression_1252_5_398()) return true;
if (jj_scan_token(7)) return true;
return false;
}
private boolean jj_3R_virtual_parameters_pack_476_6_465()
{
if (jj_scan_token(1)) return true;
if (jj_3R_parameter_head_460_5_209()) return true;
return false;
}
private boolean jj_3R_virtual_parameters_pack_475_5_377()
{
if (jj_scan_token(4)) return true;
if (jj_3R_parameter_head_460_5_209()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_virtual_parameters_pack_476_6_465()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_bounds_1240_5_310()
{
if (jj_3R_arith_ex_802_5_82()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_bounds_1240_17_358()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_proc_param_469_5_285()
{
if (jj_scan_token(KW_PROC)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_proc_param_469_16_323()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_void_type_1234_5_354()
{
if (jj_scan_token(KW_VOID)) return true;
return false;
}
private boolean jj_3R_parameter_head_463_7_250()
{
if (jj_3R_pure_modifier_393_5_286()) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
if (jj_3R_proc_param_469_5_285()) return true;
return false;
}
private boolean jj_3R_named_type_1228_8_355()
{
if (jj_scan_token(1)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_parameter_head_462_7_249()
{
if (jj_3R_proc_param_469_5_285()) return true;
return false;
}
private boolean jj_3R_parameter_head_461_6_283()
{
if (jj_3R_access_modifier_453_5_301()) return true;
return false;
}
private boolean jj_3R_named_type_1227_6_307()
{
if (jj_scan_token(4)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_named_type_1228_8_355()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_parameter_head_460_5_209()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_parameter_head_460_5_248()) {
jj_scanpos = xsp;
if (jj_3R_parameter_head_462_7_249()) {
jj_scanpos = xsp;
if (jj_3R_parameter_head_463_7_250()) return true;
}
}
return false;
}
private boolean jj_3R_parameter_head_460_5_248()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_parameter_head_461_6_283()) {
jj_scanpos = xsp;
if (jj_3R_parameter_head_461_26_284()) return true;
}
return false;
}
private boolean jj_3R_named_type_1226_5_264()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_named_type_1227_6_307()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_access_modifier_455_7_349()
{
if (jj_scan_token(KW_CONST)) return true;
return false;
}
private boolean jj_3R_bool_type_1220_5_353()
{
if (jj_scan_token(KW_BOOL)) return true;
return false;
}
private boolean jj_3R_access_modifier_453_5_348()
{
if (jj_scan_token(KW_VAR)) return true;
return false;
}
private boolean jj_3R_access_modifier_453_5_301()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_access_modifier_453_5_348()) {
jj_scanpos = xsp;
if (jj_3R_access_modifier_455_7_349()) return true;
}
return false;
}
private boolean jj_3R_real_type_1208_16_410()
{
if (jj_3R_dimension_1246_5_432()) return true;
return false;
}
private boolean jj_3R_procedure_naming_cont_435_20_461()
{
if (jj_3R_procedure_naming_cont_434_5_437()) return true;
return false;
}
private boolean jj_3_8()
{
if (jj_scan_token(1)) return true;
if (jj_3R_parameter_body_482_5_64()) return true;
return false;
}
private boolean jj_3R_text_type_1214_5_352()
{
if (jj_scan_token(KW_TEXT)) return true;
return false;
}
private boolean jj_3R_formal_parameter_pack_443_5_426()
{
if (jj_scan_token(1)) return true;
if (jj_3R_parameter_head_460_5_209()) return true;
if (jj_3R_parameter_body_482_5_64()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_8()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_enum_type_1176_39_357()
{
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3_7()
{
if (jj_scan_token(1)) return true;
if (jj_3R_parameter_body_482_5_64()) return true;
return false;
}
private boolean jj_3R_real_type_1208_5_351()
{
if (jj_scan_token(KW_REAL)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_real_type_1208_16_410()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_formal_parameter_pack_441_4_394()
{
if (jj_scan_token(4)) return true;
if (jj_3R_parameter_head_460_5_209()) return true;
if (jj_3R_parameter_body_482_5_64()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_7()) { jj_scanpos = xsp; break; }
}
while (true) {
xsp = jj_scanpos;
if (jj_3R_formal_parameter_pack_443_5_426()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_scan_token(13)) jj_scanpos = xsp;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_procedure_naming_cont_435_6_448()
{
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_naming_cont_435_20_461()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_int_type_1202_6_409()
{
if (jj_3R_dimension_1246_5_432()) return true;
return false;
}
private boolean jj_3R_int_type_1201_6_408()
{
if (jj_scan_token(4)) return true;
if (jj_3R_bounds_1240_5_310()) return true;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_procedure_naming_cont_434_5_437()
{
if (jj_3R_formal_parameter_pack_441_4_394()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_naming_cont_435_6_448()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_struct_type_1167_39_356()
{
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3R_int_type_1200_5_350()
{
if (jj_scan_token(KW_INT)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_int_type_1201_6_408()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_int_type_1202_6_409()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_procedure_naming_428_6_423()
{
if (jj_3R_procedure_naming_cont_434_5_437()) return true;
return false;
}
private boolean jj_3R_primitive_type_1194_7_306()
{
if (jj_3R_void_type_1234_5_354()) return true;
return false;
}
private boolean jj_3R_primitive_type_1193_7_305()
{
if (jj_3R_bool_type_1220_5_353()) return true;
return false;
}
private boolean jj_3R_procedure_naming_427_5_385()
{
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_naming_428_6_423()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_primitive_type_1192_7_304()
{
if (jj_3R_text_type_1214_5_352()) return true;
return false;
}
private boolean jj_3R_primitive_type_1191_7_303()
{
if (jj_3R_real_type_1208_5_351()) return true;
return false;
}
private boolean jj_3R_formal_measure_part_420_10_430()
{
if (jj_scan_token(1)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3R_primitive_type_1190_5_263()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_primitive_type_1190_5_302()) {
jj_scanpos = xsp;
if (jj_3R_primitive_type_1191_7_303()) {
jj_scanpos = xsp;
if (jj_3R_primitive_type_1192_7_304()) {
jj_scanpos = xsp;
if (jj_3R_primitive_type_1193_7_305()) {
jj_scanpos = xsp;
if (jj_3R_primitive_type_1194_7_306()) return true;
}
}
}
}
return false;
}
private boolean jj_3R_primitive_type_1190_5_302()
{
if (jj_3R_int_type_1200_5_350()) return true;
return false;
}
private boolean jj_3R_formal_measure_part_419_5_405()
{
if (jj_scan_token(6)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_formal_measure_part_420_10_430()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(7)) return true;
return false;
}
private boolean jj_3_30()
{
if (jj_3R_fields_1183_5_96()) return true;
return false;
}
private boolean jj_3R_fields_1183_5_96()
{
if (jj_3R_parameter_head_460_5_209()) return true;
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3R_procedure_tail_413_6_388()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_enum_type_1176_10_309()
{
if (jj_scan_token(1)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_30()) {
jj_scanpos = xsp;
if (jj_3R_enum_type_1176_39_357()) return true;
}
return false;
}
private boolean jj_3R_procedure_tail_412_6_387()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_PROC)) return true;
return false;
}
private boolean jj_3R_procedure_tail_412_5_333()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_tail_412_6_387()) {
jj_scanpos = xsp;
if (jj_scan_token(112)) return true;
}
xsp = jj_scanpos;
if (jj_3R_procedure_tail_413_6_388()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_29()
{
if (jj_3R_fields_1183_5_96()) return true;
return false;
}
private boolean jj_3R_procedure_head_406_6_386()
{
if (jj_3R_procedure_contracts_488_5_424()) return true;
return false;
}
private boolean jj_3R_enum_type_1174_5_266()
{
if (jj_scan_token(KW_ENUM)) return true;
if (jj_scan_token(4)) return true;
if (jj_3R_fields_1183_5_96()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_enum_type_1176_10_309()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_struct_type_1167_10_308()
{
if (jj_scan_token(1)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_29()) {
jj_scanpos = xsp;
if (jj_3R_struct_type_1167_39_356()) return true;
}
return false;
}
private boolean jj_3R_object_decl_1127_49_493()
{
if (jj_3R_initializer_1136_5_485()) return true;
return false;
}
private boolean jj_3R_procedure_head_403_6_384()
{
if (jj_3R_formal_type_part_329_5_380()) return true;
return false;
}
private boolean jj_3R_procedure_head_402_6_383()
{
if (jj_3R_formal_measure_part_419_5_405()) return true;
return false;
}
private boolean jj_3R_procedure_head_400_6_382()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_procedure_head_399_6_381()
{
if (jj_3R_pure_modifier_393_5_286()) return true;
return false;
}
private boolean jj_3R_procedure_head_399_5_331()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_head_399_6_381()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_head_400_6_382()) jj_scanpos = xsp;
if (jj_scan_token(KW_PROC)) return true;
xsp = jj_scanpos;
if (jj_3R_procedure_head_402_6_383()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_head_403_6_384()) jj_scanpos = xsp;
if (jj_3R_procedure_naming_427_5_385()) return true;
if (jj_3R_nl_1499_5_69()) return true;
xsp = jj_scanpos;
if (jj_3R_procedure_head_406_6_386()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_struct_type_1165_5_265()
{
if (jj_scan_token(KW_STRUCT)) return true;
if (jj_scan_token(4)) return true;
if (jj_3R_fields_1183_5_96()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_struct_type_1167_10_308()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_type_declarer_1143_24_231()
{
if (jj_scan_token(1)) return true;
if (jj_3R_index_type_1149_5_230()) return true;
return false;
}
private boolean jj_3R_cell_type_declarer_1159_7_229()
{
if (jj_3R_enum_type_1174_5_266()) return true;
return false;
}
private boolean jj_3R_pure_modifier_393_5_286()
{
if (jj_scan_token(KW_PURE)) return true;
return false;
}
private boolean jj_3R_cell_type_declarer_1158_7_228()
{
if (jj_3R_struct_type_1165_5_265()) return true;
return false;
}
private boolean jj_3R_cell_type_declarer_1157_7_227()
{
if (jj_3R_named_type_1226_5_264()) return true;
return false;
}
private boolean jj_3R_cell_type_declarer_1156_5_108()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_cell_type_declarer_1156_5_226()) {
jj_scanpos = xsp;
if (jj_3R_cell_type_declarer_1157_7_227()) {
jj_scanpos = xsp;
if (jj_3R_cell_type_declarer_1158_7_228()) {
jj_scanpos = xsp;
if (jj_3R_cell_type_declarer_1159_7_229()) return true;
}
}
}
return false;
}
private boolean jj_3R_cell_type_declarer_1156_5_226()
{
if (jj_3R_primitive_type_1190_5_263()) return true;
return false;
}
private boolean jj_3R_procedure_decl_386_6_332()
{
if (jj_3R_procedure_body_651_5_347()) return true;
return false;
}
private boolean jj_3R_procedure_decl_385_5_290()
{
if (jj_3R_procedure_head_399_5_331()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_procedure_decl_386_6_332()) jj_scanpos = xsp;
if (jj_3R_procedure_tail_412_5_333()) return true;
return false;
}
private boolean jj_3R_index_type_1150_7_268()
{
if (jj_3R_bounds_1240_5_310()) return true;
return false;
}
private boolean jj_3R_index_type_1149_5_230()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_index_type_1149_5_267()) {
jj_scanpos = xsp;
if (jj_3R_index_type_1150_7_268()) return true;
}
return false;
}
private boolean jj_3R_index_type_1149_5_267()
{
if (jj_scan_token(KW_OF)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_abstract_type_379_5_330()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_type_declarer_1143_6_109()
{
if (jj_scan_token(9)) return true;
if (jj_3R_index_type_1149_5_230()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_type_declarer_1143_24_231()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(10)) return true;
return false;
}
private boolean jj_3R_simple_type_bound_373_7_520()
{
if (jj_scan_token(1)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_type_declarer_1142_5_70()
{
if (jj_3R_cell_type_declarer_1156_5_108()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_type_declarer_1143_6_109()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_simple_type_bound_372_7_497()
{
if (jj_scan_token(4)) return true;
if (jj_3R_type_declarer_1142_5_70()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_simple_type_bound_373_7_520()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_simple_type_bound_371_6_489()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_simple_type_bound_372_7_497()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_simple_type_bound_370_4_488()
{
if (jj_scan_token(4)) return true;
if (jj_3R_type_bound_ex_350_5_447()) return true;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_initializer_1136_5_485()
{
if (jj_scan_token(8)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_simple_type_bound_370_4_478()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_simple_type_bound_370_4_488()) {
jj_scanpos = xsp;
if (jj_3R_simple_type_bound_371_6_489()) return true;
}
return false;
}
private boolean jj_3R_object_decl_1129_11_300()
{
if (jj_scan_token(KW_CONST)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_3R_initializer_1136_5_485()) return true;
return false;
}
private boolean jj_3R_conjunct_type_bound_364_6_479()
{
if (jj_scan_token(KW_AND)) return true;
if (jj_3R_simple_type_bound_370_4_478()) return true;
return false;
}
private boolean jj_3R_object_decl_1130_7_262()
{
if (jj_3R_access_modifier_453_5_301()) return true;
if (jj_3R_identifier_1486_5_104()) return true;
if (jj_3R_initializer_1136_5_485()) return true;
return false;
}
private boolean jj_3R_object_decl_1127_9_299()
{
if (jj_scan_token(KW_VAR)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_object_decl_1127_49_493()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_conjunct_type_bound_363_5_466()
{
if (jj_3R_simple_type_bound_370_4_478()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_conjunct_type_bound_364_6_479()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_object_decl_1126_5_224()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_object_decl_1126_5_261()) {
jj_scanpos = xsp;
if (jj_3R_object_decl_1130_7_262()) return true;
}
return false;
}
private boolean jj_3R_object_decl_1126_5_261()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_object_decl_1127_9_299()) {
jj_scanpos = xsp;
if (jj_3R_object_decl_1129_11_300()) return true;
}
return false;
}
private boolean jj_3R_disjunct_type_bound_357_6_467()
{
if (jj_scan_token(KW_OR)) return true;
if (jj_3R_conjunct_type_bound_363_5_466()) return true;
return false;
}
private boolean jj_3R_disjunct_type_bound_356_5_460()
{
if (jj_3R_conjunct_type_bound_363_5_466()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_disjunct_type_bound_357_6_467()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_loop_ref_1119_6_363()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(189)) jj_scanpos = xsp;
if (jj_scan_token(KW_OUTER)) return true;
return false;
}
private boolean jj_3R_loop_ref_1119_5_313()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_loop_ref_1119_6_363()) jj_scanpos = xsp;
if (jj_scan_token(KW_REPEAT)) return true;
return false;
}
private boolean jj_3R_type_bound_ex_350_5_447()
{
if (jj_3R_disjunct_type_bound_356_5_460()) return true;
return false;
}
private boolean jj_3R_unit_ref_1114_7_362()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_unit_ref_1113_7_361()
{
if (jj_scan_token(KW_OP)) return true;
return false;
}
private boolean jj_3R_unit_ref_1112_7_360()
{
if (jj_scan_token(KW_PROC)) return true;
return false;
}
private boolean jj_3R_type_bounds_344_5_436()
{
if (jj_scan_token(KW_HAVING)) return true;
if (jj_3R_type_bound_ex_350_5_447()) return true;
return false;
}
private boolean jj_3R_unit_ref_1110_5_359()
{
if (jj_3R_loop_ref_1119_5_313()) return true;
return false;
}
private boolean jj_3R_unit_ref_1110_5_312()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_unit_ref_1110_5_359()) {
jj_scanpos = xsp;
if (jj_3R_unit_ref_1112_7_360()) {
jj_scanpos = xsp;
if (jj_3R_unit_ref_1113_7_361()) {
jj_scanpos = xsp;
if (jj_3R_unit_ref_1114_7_362()) return true;
}
}
}
return false;
}
private boolean jj_3R_formal_type_param_338_5_420()
{
if (jj_3R_identifier_1486_5_104()) return true;
return false;
}
private boolean jj_3R_loop_variant_1104_5_412()
{
if (jj_3R_variant_722_5_434()) return true;
return false;
}
private boolean jj_3R_formal_type_part_331_6_422()
{
if (jj_3R_type_bounds_344_5_436()) return true;
return false;
}
private boolean jj_3R_formal_type_part_330_6_421()
{
if (jj_scan_token(1)) return true;
if (jj_3R_formal_type_param_338_5_420()) return true;
return false;
}
private boolean jj_3R_loop_invariant_1098_5_411()
{
if (jj_3R_invariant_715_5_433()) return true;
return false;
}
private boolean jj_3R_formal_type_part_329_5_380()
{
if (jj_scan_token(4)) return true;
if (jj_3R_formal_type_param_338_5_420()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_formal_type_part_330_6_421()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_3R_formal_type_part_331_6_422()) jj_scanpos = xsp;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_decl_modifiers_289_44_379()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_no_clause_1092_5_525()
{
if (jj_scan_token(KW_NO)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_decl_modifiers_288_42_378()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_abstract_type_decl_322_6_329()
{
if (jj_3R_formal_type_part_329_5_380()) return true;
return false;
}
private boolean jj_3R_abstract_type_decl_321_5_289()
{
if (jj_scan_token(KW_TYPE)) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_abstract_type_decl_322_6_329()) jj_scanpos = xsp;
if (jj_scan_token(EQ)) return true;
if (jj_3R_abstract_type_379_5_330()) return true;
return false;
}
private boolean jj_3R_not_all_clause_1086_5_526()
{
if (jj_scan_token(KW_NOT)) return true;
if (jj_scan_token(KW_ALL)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_exportable_decl_315_6_259()
{
if (jj_3R_automatic_delegation_609_5_295()) return true;
return false;
}
private boolean jj_3R_exportable_decl_314_6_258()
{
if (jj_3R_protocol_decl_548_5_294()) return true;
return false;
}
private boolean jj_3R_exportable_decl_313_6_257()
{
if (jj_3R_synonym_decl_528_5_293()) return true;
return false;
}
private boolean jj_3R_all_clause_1080_5_524()
{
if (jj_scan_token(KW_ALL)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_null_309_9_63()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_exportable_decl_312_6_256()
{
if (jj_3R_measure_decl_628_5_292()) return true;
return false;
}
private boolean jj_3R_default_branch_1068_16_509()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_decl_modifiers_289_28_328()
{
if (jj_3R_pub_modifier_295_5_324()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_289_44_379()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_decl_modifiers_288_28_326()
{
if (jj_3R_obsoletion_1280_5_100()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_288_42_378()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_6()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(146)) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_null_309_9_63()) jj_scanpos = xsp;
if (jj_scan_token(KW_OP)) return true;
return false;
}
private boolean jj_3R_null_304_9_62()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_exportable_decl_307_6_255()
{
if (jj_3R_operator_decl_499_5_291()) return true;
return false;
}
private boolean jj_3R_some_clause_1074_5_523()
{
if (jj_scan_token(KW_SOME)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3_5()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(146)) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_null_304_9_62()) jj_scanpos = xsp;
if (jj_scan_token(KW_PROC)) return true;
return false;
}
private boolean jj_3R_decl_modifiers_289_21_327()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_decl_modifiers_288_21_325()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_exportable_decl_302_6_254()
{
if (jj_3R_procedure_decl_385_5_290()) return true;
return false;
}
private boolean jj_3R_default_branch_1068_5_414()
{
if (jj_scan_token(KW_ELSE)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_default_branch_1068_16_509()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_exportable_decl_301_4_221()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_exportable_decl_301_4_253()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_302_6_254()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_307_6_255()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_312_6_256()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_313_6_257()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_314_6_258()) {
jj_scanpos = xsp;
if (jj_3R_exportable_decl_315_6_259()) return true;
}
}
}
}
}
}
return false;
}
private boolean jj_3R_exportable_decl_301_4_253()
{
if (jj_3R_abstract_type_decl_321_5_289()) return true;
return false;
}
private boolean jj_3R_until_clause_1062_5_413()
{
if (jj_scan_token(KW_UNTIL)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_pub_modifier_295_5_324()
{
if (jj_scan_token(KW_PUBLIC)) return true;
return false;
}
private boolean jj_3R_decl_modifiers_289_7_288()
{
if (jj_3R_obsoletion_1280_5_100()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_289_21_327()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_289_28_328()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_repeat_clause_1056_6_370()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_REPEAT)) return true;
return false;
}
private boolean jj_3R_repeat_clause_1055_6_369()
{
if (jj_3R_default_branch_1068_5_414()) return true;
return false;
}
private boolean jj_3R_repeat_clause_1054_6_368()
{
if (jj_3R_until_clause_1062_5_413()) return true;
return false;
}
private boolean jj_3R_decl_modifiers_288_5_252()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_288_5_287()) {
jj_scanpos = xsp;
if (jj_3R_decl_modifiers_289_7_288()) return true;
}
return false;
}
private boolean jj_3R_decl_modifiers_288_5_287()
{
if (jj_3R_pub_modifier_295_5_324()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_288_21_325()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_decl_modifiers_288_28_326()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_repeat_clause_1053_6_367()
{
if (jj_3R_loop_variant_1104_5_412()) return true;
return false;
}
private boolean jj_3R_repeat_clause_1052_6_366()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_repeat_clause_1051_6_365()
{
if (jj_3R_loop_invariant_1098_5_411()) return true;
return false;
}
private boolean jj_3R_bottom_up_decl_282_7_103()
{
if (jj_3R_local_decl_636_5_222()) return true;
return false;
}
private boolean jj_3_4()
{
if (jj_3R_bottom_up_decl_280_5_61()) return true;
return false;
}
private boolean jj_3R_repeat_clause_1050_5_316()
{
if (jj_scan_token(KW_REPEAT)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1051_6_365()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1052_6_366()) jj_scanpos = xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1053_6_367()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1054_6_368()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1055_6_369()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_repeat_clause_1056_6_370()) {
jj_scanpos = xsp;
if (jj_scan_token(114)) return true;
}
return false;
}
private boolean jj_3R_bottom_up_decl_280_6_220()
{
if (jj_3R_decl_modifiers_288_5_252()) return true;
return false;
}
private boolean jj_3R_bottom_up_decl_280_5_102()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_bottom_up_decl_280_6_220()) jj_scanpos = xsp;
if (jj_3R_exportable_decl_301_4_221()) return true;
return false;
}
private boolean jj_3R_bottom_up_decl_280_5_61()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_bottom_up_decl_280_5_102()) {
jj_scanpos = xsp;
if (jj_3R_bottom_up_decl_282_7_103()) return true;
}
return false;
}
private boolean jj_3R_quantifier_clause_1044_7_508()
{
if (jj_3R_not_all_clause_1086_5_526()) return true;
return false;
}
private boolean jj_3R_quantifier_clause_1043_7_507()
{
if (jj_3R_no_clause_1092_5_525()) return true;
return false;
}
private boolean jj_3R_quantifier_clause_1042_7_506()
{
if (jj_3R_all_clause_1080_5_524()) return true;
return false;
}
private boolean jj_3R_quantifier_clause_1041_5_505()
{
if (jj_3R_some_clause_1074_5_523()) return true;
return false;
}
private boolean jj_3R_quantifier_clause_1041_5_491()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_quantifier_clause_1041_5_505()) {
jj_scanpos = xsp;
if (jj_3R_quantifier_clause_1042_7_506()) {
jj_scanpos = xsp;
if (jj_3R_quantifier_clause_1043_7_507()) {
jj_scanpos = xsp;
if (jj_3R_quantifier_clause_1044_7_508()) return true;
}
}
}
return false;
}
private boolean jj_3R_bottom_up_part_273_6_99()
{
if (jj_3R_bottom_up_decl_280_5_61()) return true;
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_bottom_up_part_273_5_59()
{
Token xsp;
if (jj_3R_bottom_up_part_273_6_99()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3R_bottom_up_part_273_6_99()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_repetition_body_1035_7_482()
{
if (jj_3R_quantifier_clause_1041_5_491()) return true;
return false;
}
private boolean jj_3R_repetition_body_1034_5_481()
{
if (jj_3R_repeat_clause_1050_5_316()) return true;
return false;
}
private boolean jj_3R_repetition_body_1034_5_473()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_repetition_body_1034_5_481()) {
jj_scanpos = xsp;
if (jj_3R_repetition_body_1035_7_482()) return true;
}
return false;
}
private boolean jj_3R_while_clause_1028_5_364()
{
if (jj_scan_token(KW_WHILE)) return true;
if (jj_3R_abstract_bin_ex_765_5_269()) return true;
return false;
}
private boolean jj_3R_across_clause_1022_6_480()
{
if (jj_scan_token(KW_AS)) return true;
if (jj_3R_pattern_904_5_490()) return true;
return false;
}
private boolean jj_3R_across_clause_1021_5_314()
{
if (jj_scan_token(KW_ACROSS)) return true;
if (jj_3R_abstract_bin_ex_765_5_269()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_across_clause_1022_6_480()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_continuator_1005_20_272()
{
if (jj_3R_loop_ref_1119_5_313()) return true;
return false;
}
private boolean jj_3R_repetition_1014_8_315()
{
if (jj_3R_while_clause_1028_5_364()) return true;
return false;
}
private boolean jj_3R_repetition_1014_7_274()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_repetition_1014_8_315()) jj_scanpos = xsp;
if (jj_3R_repeat_clause_1050_5_316()) return true;
return false;
}
private boolean jj_3R_repetition_1012_6_472()
{
if (jj_3R_while_clause_1028_5_364()) return true;
return false;
}
private boolean jj_3R_repetition_1011_5_235()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_repetition_1011_5_273()) {
jj_scanpos = xsp;
if (jj_3R_repetition_1014_7_274()) return true;
}
return false;
}
private boolean jj_3R_repetition_1011_5_273()
{
if (jj_3R_across_clause_1021_5_314()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_repetition_1012_6_472()) jj_scanpos = xsp;
if (jj_3R_repetition_body_1034_5_473()) return true;
return false;
}
private boolean jj_3R_terminator_998_17_270()
{
if (jj_3R_unit_ref_1110_5_312()) return true;
return false;
}
private boolean jj_3R_continuator_1005_5_234()
{
if (jj_scan_token(KW_CONTINUE)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_continuator_1005_20_272()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_terminator_999_6_271()
{
if (jj_scan_token(KW_WITH)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_terminator_998_5_233()
{
if (jj_scan_token(KW_LEAVE)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_terminator_998_17_270()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_terminator_999_6_271()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_subscript_992_5_247()
{
if (jj_3R_display_964_5_280()) return true;
return false;
}
private boolean jj_3R_invocation_986_6_282()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_invocation_985_5_246()
{
if (jj_3R_actual_parameter_list_930_5_281()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_invocation_986_6_282()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_with_statement_956_30_518()
{
if (jj_scan_token(KW_AS)) return true;
if (jj_3R_patterns_897_5_530()) return true;
return false;
}
private boolean jj_3R_selector_979_5_245()
{
if (jj_scan_token(3)) return true;
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_ex_suffix_973_7_207()
{
if (jj_3R_subscript_992_5_247()) return true;
return false;
}
private boolean jj_3R_with_statement_958_21_519()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_WITH)) return true;
return false;
}
private boolean jj_3R_ex_suffix_972_7_206()
{
if (jj_3R_invocation_985_5_246()) return true;
return false;
}
private boolean jj_3R_ex_suffix_971_5_92()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_ex_suffix_971_5_205()) {
jj_scanpos = xsp;
if (jj_3R_ex_suffix_972_7_206()) {
jj_scanpos = xsp;
if (jj_3R_ex_suffix_973_7_207()) return true;
}
}
return false;
}
private boolean jj_3R_ex_suffix_971_5_205()
{
if (jj_3R_selector_979_5_245()) return true;
return false;
}
private boolean jj_3R_display_965_6_322()
{
if (jj_scan_token(1)) return true;
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_display_964_5_280()
{
if (jj_scan_token(9)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_display_965_6_322()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(10)) return true;
return false;
}
private boolean jj_3R_actual_proc_parameter_948_20_446()
{
if (jj_3R_virtual_parameters_pack_475_5_377()) return true;
return false;
}
private boolean jj_3R_actual_proc_parameter_949_18_484()
{
if (jj_3R_virtual_parameters_pack_475_5_377()) return true;
return false;
}
private boolean jj_3R_with_statement_956_5_279()
{
if (jj_scan_token(KW_WITH)) return true;
if (jj_3R_expression_749_5_72()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_with_statement_956_30_518()) jj_scanpos = xsp;
if (jj_scan_token(KW_DO)) return true;
if (jj_3R_paragraph_679_5_67()) return true;
xsp = jj_scanpos;
if (jj_scan_token(117)) {
jj_scanpos = xsp;
if (jj_3R_with_statement_958_21_519()) return true;
}
return false;
}
private boolean jj_3R_null_937_16_95()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_actual_proc_parameter_946_6_445()
{
if (jj_3R_pure_modifier_393_5_286()) return true;
return false;
}
private boolean jj_3_28()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_null_937_16_95()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(146)) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_scan_token(143)) {
jj_scanpos = xsp;
if (jj_scan_token(138)) return true;
}
return false;
}
private boolean jj_3R_actual_proc_parameter_945_6_444()
{
if (jj_3R_type_declarer_1142_5_70()) return true;
return false;
}
private boolean jj_3R_actual_proc_parameter_945_5_435()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_actual_proc_parameter_945_6_444()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_actual_proc_parameter_946_6_445()) jj_scanpos = xsp;
if (jj_scan_token(KW_PROC)) return true;
xsp = jj_scanpos;
if (jj_3R_actual_proc_parameter_948_20_446()) jj_scanpos = xsp;
if (jj_3R_identifier_ref_1492_5_94()) return true;
if (jj_scan_token(KW_OP)) return true;
xsp = jj_scanpos;
if (jj_3R_actual_proc_parameter_949_18_484()) jj_scanpos = xsp;
if (jj_3R_operator_name_1320_5_393()) return true;
return false;
}
private boolean jj_3R_actual_parameter_939_7_419()
{
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_pattern_display_924_21_536()
{
if (jj_scan_token(1)) return true;
if (jj_3R_pattern_904_5_490()) return true;
return false;
}
private boolean jj_3R_actual_parameter_937_5_418()
{
if (jj_3R_actual_proc_parameter_945_5_435()) return true;
return false;
}
private boolean jj_3R_actual_parameter_937_5_375()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_actual_parameter_937_5_418()) {
jj_scanpos = xsp;
if (jj_3R_actual_parameter_939_7_419()) return true;
}
return false;
}
private boolean jj_3R_actual_parameter_list_930_10_321()
{
if (jj_3R_actual_parameter_937_5_375()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_actual_parameter_list_931_6_376()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_actual_parameter_list_931_6_376()
{
if (jj_scan_token(1)) return true;
if (jj_3R_actual_parameter_937_5_375()) return true;
return false;
}
private boolean jj_3R_actual_parameter_list_930_5_281()
{
if (jj_scan_token(4)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_actual_parameter_list_930_10_321()) jj_scanpos = xsp;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_pattern_display_924_10_531()
{
if (jj_3R_pattern_904_5_490()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_pattern_display_924_21_536()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_pattern_display_924_5_521()
{
if (jj_scan_token(9)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_pattern_display_924_10_531()) jj_scanpos = xsp;
if (jj_scan_token(10)) return true;
return false;
}
private boolean jj_3R_pattern_binder_918_6_532()
{
if (jj_scan_token(8)) return true;
if (jj_3R_pattern_904_5_490()) return true;
return false;
}
private boolean jj_3R_pattern_binder_917_5_522()
{
if (jj_3R_parameter_head_460_5_209()) return true;
if (jj_3R_identifier_1486_5_104()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_pattern_binder_918_6_532()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_pattern_911_7_504()
{
if (jj_scan_token(4)) return true;
if (jj_3R_pattern_904_5_490()) return true;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_patterns_898_19_538()
{
if (jj_scan_token(1)) return true;
if (jj_3R_selector_979_5_245()) return true;
return false;
}
private boolean jj_3R_pattern_910_7_503()
{
if (jj_3R_pattern_binder_917_5_522()) return true;
return false;
}
private boolean jj_3R_pattern_909_7_502()
{
if (jj_3R_pattern_display_924_5_521()) return true;
return false;
}
private boolean jj_3R_pattern_908_7_501()
{
if (jj_3R_bool_denotation_1524_5_374()) return true;
return false;
}
private boolean jj_3R_conditional_choice_873_41_528()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_pattern_907_7_500()
{
if (jj_3R_text_denotation_1531_5_373()) return true;
return false;
}
private boolean jj_3R_patterns_897_16_537()
{
if (jj_scan_token(1)) return true;
if (jj_3R_pattern_904_5_490()) return true;
return false;
}
private boolean jj_3R_pattern_906_7_499()
{
if (jj_3R_real_denotation_1518_5_372()) return true;
return false;
}
private boolean jj_3R_pattern_905_7_498()
{
if (jj_3R_integer_denotation_1511_5_371()) return true;
return false;
}
private boolean jj_3R_pattern_904_5_490()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3_27()) {
jj_scanpos = xsp;
if (jj_3R_pattern_905_7_498()) {
jj_scanpos = xsp;
if (jj_3R_pattern_906_7_499()) {
jj_scanpos = xsp;
if (jj_3R_pattern_907_7_500()) {
jj_scanpos = xsp;
if (jj_3R_pattern_908_7_501()) {
jj_scanpos = xsp;
if (jj_3R_pattern_909_7_502()) {
jj_scanpos = xsp;
if (jj_3R_pattern_910_7_503()) {
jj_scanpos = xsp;
if (jj_3R_pattern_911_7_504()) return true;
}
}
}
}
}
}
}
return false;
}
private boolean jj_3_27()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3R_patterns_898_7_535()
{
if (jj_3R_selector_979_5_245()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_patterns_898_19_538()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_patterns_897_5_534()
{
if (jj_3R_pattern_904_5_490()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_patterns_897_16_537()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_patterns_897_5_530()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_patterns_897_5_534()) {
jj_scanpos = xsp;
if (jj_3R_patterns_898_7_535()) return true;
}
return false;
}
private boolean jj_3R_case_branch_891_6_533()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_case_branch_890_5_529()
{
if (jj_scan_token(KW_CASE)) return true;
if (jj_3R_patterns_897_5_530()) return true;
if (jj_scan_token(KW_THEN)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_case_branch_891_6_533()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_pattern_matching_884_9_516()
{
if (jj_scan_token(KW_OTHERWISE)) return true;
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_pattern_matching_882_9_515()
{
if (jj_3R_case_branch_890_5_529()) return true;
return false;
}
private boolean jj_3R_pattern_matching_884_6_517()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_SELECT)) return true;
return false;
}
private boolean jj_3R_pattern_matching_881_5_278()
{
if (jj_scan_token(KW_SELECT)) return true;
if (jj_3R_expression_749_5_72()) return true;
if (jj_scan_token(KW_OF)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_pattern_matching_882_9_515()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_3R_pattern_matching_884_9_516()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_pattern_matching_884_6_517()) {
jj_scanpos = xsp;
if (jj_scan_token(115)) return true;
}
return false;
}
private boolean jj_3R_conditional_choice_875_6_514()
{
if (jj_scan_token(KW_END)) return true;
if (jj_scan_token(KW_IF)) return true;
return false;
}
private boolean jj_3R_conditional_choice_874_6_513()
{
if (jj_3R_default_branch_1068_5_414()) return true;
return false;
}
private boolean jj_3R_conditional_choice_874_6_512()
{
if (jj_scan_token(KW_ELIF)) return true;
if (jj_3R_expression_749_5_72()) return true;
if (jj_scan_token(KW_THEN)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_conditional_choice_873_41_528()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_conditional_choice_872_6_511()
{
if (jj_3R_paragraph_679_5_67()) return true;
return false;
}
private boolean jj_3R_conditional_choice_871_5_277()
{
if (jj_scan_token(KW_IF)) return true;
if (jj_3R_expression_749_5_72()) return true;
if (jj_scan_token(KW_THEN)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_conditional_choice_872_6_511()) jj_scanpos = xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_conditional_choice_874_6_512()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_3R_conditional_choice_874_6_513()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_conditional_choice_875_6_514()) {
jj_scanpos = xsp;
if (jj_scan_token(109)) return true;
}
return false;
}
private boolean jj_3R_abstractor_865_5_93()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
if (jj_scan_token(2)) return true;
if (jj_3R_atomic_ex_836_5_204()) return true;
return false;
}
private boolean jj_3R_concretizer_859_5_276()
{
if (jj_scan_token(KW_CONCR)) return true;
if (jj_3R_atomic_ex_836_5_204()) return true;
return false;
}
private boolean jj_3R_denoter_853_7_320()
{
if (jj_3R_bool_denotation_1524_5_374()) return true;
return false;
}
private boolean jj_3R_denoter_852_7_319()
{
if (jj_3R_text_denotation_1531_5_373()) return true;
return false;
}
private boolean jj_3R_null_62_30_101()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_denoter_851_7_318()
{
if (jj_3R_real_denotation_1518_5_372()) return true;
return false;
}
private boolean jj_3R_pow_ex_816_40_88()
{
if (jj_3R_sign_1479_5_182()) return true;
return false;
}
private boolean jj_3R_denoter_850_5_317()
{
if (jj_3R_integer_denotation_1511_5_371()) return true;
return false;
}
private boolean jj_3R_denoter_850_5_275()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_denoter_850_5_317()) {
jj_scanpos = xsp;
if (jj_3R_denoter_851_7_318()) {
jj_scanpos = xsp;
if (jj_3R_denoter_852_7_319()) {
jj_scanpos = xsp;
if (jj_3R_denoter_853_7_320()) return true;
}
}
}
return false;
}
private boolean jj_3_3()
{
if (jj_3R_bottom_up_part_273_5_59()) return true;
return false;
}
private boolean jj_3R_atomic_ex_844_7_244()
{
if (jj_3R_identifier_ref_1492_5_94()) return true;
return false;
}
private boolean jj_3_1()
{
if (jj_3R_bottom_up_part_273_5_59()) return true;
return false;
}
private boolean jj_3_26()
{
if (jj_3R_abstractor_865_5_93()) return true;
return false;
}
private boolean jj_3R_atomic_ex_842_7_243()
{
if (jj_3R_display_964_5_280()) return true;
return false;
}
private boolean jj_3_25()
{
if (jj_3R_ex_suffix_971_5_92()) return true;
return false;
}
private boolean jj_3R_atomic_ex_841_7_242()
{
if (jj_3R_with_statement_956_5_279()) return true;
return false;
}
private boolean jj_3R_atomic_ex_840_7_241()
{
if (jj_3R_pattern_matching_881_5_278()) return true;
return false;
}
private boolean jj_3R_atomic_ex_839_7_240()
{
if (jj_3R_conditional_choice_871_5_277()) return true;
return false;
}
private boolean jj_3R_null_62_16_60()
{
if (jj_3R_obsoletion_1280_5_100()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_null_62_30_101()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_atomic_ex_838_7_239()
{
if (jj_3R_concretizer_859_5_276()) return true;
return false;
}
private boolean jj_3_2()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_null_62_16_60()) jj_scanpos = xsp;
if (jj_scan_token(KW_PACKET)) return true;
return false;
}
private boolean jj_3R_atomic_ex_837_7_238()
{
if (jj_3R_denoter_850_5_275()) return true;
return false;
}
private boolean jj_3R_atomic_ex_836_5_204()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_atomic_ex_836_5_237()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_837_7_238()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_838_7_239()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_839_7_240()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_840_7_241()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_841_7_242()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_842_7_243()) {
jj_scanpos = xsp;
if (jj_3_26()) {
jj_scanpos = xsp;
if (jj_3R_atomic_ex_844_7_244()) return true;
}
}
}
}
}
}
}
}
return false;
}
private boolean jj_3R_atomic_ex_836_5_237()
{
if (jj_scan_token(4)) return true;
if (jj_3R_expression_749_5_72()) return true;
if (jj_scan_token(5)) return true;
return false;
}
private boolean jj_3R_primary_ex_830_5_91()
{
if (jj_3R_atomic_ex_836_5_204()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_25()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_22()
{
if (jj_3R_pow_op_1446_5_87()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_pow_ex_816_40_88()) jj_scanpos = xsp;
if (jj_3R_tight_ex_823_5_89()) return true;
return false;
}
private boolean jj_3_24()
{
if (jj_3R_tight_op_1454_5_90()) return true;
if (jj_3R_primary_ex_830_5_91()) return true;
return false;
}
private boolean jj_3R_tight_ex_823_6_183()
{
if (jj_3R_tight_op_1454_5_90()) return true;
return false;
}
private boolean jj_3R_tight_ex_823_5_89()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_tight_ex_823_6_183()) jj_scanpos = xsp;
if (jj_3R_primary_ex_830_5_91()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_24()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_23()
{
if (jj_3R_pow_op_1446_5_87()) return true;
if (jj_3R_tight_ex_823_5_89()) return true;
return false;
}
private boolean jj_3R_pow_ex_816_5_86()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_pow_ex_816_5_178()) {
jj_scanpos = xsp;
if (jj_3_23()) return true;
}
return false;
}
private boolean jj_3R_pow_ex_816_5_178()
{
if (jj_3R_tight_ex_823_5_89()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_22()) jj_scanpos = xsp;
return false;
}
private boolean jj_3_21()
{
if (jj_3R_prod_op_1423_5_85()) return true;
if (jj_3R_pow_ex_816_5_86()) return true;
return false;
}
private boolean jj_3R_prod_ex_809_6_159()
{
if (jj_3R_prod_op_1423_5_85()) return true;
return false;
}
private boolean jj_3R_prod_ex_809_5_84()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_prod_ex_809_6_159()) jj_scanpos = xsp;
if (jj_3R_pow_ex_816_5_86()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_21()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_20()
{
if (jj_3R_arith_op_1410_5_83()) return true;
if (jj_3R_prod_ex_809_5_84()) return true;
return false;
}
private boolean jj_3R_arith_ex_802_6_150()
{
if (jj_3R_arith_op_1410_5_83()) return true;
return false;
}
private boolean jj_3R_arith_ex_802_5_82()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_arith_ex_802_6_150()) jj_scanpos = xsp;
if (jj_3R_prod_ex_809_5_84()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_20()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_19()
{
if (jj_3R_numeric_op_1402_5_81()) return true;
if (jj_3R_arith_ex_802_5_82()) return true;
return false;
}
private boolean jj_3R_text_denotation_1533_35_540()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_numeric_ex_795_6_146()
{
if (jj_3R_numeric_op_1402_5_81()) return true;
return false;
}
private boolean jj_3R_text_denotation_1532_35_495()
{
if (jj_3R_nl_1499_5_69()) return true;
return false;
}
private boolean jj_3R_numeric_ex_795_5_80()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_numeric_ex_795_6_146()) jj_scanpos = xsp;
if (jj_3R_arith_ex_802_5_82()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_19()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_18()
{
if (jj_3R_comp_op_1375_5_79()) return true;
if (jj_3R_numeric_ex_795_5_80()) return true;
return false;
}
private boolean jj_3R_comp_ex_788_5_78()
{
if (jj_3R_numeric_ex_795_5_80()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_18()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_text_denotation_1533_20_539()
{
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3_17()
{
if (jj_3R_conjunct_op_1368_5_77()) return true;
if (jj_3R_comp_ex_788_5_78()) return true;
return false;
}
private boolean jj_3R_text_denotation_1532_20_494()
{
if (jj_3R_expression_749_5_72()) return true;
return false;
}
private boolean jj_3R_conjunct_ex_779_6_123()
{
if (jj_3R_conjunct_op_1368_5_77()) return true;
return false;
}
private boolean jj_3R_conjunct_ex_779_5_76()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_conjunct_ex_779_6_123()) jj_scanpos = xsp;
if (jj_3R_comp_ex_788_5_78()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_17()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3_16()
{
if (jj_3R_disjunct_op_1359_5_75()) return true;
if (jj_3R_conjunct_ex_779_5_76()) return true;
return false;
}
private boolean jj_3R_disjunct_ex_772_6_119()
{
if (jj_3R_disjunct_op_1359_5_75()) return true;
return false;
}
private boolean jj_3R_disjunct_ex_772_5_74()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_disjunct_ex_772_6_119()) jj_scanpos = xsp;
if (jj_3R_conjunct_ex_779_5_76()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_16()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_text_denotation_1533_8_496()
{
if (jj_scan_token(TEXT_MID)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_text_denotation_1533_20_539()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_text_denotation_1533_35_540()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_real_denotation_1518_21_487()
{
if (jj_3R_dimension_1246_5_432()) return true;
return false;
}
private boolean jj_3R_text_denotation_1532_7_415()
{
if (jj_scan_token(TEXT_HEAD)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3R_text_denotation_1532_20_494()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_text_denotation_1532_35_495()) jj_scanpos = xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_text_denotation_1533_8_496()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(TEXT_TAIL)) return true;
return false;
}
private boolean jj_3_15()
{
if (jj_3R_abstract_bin_op_1349_5_73()) return true;
if (jj_3R_disjunct_ex_772_5_74()) return true;
return false;
}
private boolean jj_3R_abstract_bin_ex_765_6_311()
{
if (jj_3R_abstract_bin_op_1349_5_73()) return true;
return false;
}
private boolean jj_3R_abstract_bin_ex_765_5_269()
{
Token xsp;
xsp = jj_scanpos;
if (jj_3R_abstract_bin_ex_765_6_311()) jj_scanpos = xsp;
if (jj_3R_disjunct_ex_772_5_74()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_15()) { jj_scanpos = xsp; break; }
}
return false;
}
private boolean jj_3R_text_denotation_1531_5_373()
{
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(185)) {
jj_scanpos = xsp;
if (jj_3R_text_denotation_1532_7_415()) return true;
}
return false;
}
/** Generated Token Manager. */
public AdelanteParserTokenManager token_source;
SimpleCharStream jj_input_stream;
/** Current token. */
public Token token;
/** Next token. */
public Token jj_nt;
private int jj_ntk;
private Token jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
final private int[] jj_la1 = new int[237];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
static private int[] jj_la1_3;
static private int[] jj_la1_4;
static private int[] jj_la1_5;
static {
jj_la1_init_0();
jj_la1_init_1();
jj_la1_init_2();
jj_la1_init_3();
jj_la1_init_4();
jj_la1_init_5();
}
private static void jj_la1_init_0() {
jj_la1_0 = new int[] {0x800,0xce070210,0xce070210,0x0,0xce070210,0xce070210,0x0,0xce070210,0x800,0x800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x2,0x10,0x4,0x4008,0x40000000,0x40000000,0x4000,0x40000000,0x4008,0x0,0xffff8200,0x2,0x2,0x2,0x0,0xffff8200,0x0,0x0,0x800,0x800,0x0,0x800,0x800,0x0,0x0,0x0,0x0,0x10,0x2,0x0,0x0,0x0,0x2,0x10,0x10,0xce070210,0x0,0x0,0x40,0x10,0x0,0x0,0x0,0x2,0x10,0x10,0x0,0x2,0x2000,0x0,0x0,0x0,0x10,0x2,0x0,0x0,0xce070210,0x0,0x0,0x40,0x10,0x0,0x0,0xffff8200,0x0,0x0,0x40,0x10,0x0,0x0,0x0,0x0,0x10,0x10,0x0,0x0,0x0,0x40,0x10,0x10,0x2,0x10,0x1000000,0xce070210,0x0,0x0,0x0,0xce070210,0x0,0x0,0xce070210,0x0,0x0,0x0,0x0,0x0,0x2,0x10,0xce070210,0x70000,0x0,0x0,0xe000000,0x0,0xc0000000,0x0,0x210,0x0,0x210,0x0,0x0,0xce070210,0x0,0xce070210,0x0,0x0,0x0,0x0,0x0,0xce070210,0x2,0x2,0x218,0x210,0x100,0x2,0x210,0x2,0xce070210,0xce070210,0x0,0x0,0x10,0x10,0x0,0x0,0x2,0x218,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xce070210,0x0,0x0,0x0,0x0,0xce070210,0x0,0x0,0x0,0x100,0x0,0x0,0x200,0x2,0xc0000210,0x0,0x2,0x0,0x2,0x0,0x0,0x10,0x40,0x40,0x2,0x10,0x4000,0x40000000,0x40000000,0x0,0x0,0x10,0x0,0x0,0x0,0x0,0x0,0x0,0x31f80000,0x8000,0xce070200,0x70000,0x0,0x0,0x1f80000,0x30000000,0xe000000,0x0,0xc0000000,0x0,0x0,0x0,0x2000,0x800,0x0,0x40,0x40,0x0,0xce070210,0x800,0x0,0xce070210,0x800,0x0,};
}
private static void jj_la1_init_1() {
jj_la1_1 = new int[] {0x0,0xffc003ff,0xffc003ff,0x0,0xffc003ff,0xffc003ff,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0xc000000,0x0,0x0,0x0,0x60000000,0x908003df,0x0,0x1400000,0x1400000,0x0,0x0,0x0,0xffc003ff,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xf3c003ff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffc00,0x0,0xffc003ff,0xc000000,0x0,0x0,0x0,0x3ffc00,0x0,0x60000000,0x908003df,0x2000020,0x1400000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xffc003ff,0x0,0x0,0xffc003ff,0x0,0x0,};
}
private static void jj_la1_init_2() {
jj_la1_2 = new int[] {0x0,0x17ffffff,0x17ffffff,0x0,0x17ffffff,0x17ffffff,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13ffffff,0x0,0x0,0x0,0x20000000,0x13ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x13ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x17ffffff,0x40000000,0x40000000,0x40000000,0x40000000,0x40000000,0x0,0x0,0x17ffffff,0x0,0x0,0x10000000,0x0,0x33c,0x3,0xc,0x3fff8c0,0x3fff8c0,0x0,0x0,0x0,0x17ffffff,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17ffffff,0x17ffffff,0x0,0x0,0x0,0x0,0x20000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x4000000,0x20000000,0x8000000,0x8000000,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3ffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xc,0x400,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13ffffff,0x0,0x0,0x10000000,0x0,0x0,0x0,0x33c,0x3,0x400,0x3fff8c0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x17ffffff,0x0,0x0,0x17ffffff,0x0,0x0,};
}
private static void jj_la1_init_3() {
jj_la1_3 = new int[] {0x0,0x3a80007d,0x3a80007d,0x0,0x2a80007d,0x2a80007d,0x0,0x2a80007d,0x0,0x0,0x0,0x0,0x1000100,0x0,0x10800001,0x0,0x0,0x400000,0x1000100,0x0,0x0,0x8800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60000040,0x0,0x0,0x0,0x0,0x60000040,0x0,0x10800001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x0,0x0,0x4000000,0x0,0x0,0x0,0x0,0x0,0x2a80007d,0x0,0x800001,0x0,0x0,0x80400000,0x10800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8,0x8,0x800001,0x0,0x0,0x80400000,0x80400000,0x2a80007d,0x0,0x800001,0x0,0x0,0x80400000,0x4800,0x60000040,0x0,0x4800001,0x0,0x0,0x4800001,0x4800001,0x0,0x800001,0x0,0x0,0x0,0x20800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2a80007d,0x100800,0x0,0x0,0x2a80007d,0x0,0x4,0x2a000070,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2a000070,0x0,0x20000000,0x0,0x0,0x0,0x40,0x0,0xa000010,0x0,0xa000010,0x0,0x2000000,0x2a80007d,0x200,0x2a80007d,0x400,0x2800,0x2,0x0,0x80800,0x2a80007d,0x0,0x0,0x2800001,0x2800001,0x0,0x0,0x2800001,0x0,0x2a800071,0x2a000070,0x800001,0x0,0x0,0x0,0x0,0x200800,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x80000000,0x2a80007d,0x0,0x0,0x400,0x40800,0x2a80007d,0x0,0x0,0x0,0x0,0x8,0x800009,0x0,0x0,0xa000050,0x800001,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1000100,0x0,0x1800,0x0,0x40000000,0x0,0x20000040,0x0,0x20000000,0x0,0x0,0x40000000,0x0,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000000,0x2a000070,0x0,0x0,0x2a000070,0x0,0x0,};
}
private static void jj_la1_init_4() {
jj_la1_4 = new int[] {0x0,0xb75fccdf,0xb75fccdf,0x80000000,0x15580853,0x15580853,0x80000000,0x15580853,0x0,0x0,0x80000000,0x200000,0x0,0x4,0x270f848d,0x80000000,0x200000,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xa50,0x0,0x0,0x0,0x0,0x850,0x20080,0x270f848d,0x0,0x0,0x80,0x0,0x0,0x20000,0x20080,0x20000000,0x1000c,0x0,0x0,0x0,0x800,0x0,0x0,0x0,0x0,0x15580853,0x40000,0x5080001,0x0,0x0,0x200000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x8000,0x50c8001,0x0,0x0,0x200000,0x200000,0x15580853,0x40000,0x5080001,0x0,0x0,0x200000,0x0,0x850,0x4,0x50c8001,0x0,0x0,0x50c8001,0x50c8001,0x40000,0x5080001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x15580853,0x0,0x0,0x0,0x15580853,0x0,0x0,0x10500852,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10500852,0x0,0x800,0x0,0x0,0x0,0x10,0x0,0x10400040,0x40,0x10400000,0x0,0x10000000,0x15580853,0x0,0x15580853,0x0,0x0,0x0,0x1000,0x0,0x15580853,0x0,0x0,0x150c8001,0x150c8001,0x0,0x0,0x150c8001,0x0,0x155c8853,0x10500852,0x5080001,0x40000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x10a400,0x0,0x102000,0x0,0x0,0x100000,0x0,0x900060,0x800060,0x0,0x15580853,0x0,0x40000000,0x0,0x0,0x15580853,0x10a400,0x0,0x2000,0x0,0x0,0x5080001,0x0,0x0,0x10400150,0x5080001,0x0,0x0,0x0,0x0,0x4080001,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x40,0x0,0x850,0x0,0x800,0x0,0x0,0x0,0x0,0x0,0x10,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x10000000,0x10500852,0x0,0x0,0x10500852,0x0,0x0,};
}
private static void jj_la1_init_5() {
jj_la1_5 = new int[] {0x0,0xe600205d,0xe600205d,0x0,0xe600205d,0xe600205d,0x0,0xe600205d,0x0,0x0,0x0,0x0,0x0,0x0,0x2004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x2000,0x0,0x0,0x0,0x2000,0x0,0x0,0x0,0x0,0x0,0x20,0x2040,0x0,0x0,0x0,0x0,0x2040,0x0,0x2004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0xe600205d,0x0,0x2004,0x0,0x0,0x2,0x0,0x2000,0x0,0x0,0x0,0x2000,0x0,0x0,0x1,0x1,0x2004,0x0,0x0,0x2,0x2,0xe600205d,0x0,0x2004,0x0,0x0,0x2,0x0,0x40,0x0,0x2004,0x0,0x0,0x2004,0x2004,0x0,0x2004,0x0,0x0,0x2000,0x0,0x2000,0x0,0x0,0x0,0x0,0x0,0x0,0xe600205d,0x0,0x2000,0x2000,0xe600205d,0x2000,0x0,0xe6002058,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xe6002058,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0xe6002010,0x0,0xe6000010,0x2000,0xe6000000,0xe600205d,0x0,0xe600205d,0x0,0x0,0x0,0x0,0x0,0xe600205d,0x0,0x0,0xe6002004,0xe6002004,0x0,0x0,0xe6002004,0x0,0xe600205c,0xe6002058,0x2004,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x20002000,0x10,0x20000000,0x8,0x8,0x8,0x0,0x0,0x0,0x0,0xe600205d,0x2,0x0,0x0,0x0,0xe600205d,0x20002000,0x20000000,0x20000000,0x0,0x1,0x2005,0x0,0x0,0xe6002010,0x2004,0x0,0x2000,0x0,0x2000,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2000,0x0,0x40000,0x0,0x2000,0x0,0x2000,0x0,0x0,0x40,0x0,0x40,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x60000000,0x0,0x0,0x0,0xe6002058,0x0,0x8000000,0xe6002058,0x0,0x6000000,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[37];
private boolean jj_rescan = false;
private int jj_gc = 0;
/** Constructor with InputStream. */
public AdelanteParser(java.io.InputStream stream) {
this(stream, null);
}
/** Constructor with InputStream and supplied encoding */
public AdelanteParser(java.io.InputStream stream, String encoding) {
try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
token_source = new AdelanteParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Reinitialise. */
public void ReInit(java.io.InputStream stream) {
ReInit(stream, null);
}
/** Reinitialise. */
public void ReInit(java.io.InputStream stream, String encoding) {
try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Constructor. */
public AdelanteParser(java.io.Reader stream) {
jj_input_stream = new SimpleCharStream(stream, 1, 1);
token_source = new AdelanteParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Reinitialise. */
public void ReInit(java.io.Reader stream) {
if (jj_input_stream == null) {
jj_input_stream = new SimpleCharStream(stream, 1, 1);
} else {
jj_input_stream.ReInit(stream, 1, 1);
}
if (token_source == null) {
token_source = new AdelanteParserTokenManager(jj_input_stream);
}
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Constructor with generated Token Manager. */
public AdelanteParser(AdelanteParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Reinitialise. */
public void ReInit(AdelanteParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 237; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
private Token jj_consume_token(int kind) throws ParseException {
Token oldToken;
if ((oldToken = token).next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
if (token.kind == kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (int i = 0; i < jj_2_rtns.length; i++) {
JJCalls c = jj_2_rtns[i];
while (c != null) {
if (c.gen < jj_gen) c.first = null;
c = c.next;
}
}
}
return token;
}
token = oldToken;
jj_kind = kind;
throw generateParseException();
}
@SuppressWarnings("serial")
static private final class LookaheadSuccess extends java.lang.Error {
@Override
public Throwable fillInStackTrace() {
return this;
}
}
static private final LookaheadSuccess jj_ls = new LookaheadSuccess();
private boolean jj_scan_token(int kind) {
if (jj_scanpos == jj_lastpos) {
jj_la--;
if (jj_scanpos.next == null) {
jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
} else {
jj_lastpos = jj_scanpos = jj_scanpos.next;
}
} else {
jj_scanpos = jj_scanpos.next;
}
if (jj_rescan) {
int i = 0; Token tok = token;
while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
if (tok != null) jj_add_error_token(kind, i);
}
if (jj_scanpos.kind != kind) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
return false;
}
/** Get the next Token. */
final public Token getNextToken() {
if (token.next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
/** Get the specific Token. */
final public Token getToken(int index) {
Token t = token;
for (int i = 0; i < index; i++) {
if (t.next != null) t = t.next;
else t = t.next = token_source.getNextToken();
}
return t;
}
private int jj_ntk_f() {
if ((jj_nt=token.next) == null)
return (jj_ntk = (token.next=token_source.getNextToken()).kind);
else
return (jj_ntk = jj_nt.kind);
}
private java.util.List<int[]> jj_expentries = new java.util.ArrayList<int[]>();
private int[] jj_expentry;
private int jj_kind = -1;
private int[] jj_lasttokens = new int[100];
private int jj_endpos;
private void jj_add_error_token(int kind, int pos) {
if (pos >= 100) {
return;
}
if (pos == jj_endpos + 1) {
jj_lasttokens[jj_endpos++] = kind;
} else if (jj_endpos != 0) {
jj_expentry = new int[jj_endpos];
for (int i = 0; i < jj_endpos; i++) {
jj_expentry[i] = jj_lasttokens[i];
}
for (int[] oldentry : jj_expentries) {
if (oldentry.length == jj_expentry.length) {
boolean isMatched = true;
for (int i = 0; i < jj_expentry.length; i++) {
if (oldentry[i] != jj_expentry[i]) {
isMatched = false;
break;
}
}
if (isMatched) {
jj_expentries.add(jj_expentry);
break;
}
}
}
if (pos != 0) {
jj_lasttokens[(jj_endpos = pos) - 1] = kind;
}
}
}
/** Generate ParseException. */
public ParseException generateParseException() {
jj_expentries.clear();
boolean[] la1tokens = new boolean[192];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (int i = 0; i < 237; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
la1tokens[j] = true;
}
if ((jj_la1_1[i] & (1<<j)) != 0) {
la1tokens[32+j] = true;
}
if ((jj_la1_2[i] & (1<<j)) != 0) {
la1tokens[64+j] = true;
}
if ((jj_la1_3[i] & (1<<j)) != 0) {
la1tokens[96+j] = true;
}
if ((jj_la1_4[i] & (1<<j)) != 0) {
la1tokens[128+j] = true;
}
if ((jj_la1_5[i] & (1<<j)) != 0) {
la1tokens[160+j] = true;
}
}
}
}
for (int i = 0; i < 192; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
jj_expentries.add(jj_expentry);
}
}
jj_endpos = 0;
jj_rescan_token();
jj_add_error_token(0, 0);
int[][] exptokseq = new int[jj_expentries.size()][];
for (int i = 0; i < jj_expentries.size(); i++) {
exptokseq[i] = jj_expentries.get(i);
}
return new ParseException(token, exptokseq, tokenImage);
}
private boolean trace_enabled;
/** Trace enabled. */
final public boolean trace_enabled() {
return trace_enabled;
}
/** Enable tracing. */
final public void enable_tracing() {
}
/** Disable tracing. */
final public void disable_tracing() {
}
private void jj_rescan_token() {
jj_rescan = true;
for (int i = 0; i < 37; i++) {
try {
JJCalls p = jj_2_rtns[i];
do {
if (p.gen > jj_gen) {
jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
switch (i) {
case 0: jj_3_1(); break;
case 1: jj_3_2(); break;
case 2: jj_3_3(); break;
case 3: jj_3_4(); break;
case 4: jj_3_5(); break;
case 5: jj_3_6(); break;
case 6: jj_3_7(); break;
case 7: jj_3_8(); break;
case 8: jj_3_9(); break;
case 9: jj_3_10(); break;
case 10: jj_3_11(); break;
case 11: jj_3_12(); break;
case 12: jj_3_13(); break;
case 13: jj_3_14(); break;
case 14: jj_3_15(); break;
case 15: jj_3_16(); break;
case 16: jj_3_17(); break;
case 17: jj_3_18(); break;
case 18: jj_3_19(); break;
case 19: jj_3_20(); break;
case 20: jj_3_21(); break;
case 21: jj_3_22(); break;
case 22: jj_3_23(); break;
case 23: jj_3_24(); break;
case 24: jj_3_25(); break;
case 25: jj_3_26(); break;
case 26: jj_3_27(); break;
case 27: jj_3_28(); break;
case 28: jj_3_29(); break;
case 29: jj_3_30(); break;
case 30: jj_3_31(); break;
case 31: jj_3_32(); break;
case 32: jj_3_33(); break;
case 33: jj_3_34(); break;
case 34: jj_3_35(); break;
case 35: jj_3_36(); break;
case 36: jj_3_37(); break;
}
}
p = p.next;
} while (p != null);
} catch(LookaheadSuccess ls) { }
}
jj_rescan = false;
}
private void jj_save(int index, int xla) {
JJCalls p = jj_2_rtns[index];
while (p.gen > jj_gen) {
if (p.next == null) { p = p.next = new JJCalls(); break; }
p = p.next;
}
p.gen = jj_gen + xla - jj_la;
p.first = token;
p.arg = xla;
}
static final class JJCalls {
int gen;
Token first;
int arg;
JJCalls next;
}
}