00001
00002 package plp.orientadaObjetos1.parser;
00003
00004 import java.util.*;
00005 import java.io.*;
00006
00007 import plp.orientadaObjetos1.*;
00008 import plp.orientadaObjetos1.util.*;
00009 import plp.orientadaObjetos1.expressao.*;
00010 import plp.orientadaObjetos1.expressao.leftExpression.*;
00011 import plp.orientadaObjetos1.expressao.binaria.*;
00012 import plp.orientadaObjetos1.expressao.unaria.*;
00013 import plp.orientadaObjetos1.expressao.valor.*;
00014 import plp.orientadaObjetos1.comando.*;
00015 import plp.orientadaObjetos1.declaracao.classe.*;
00016 import plp.orientadaObjetos1.declaracao.variavel.*;
00017 import plp.orientadaObjetos1.declaracao.*;
00018 import plp.orientadaObjetos1.declaracao.procedimento.*;
00019 import plp.orientadaObjetos1.memoria.*;
00020 import plp.orientadaObjetos1.excecao.declaracao.*;
00021 import plp.orientadaObjetos1.excecao.execucao.*;
00022 import plp.orientadaObjetos1.memoria.colecao.*;
00023
00027 public class OO1Parser implements OO1ParserConstants {
00028
00035 public static void main(String args[]) {
00036 OO1Parser parser = null;
00037 if (args.length == 0) {
00038 System.out.println("OO1 PLP Parser Version 0.0.1: Reading from standard input . . .");
00039 parser = new OO1Parser(System.in);
00040 } else if (args.length == 1) {
00041 System.out.println("OO1 PLP Parser Version 0.0.1: Reading from file " + args[0] + " . . .");
00042 try {
00043 parser = new OO1Parser(new java.io.FileInputStream(args[0]));
00044 } catch (java.io.FileNotFoundException e) {
00045 System.out.println("Java Parser Version 1.0.2: File " + args[0] + " not found.");
00046 return;
00047 }
00048 } else {
00049 System.out.println("OO1 PLP Parser Version 0.0.1: Usage is one of:");
00050 System.out.println(" java OO1Parser < inputfile");
00051 System.out.println("OR");
00052 System.out.println(" java OO1Parser inputfile");
00053 return;
00054 }
00055 try {
00056 Programa programa = parser.processaEntrada();
00057 System.out.println("OO1 PLP Parser Version 0.0.1: OO1 program parsed successfully.");
00058 if( programa.checaTipo(new ContextoCompilacao(new ListaValor())) ) {
00059 programa.executar(new ContextoExecucao());
00060 }
00061 else {
00062 System.out.println("Erro de tipo");
00063 }
00064 } catch (Exception e) {
00065 System.out.println("OO1 PLP Parser Version 0.0.1: Encountered errors during parse.");
00066 e.printStackTrace();
00067 }
00068 }
00069
00074 final public Programa processaEntrada() throws ParseException {
00075 Programa retorno;
00076 retorno = PPrograma();
00077 jj_consume_token(0);
00078 {if (true) return retorno;}
00079 throw new Error("Missing return statement in function");
00080 }
00081
00082
00083
00084
00085
00086
00087
00091 final public Programa PPrograma() throws ParseException {
00092 DecClasse decClasse = null;
00093 Comando comando = null;
00094 jj_consume_token(LBRACE);
00095 decClasse = PDecClasse();
00096 jj_consume_token(SEMICOLON);
00097 comando = PComando();
00098 jj_consume_token(RBRACE);
00099 {if (true) return new Programa(decClasse, comando);}
00100 throw new Error("Missing return statement in function");
00101 }
00102
00106 final public Comando PComando() throws ParseException {
00107 Comando retorno;
00108 if (jj_2_1(2147483647)) {
00109 retorno = PComandoSequencial();
00110 } else {
00111 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00112 case COMAND_SKIP:
00113 case WHILE:
00114 case READ:
00115 case WRITE:
00116 case IF:
00117 case THIS:
00118 case THROW:
00119 case TRY:
00120 case INT:
00121 case BOOLEAN:
00122 case STRING:
00123 case IDENTIFIER:
00124 case LPAREN:
00125 case LBRACE:
00126 case LT:
00127 retorno = PComandoSimples();
00128 break;
00129 default:
00130 jj_la1[0] = jj_gen;
00131 jj_consume_token(-1);
00132 throw new ParseException();
00133 }
00134 }
00135 {if (true) return retorno;}
00136 throw new Error("Missing return statement in function");
00137 }
00138
00142 final public Sequencial PComandoSequencial() throws ParseException {
00143 Comando c1;
00144 Comando c2;
00145 c1 = PComandoSimples();
00146 jj_consume_token(SEMICOLON);
00147 c2 = PComando();
00148 {if (true) return new Sequencial(c1, c2);}
00149 throw new Error("Missing return statement in function");
00150 }
00151
00164 final public Comando PComandoSimples() throws ParseException {
00165 Comando retorno;
00166 if (jj_2_2(2147483647)) {
00167 retorno = PSkip();
00168 } else if (jj_2_3(2147483647)) {
00169 retorno = PDecVariavelAtomica();
00170 } else if (jj_2_4(2147483647)) {
00171 retorno = PTryCatch();
00172 } else if (jj_2_5(2147483647)) {
00173 retorno = PThrow();
00174 } else if (jj_2_6(2147483647)) {
00175 retorno = PWhile();
00176 } else if (jj_2_7(2147483647)) {
00177 retorno = PIfThenElse();
00178 } else if (jj_2_8(2147483647)) {
00179 retorno = PIO();
00180 } else if (jj_2_9(2147483647)) {
00181 retorno = PChamadaMetodo();
00182 } else if (jj_2_10(2147483647)) {
00183 retorno = PNew();
00184 } else if (jj_2_11(2147483647)) {
00185 retorno = PAtribuicao();
00186 } else {
00187 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00188 case LPAREN:
00189 jj_consume_token(LPAREN);
00190 retorno = PComando();
00191 jj_consume_token(RPAREN);
00192 break;
00193 case LBRACE:
00194 jj_consume_token(LBRACE);
00195 retorno = PComando();
00196 jj_consume_token(RBRACE);
00197 retorno = new ComandoEscopo(retorno);
00198 break;
00199 default:
00200 jj_la1[1] = jj_gen;
00201 jj_consume_token(-1);
00202 throw new ParseException();
00203 }
00204 }
00205 {if (true) return retorno;}
00206 throw new Error("Missing return statement in function");
00207 }
00208
00212 final public Skip PSkip() throws ParseException {
00213 jj_consume_token(COMAND_SKIP);
00214 {if (true) return new Skip();}
00215 throw new Error("Missing return statement in function");
00216 }
00217
00221 final public While PWhile() throws ParseException {
00222 Expressao expressao;
00223 Comando comando;
00224 jj_consume_token(WHILE);
00225 expressao = PExpressao();
00226 jj_consume_token(DO);
00227 jj_consume_token(LBRACE);
00228 comando = PComando();
00229 jj_consume_token(RBRACE);
00230 {if (true) return new While(expressao, comando);}
00231 throw new Error("Missing return statement in function");
00232 }
00233
00237 final public TryCatch PTryCatch() throws ParseException {
00238 Comando comandoTry;
00239 Comando comandoCatch;
00240 Id id;
00241 jj_consume_token(TRY);
00242 jj_consume_token(LBRACE);
00243 comandoTry = PComando();
00244 jj_consume_token(RBRACE);
00245 jj_consume_token(CATCH);
00246 jj_consume_token(LPAREN);
00247 id = PId();
00248 jj_consume_token(RPAREN);
00249 jj_consume_token(LBRACE);
00250 comandoCatch = PComando();
00251 jj_consume_token(RBRACE);
00252 {if (true) return new TryCatch(comandoTry, comandoCatch, id);}
00253 throw new Error("Missing return statement in function");
00254 }
00255
00259 final public Throw PThrow() throws ParseException {
00260 Valor mensagem;
00261 jj_consume_token(THROW);
00262 mensagem = PValorString();
00263 {if (true) return new Throw( ((ValorString)mensagem).valor());}
00264 throw new Error("Missing return statement in function");
00265 }
00266
00271 final public IfThenElse PIfThenElse() throws ParseException {
00272 Expressao expressao;
00273 Comando comandoThen;
00274 Comando comandoElse;
00275 IfThenElse resposta;
00276 if (jj_2_12(2147483647)) {
00277 jj_consume_token(IF);
00278 jj_consume_token(LPAREN);
00279 expressao = PExpressao();
00280 jj_consume_token(RPAREN);
00281 jj_consume_token(LBRACE);
00282 comandoThen = PComando();
00283 jj_consume_token(RBRACE);
00284 jj_consume_token(ELSE);
00285 jj_consume_token(LBRACE);
00286 comandoElse = PComando();
00287 jj_consume_token(RBRACE);
00288 resposta = new IfThenElse (expressao, comandoThen, comandoElse);
00289 } else {
00290 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00291 case IF:
00292 jj_consume_token(IF);
00293 jj_consume_token(LPAREN);
00294 expressao = PExpressao();
00295 jj_consume_token(RPAREN);
00296 jj_consume_token(LBRACE);
00297 comandoThen = PComando();
00298 jj_consume_token(RBRACE);
00299 resposta = new IfThenElse (expressao, comandoThen, new Skip());
00300 break;
00301 default:
00302 jj_la1[2] = jj_gen;
00303 jj_consume_token(-1);
00304 throw new ParseException();
00305 }
00306 }
00307 {if (true) return resposta;}
00308 throw new Error("Missing return statement in function");
00309 }
00310
00315 final public ChamadaMetodo PChamadaMetodo() throws ParseException {
00316 Expressao expressao;
00317 Id nomeMetodo;
00318 ListaExpressao parametros= null;
00319 if (jj_2_13(2147483647)) {
00320 expressao = PExpressaoChamadora();
00321 jj_consume_token(DOT);
00322 nomeMetodo = PId();
00323 jj_consume_token(LPAREN);
00324 jj_consume_token(RPAREN);
00325 } else {
00326 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00327 case THIS:
00328 case IDENTIFIER:
00329 case LPAREN:
00330 expressao = PExpressaoChamadora();
00331 jj_consume_token(DOT);
00332 nomeMetodo = PId();
00333 jj_consume_token(LPAREN);
00334 parametros = PListaExpressao();
00335 jj_consume_token(RPAREN);
00336 break;
00337 default:
00338 jj_la1[3] = jj_gen;
00339 jj_consume_token(-1);
00340 throw new ParseException();
00341 }
00342 }
00343 if (parametros == null){
00344 parametros = new ListaExpressao();
00345 }
00346 {if (true) return new ChamadaMetodo(expressao, nomeMetodo, parametros);}
00347 throw new Error("Missing return statement in function");
00348 }
00349
00353 final public ListaExpressao PListaExpressao() throws ParseException {
00354 ListaExpressao retorno;
00355 Expressao exp;
00356 if (jj_2_14(2147483647)) {
00357 retorno = PListaExpressaoComposta();
00358 } else {
00359 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00360 case NOT:
00361 case LENGTH:
00362 case TRUE:
00363 case FALSE:
00364 case THIS:
00365 case NULL:
00366 case INTEGER_LITERAL:
00367 case STRING_LITERAL:
00368 case IDENTIFIER:
00369 case LPAREN:
00370 case MINUS:
00371 exp = PListaExpressaoAtomica();
00372 retorno = new ListaExpressao(exp);
00373 break;
00374 default:
00375 jj_la1[4] = jj_gen;
00376 jj_consume_token(-1);
00377 throw new ParseException();
00378 }
00379 }
00380 {if (true) return retorno;}
00381 throw new Error("Missing return statement in function");
00382 }
00383
00387 final public ListaExpressao PListaExpressaoComposta() throws ParseException {
00388 Expressao e1;
00389 ListaExpressao e2;
00390 e1 = PListaExpressaoAtomica();
00391 jj_consume_token(COMMA);
00392 e2 = PListaExpressao();
00393 {if (true) return new ListaExpressao(e1, e2);}
00394 throw new Error("Missing return statement in function");
00395 }
00396
00400 final public Expressao PListaExpressaoAtomica() throws ParseException {
00401 Expressao retorno;
00402 retorno = PExpressao();
00403 {if (true) return retorno;}
00404 throw new Error("Missing return statement in function");
00405 }
00406
00410 final public New PNew() throws ParseException {
00411 LeftExpression av;
00412 Tipo tipoInstancia;
00413 av = PLeftExpression();
00414 jj_consume_token(ATTRIB);
00415 jj_consume_token(NEW);
00416 tipoInstancia = PTipo();
00417 {if (true) return new New(av, tipoInstancia);}
00418 throw new Error("Missing return statement in function");
00419 }
00420
00424 final public Atribuicao PAtribuicao() throws ParseException {
00425 LeftExpression av;
00426 Expressao exp;
00427 av = PLeftExpression();
00428 jj_consume_token(ATTRIB);
00429 exp = PExpressao();
00430 {if (true) return new Atribuicao(av, exp);}
00431 throw new Error("Missing return statement in function");
00432 }
00433
00437 final public IO PIO() throws ParseException {
00438 IO retorno;
00439 if (jj_2_15(2147483647)) {
00440 retorno = PWrite();
00441 } else {
00442 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00443 case READ:
00444 retorno = PRead();
00445 break;
00446 default:
00447 jj_la1[5] = jj_gen;
00448 jj_consume_token(-1);
00449 throw new ParseException();
00450 }
00451 }
00452 {if (true) return retorno;}
00453 throw new Error("Missing return statement in function");
00454 }
00455
00459 final public Read PRead() throws ParseException {
00460 Id id;
00461 jj_consume_token(READ);
00462 jj_consume_token(LPAREN);
00463 id = PId();
00464 jj_consume_token(RPAREN);
00465 {if (true) return new Read (id);}
00466 throw new Error("Missing return statement in function");
00467 }
00468
00472 final public Write PWrite() throws ParseException {
00473 Expressao exp;
00474 jj_consume_token(WRITE);
00475 jj_consume_token(LPAREN);
00476 exp = PExpressao();
00477 jj_consume_token(RPAREN);
00478 {if (true) return new Write(exp);}
00479 throw new Error("Missing return statement in function");
00480 }
00481
00485 final public Expressao PExpressao() throws ParseException {
00486 Expressao retorno;
00487 retorno = PExpBinaria();
00488 {if (true) return retorno;}
00489 throw new Error("Missing return statement in function");
00490 }
00491
00495 final public Expressao PExpPrimaria() throws ParseException {
00496 Expressao retorno;
00497 if (jj_2_16(2147483647)) {
00498 retorno = PLeftExpression();
00499 } else if (jj_2_17(2147483647)) {
00500 retorno = PThis();
00501 } else if (jj_2_18(2147483647)) {
00502 jj_consume_token(LPAREN);
00503 retorno = PExpressao();
00504 jj_consume_token(RPAREN);
00505 } else {
00506 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00507 case TRUE:
00508 case FALSE:
00509 case NULL:
00510 case INTEGER_LITERAL:
00511 case STRING_LITERAL:
00512 retorno = PValor();
00513 break;
00514 default:
00515 jj_la1[6] = jj_gen;
00516 jj_consume_token(-1);
00517 throw new ParseException();
00518 }
00519 }
00520 {if (true) return retorno;}
00521 throw new Error("Missing return statement in function");
00522 }
00523
00527 final public Valor PValor() throws ParseException {
00528 Valor retorno;
00529 if (jj_2_19(2147483647)) {
00530 retorno = PValorNull();
00531 } else if (jj_2_20(2147483647)) {
00532 retorno = PValorInteiro();
00533 } else if (jj_2_21(2147483647)) {
00534 retorno = PValorBooleano();
00535 } else {
00536 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00537 case STRING_LITERAL:
00538 retorno = PValorString();
00539 break;
00540 default:
00541 jj_la1[7] = jj_gen;
00542 jj_consume_token(-1);
00543 throw new ParseException();
00544 }
00545 }
00546 {if (true) return retorno;}
00547 throw new Error("Missing return statement in function");
00548 }
00549
00553 final public Valor PValorInteiro() throws ParseException {
00554 Token token;
00555 token = jj_consume_token(INTEGER_LITERAL);
00556 {if (true) return new ValorInteiro(Integer.parseInt(token.toString()));}
00557 throw new Error("Missing return statement in function");
00558 }
00559
00563 final public ValorNull PValorNull() throws ParseException {
00564 jj_consume_token(NULL);
00565 {if (true) return new ValorNull();}
00566 throw new Error("Missing return statement in function");
00567 }
00568
00572 final public Valor PValorBooleano() throws ParseException {
00573 if (jj_2_22(2147483647)) {
00574 jj_consume_token(FALSE);
00575 {if (true) return new ValorBooleano(false);}
00576 } else {
00577 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00578 case TRUE:
00579 jj_consume_token(TRUE);
00580 {if (true) return new ValorBooleano(true);}
00581 break;
00582 default:
00583 jj_la1[8] = jj_gen;
00584 jj_consume_token(-1);
00585 throw new ParseException();
00586 }
00587 }
00588 throw new Error("Missing return statement in function");
00589 }
00590
00594 final public Valor PValorString() throws ParseException {
00595 Token token;
00596 token = jj_consume_token(STRING_LITERAL);
00597 String tokenStr = token.toString();
00598
00599
00600 tokenStr = tokenStr.substring(1,tokenStr.length()-1);
00601
00602 {if (true) return new ValorString(tokenStr);}
00603 throw new Error("Missing return statement in function");
00604 }
00605
00609 final public Expressao PExpUnaria() throws ParseException {
00610 Expressao retorno;
00611 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00612 case MINUS:
00613 retorno = PExpMenos();
00614 break;
00615 case NOT:
00616 retorno = PExpNot();
00617 break;
00618 case LENGTH:
00619 retorno = PExpLength();
00620 break;
00621 case TRUE:
00622 case FALSE:
00623 case THIS:
00624 case NULL:
00625 case INTEGER_LITERAL:
00626 case STRING_LITERAL:
00627 case IDENTIFIER:
00628 case LPAREN:
00629 retorno = PExpPrimaria();
00630 break;
00631 default:
00632 jj_la1[9] = jj_gen;
00633 jj_consume_token(-1);
00634 throw new ParseException();
00635 }
00636 {if (true) return retorno;}
00637 throw new Error("Missing return statement in function");
00638 }
00639
00643 final public Expressao PExpMenos() throws ParseException {
00644 Expressao retorno;
00645 jj_consume_token(MINUS);
00646 retorno = PExpressao();
00647 {if (true) return new ExpMenos(retorno);}
00648 throw new Error("Missing return statement in function");
00649 }
00650
00654 final public Expressao PExpNot() throws ParseException {
00655 Expressao retorno;
00656 jj_consume_token(NOT);
00657 retorno = PExpressao();
00658 {if (true) return new ExpNot(retorno);}
00659 throw new Error("Missing return statement in function");
00660 }
00661
00665 final public Expressao PExpLength() throws ParseException {
00666 Expressao retorno;
00667 jj_consume_token(LENGTH);
00668 retorno = PExpressao();
00669 {if (true) return new ExpLength(retorno);}
00670 throw new Error("Missing return statement in function");
00671 }
00672
00682 final public Expressao PExpBinaria() throws ParseException {
00683 Expressao retorno, param2;
00684 retorno = PExpUnaria();
00685 label_1:
00686 while (true) {
00687 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00688 case AND:
00689 case OR:
00690 case EQ:
00691 case CONCAT:
00692 case PLUS:
00693 case MINUS:
00694 ;
00695 break;
00696 default:
00697 jj_la1[10] = jj_gen;
00698 break label_1;
00699 }
00700 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00701 case CONCAT:
00702 jj_consume_token(CONCAT);
00703 param2 = PExpUnaria();
00704 retorno = new ExpConcat(retorno, param2);
00705 break;
00706 case MINUS:
00707 jj_consume_token(MINUS);
00708 param2 = PExpUnaria();
00709 retorno = new ExpSub(retorno, param2);
00710 break;
00711 case AND:
00712 jj_consume_token(AND);
00713 param2 = PExpUnaria();
00714 retorno = new ExpAnd(retorno, param2);
00715 break;
00716 case OR:
00717 jj_consume_token(OR);
00718 param2 = PExpUnaria();
00719 retorno = new ExpOr(retorno, param2);
00720 break;
00721 case EQ:
00722 jj_consume_token(EQ);
00723 param2 = PExpUnaria();
00724 retorno = new ExpEquals(retorno, param2);
00725 break;
00726 case PLUS:
00727 jj_consume_token(PLUS);
00728 param2 = PExpUnaria();
00729 retorno = new ExpSoma(retorno, param2);
00730 break;
00731 default:
00732 jj_la1[11] = jj_gen;
00733 jj_consume_token(-1);
00734 throw new ParseException();
00735 }
00736 }
00737 {if (true) return retorno;}
00738 throw new Error("Missing return statement in function");
00739 }
00740
00744 final public This PThis() throws ParseException {
00745 jj_consume_token(THIS);
00746 {if (true) return new This();}
00747 throw new Error("Missing return statement in function");
00748 }
00749
00753 final public LeftExpression PLeftExpression() throws ParseException {
00754 LeftExpression retorno;
00755 if (jj_2_23(2147483647)) {
00756 retorno = PAcessoAtributoId();
00757 } else if (jj_2_24(2147483647)) {
00758 retorno = PAcessoAtributoThis();
00759 } else if (jj_2_25(2147483647)) {
00760 retorno = PId();
00761 } else {
00762 jj_consume_token(-1);
00763 throw new ParseException();
00764 }
00765 {if (true) return retorno;}
00766 throw new Error("Missing return statement in function");
00767 }
00768
00772 final public Id PId() throws ParseException {
00773 Token token;
00774 token = jj_consume_token(IDENTIFIER);
00775 {if (true) return new Id(token.toString());}
00776 throw new Error("Missing return statement in function");
00777 }
00778
00782 final public AcessoAtributo PAcessoAtributo() throws ParseException {
00783 AcessoAtributo retorno;
00784 if (jj_2_26(2147483647)) {
00785 retorno = PAcessoAtributoThis();
00786 } else {
00787 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00788 case IDENTIFIER:
00789 case LPAREN:
00790 retorno = PAcessoAtributoId();
00791 break;
00792 default:
00793 jj_la1[12] = jj_gen;
00794 jj_consume_token(-1);
00795 throw new ParseException();
00796 }
00797 }
00798 {if (true) return retorno;}
00799 throw new Error("Missing return statement in function");
00800 }
00801
00805 final public AcessoAtributoThis PAcessoAtributoThis() throws ParseException {
00806 This t;
00807 Id id;
00808 if (jj_2_27(2147483647)) {
00809 jj_consume_token(LPAREN);
00810 t = PThis();
00811 jj_consume_token(RPAREN);
00812 jj_consume_token(DOT);
00813 id = PId();
00814 } else {
00815 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00816 case THIS:
00817 t = PThis();
00818 jj_consume_token(DOT);
00819 id = PId();
00820 break;
00821 default:
00822 jj_la1[13] = jj_gen;
00823 jj_consume_token(-1);
00824 throw new ParseException();
00825 }
00826 }
00827 {if (true) return new AcessoAtributoThis(t, id);}
00828 throw new Error("Missing return statement in function");
00829 }
00830
00834 final public AcessoAtributoId PAcessoAtributoId() throws ParseException {
00835 LeftExpression av;
00836 Id id;
00837 if (jj_2_28(2147483647)) {
00838 jj_consume_token(LPAREN);
00839 av = PLeftExpression();
00840 jj_consume_token(RPAREN);
00841 } else {
00842 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00843 case IDENTIFIER:
00844 av = PId();
00845 break;
00846 default:
00847 jj_la1[14] = jj_gen;
00848 jj_consume_token(-1);
00849 throw new ParseException();
00850 }
00851 }
00852 jj_consume_token(DOT);
00853 id = PId();
00854 {if (true) return new AcessoAtributoId(av, id);}
00855 throw new Error("Missing return statement in function");
00856 }
00857
00866 final public Expressao PExpressaoChamadora() throws ParseException {
00867 Expressao exp;
00868 if (jj_2_29(2147483647)) {
00869 exp = PThis();
00870 } else if (jj_2_30(2147483647)) {
00871 exp = PId();
00872 } else if (jj_2_31(2147483647)) {
00873 exp = PLeftExpressionChamadora();
00874 } else {
00875 jj_consume_token(-1);
00876 throw new ParseException();
00877 }
00878 {if (true) return exp;}
00879 throw new Error("Missing return statement in function");
00880 }
00881
00885 final public LeftExpression PLeftExpressionChamadora() throws ParseException {
00886 LeftExpression retorno;
00887 if (jj_2_32(2147483647)) {
00888 retorno = PAcessoAtributoIdChamador();
00889 } else if (jj_2_33(2147483647)) {
00890 retorno = PAcessoAtributoThis();
00891 } else if (jj_2_34(2147483647)) {
00892 retorno = PId();
00893 } else {
00894 jj_consume_token(-1);
00895 throw new ParseException();
00896 }
00897 {if (true) return retorno;}
00898 throw new Error("Missing return statement in function");
00899 }
00900
00904 final public AcessoAtributoId PAcessoAtributoIdChamador() throws ParseException {
00905 LeftExpression av;
00906 Id id;
00907 if (jj_2_35(2147483647)) {
00908 jj_consume_token(LPAREN);
00909 av = PLeftExpressionChamadora();
00910 jj_consume_token(RPAREN);
00911 jj_consume_token(DOT);
00912 id = PId();
00913 } else if (jj_2_36(2147483647)) {
00914 av = PId();
00915 jj_consume_token(DOT);
00916 id = PId();
00917 } else {
00918 jj_consume_token(-1);
00919 throw new ParseException();
00920 }
00921 {if (true) return new AcessoAtributoId(av, id);}
00922 throw new Error("Missing return statement in function");
00923 }
00924
00929 final public DecClasse PDecClasse() throws ParseException {
00930 DecClasse retorno;
00931 if (jj_2_37(2147483647)) {
00932 retorno = PDecClasseComposta();
00933 } else {
00934 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00935 case CLASSE:
00936 retorno = PDecClasseAtomica();
00937 break;
00938 default:
00939 jj_la1[15] = jj_gen;
00940 jj_consume_token(-1);
00941 throw new ParseException();
00942 }
00943 }
00944 {if (true) return retorno;}
00945 throw new Error("Missing return statement in function");
00946 }
00947
00951 final public DecClasseComposta PDecClasseComposta() throws ParseException {
00952 DecClasse d1;
00953 DecClasse d2;
00954 d1 = PDecClasseAtomica();
00955 d2 = PDecClasse();
00956 {if (true) return new DecClasseComposta(d1, d2);}
00957 throw new Error("Missing return statement in function");
00958 }
00959
00963 final public DecClasse PDecClasseAtomica() throws ParseException {
00964 Id nomeClasse;
00965 CorpoClasse corpo;
00966 Tipo tipoGenerico = null;
00967 DecClasseSimples classe = null;
00968 jj_consume_token(CLASSE);
00969 nomeClasse = PId();
00970 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
00971 case LT:
00972 tipoGenerico = PTipoGeneric();
00973 break;
00974 default:
00975 jj_la1[16] = jj_gen;
00976 ;
00977 }
00978 jj_consume_token(LBRACE);
00979 corpo = PCorpoClasse();
00980 jj_consume_token(RBRACE);
00981 DecVariavel atributos = corpo.getAtributos();
00982 DecProcedimento metodos = corpo.getMetodos();
00983 if( tipoGenerico == null ) {
00984 classe = new DecClasseSimples(nomeClasse, atributos, metodos);
00985 }
00986 else {
00987 classe = new DecClasseGeneric(nomeClasse, atributos, metodos, tipoGenerico);
00988 }
00989 {if (true) return classe;}
00990 throw new Error("Missing return statement in function");
00991 }
00992
00993 final public CorpoClasse PCorpoClasse() throws ParseException {
00994 List atributos = new ArrayList();
00995 List metodos = new ArrayList();
00996
00997 DecVariavel atributo;
00998 DecProcedimento metodo;
00999 label_2:
01000 while (true) {
01001 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
01002 case PROC:
01003 case INT:
01004 case BOOLEAN:
01005 case STRING:
01006 case IDENTIFIER:
01007 case LT:
01008 ;
01009 break;
01010 default:
01011 jj_la1[17] = jj_gen;
01012 break label_2;
01013 }
01014 if (jj_2_38(2147483647)) {
01015 atributo = PDecAtributo();
01016 atributos.add(atributo);
01017 } else if (jj_2_39(2147483647)) {
01018 metodo = PDecProcedimento();
01019 metodos.add(metodo);
01020 } else {
01021 jj_consume_token(-1);
01022 throw new ParseException();
01023 }
01024 }
01025 {if (true) return new CorpoClasse( atributos, metodos);}
01026 throw new Error("Missing return statement in function");
01027 }
01028
01032 final public DecVariavel PDecAtributo() throws ParseException {
01033 DecVariavel atributo;
01034 atributo = PDecVariavelAtomica();
01035 jj_consume_token(SEMICOLON);
01036 {if (true) return atributo;}
01037 throw new Error("Missing return statement in function");
01038 }
01039
01044 final public DecVariavel PDecVariavelAtomica() throws ParseException {
01045 DecVariavel retorno;
01046 if (jj_2_40(2147483647)) {
01047 retorno = PDecVariavelSimples();
01048 } else if (jj_2_41(2147483647)) {
01049 retorno = PDecVariavelObjeto();
01050 } else {
01051 jj_consume_token(-1);
01052 throw new ParseException();
01053 }
01054 {if (true) return retorno;}
01055 throw new Error("Missing return statement in function");
01056 }
01057
01061 final public DecVariavelSimples PDecVariavelSimples() throws ParseException {
01062 Id id;
01063 Expressao exp;
01064 DecVariavelSimples retorno;
01065 Tipo tipo;
01066 tipo = PTipoPrimitivo();
01067 id = PId();
01068 jj_consume_token(ASSIGN);
01069 exp = PExpressao();
01070 retorno = new DecVariavelSimples(tipo, id, exp);
01071 {if (true) return retorno;}
01072 throw new Error("Missing return statement in function");
01073 }
01074
01078 final public DecVariavelObjeto PDecVariavelObjeto() throws ParseException {
01079 Id nomeVariavel;
01080 Tipo tipoVariavel, tipoInstancia;
01081 DecVariavelObjeto dvo = null;
01082 if (jj_2_42(2147483647)) {
01083 tipoVariavel = PTipo();
01084 nomeVariavel = PId();
01085 jj_consume_token(ATTRIB);
01086 jj_consume_token(NEW);
01087 tipoInstancia = PTipo();
01088 dvo = new DecVariavelObjeto(tipoVariavel, nomeVariavel, tipoInstancia);
01089 } else if (jj_2_43(2147483647)) {
01090 tipoVariavel = PTipo();
01091 nomeVariavel = PId();
01092 jj_consume_token(ATTRIB);
01093 jj_consume_token(NULL);
01094 dvo = new DecVariavelObjeto(tipoVariavel, nomeVariavel, TipoClasse.TIPO_NULL);
01095 } else {
01096 jj_consume_token(-1);
01097 throw new ParseException();
01098 }
01099 {if (true) return dvo;}
01100 throw new Error("Missing return statement in function");
01101 }
01102
01106 final public DecProcedimento PDecProcedimento() throws ParseException {
01107 Id nome;
01108 ListaDeclaracaoParametro listaPar = null;
01109 Comando comando;
01110 if (jj_2_44(2147483647)) {
01111 jj_consume_token(PROC);
01112 nome = PId();
01113 jj_consume_token(LPAREN);
01114 jj_consume_token(RPAREN);
01115 jj_consume_token(LBRACE);
01116 comando = PComando();
01117 jj_consume_token(RBRACE);
01118 } else {
01119 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
01120 case PROC:
01121 jj_consume_token(PROC);
01122 nome = PId();
01123 jj_consume_token(LPAREN);
01124 listaPar = PListaDeclaracaoParametro();
01125 jj_consume_token(RPAREN);
01126 jj_consume_token(LBRACE);
01127 comando = PComando();
01128 jj_consume_token(RBRACE);
01129 break;
01130 default:
01131 jj_la1[18] = jj_gen;
01132 jj_consume_token(-1);
01133 throw new ParseException();
01134 }
01135 }
01136 if(listaPar == null) {
01137 listaPar = new ListaDeclaracaoParametro();
01138 }
01139 {if (true) return new DecProcedimentoSimples(nome, listaPar, comando);}
01140 throw new Error("Missing return statement in function");
01141 }
01142
01146 final public ListaDeclaracaoParametro PListaDeclaracaoParametro() throws ParseException {
01147 ListaDeclaracaoParametro retorno;
01148 DecParametro decPar;
01149 if (jj_2_45(2147483647)) {
01150 retorno = PDecParametroComposto();
01151 } else {
01152 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
01153 case INT:
01154 case BOOLEAN:
01155 case STRING:
01156 case IDENTIFIER:
01157 case LT:
01158 decPar = PDecParametroAtomico();
01159 retorno = new ListaDeclaracaoParametro(decPar);
01160 break;
01161 default:
01162 jj_la1[19] = jj_gen;
01163 jj_consume_token(-1);
01164 throw new ParseException();
01165 }
01166 }
01167 {if (true) return retorno;}
01168 throw new Error("Missing return statement in function");
01169 }
01170
01174 final public ListaDeclaracaoParametro PDecParametroComposto() throws ParseException {
01175 DecParametro d1;
01176 ListaDeclaracaoParametro d2;
01177 d1 = PDecParametroAtomico();
01178 jj_consume_token(COMMA);
01179 d2 = PListaDeclaracaoParametro();
01180 {if (true) return new ListaDeclaracaoParametro(d1, d2);}
01181 throw new Error("Missing return statement in function");
01182 }
01183
01187 final public DecParametro PDecParametroAtomico() throws ParseException {
01188 DecParametro retorno;
01189 Tipo tipo;
01190 Id id;
01191 tipo = PTipo();
01192 id = PId();
01193 {if (true) return new DecParametro(id, tipo);}
01194 throw new Error("Missing return statement in function");
01195 }
01196
01200 final public Tipo PTipo() throws ParseException {
01201 Tipo tipo;
01202 if (jj_2_46(2147483647)) {
01203 tipo = PTipoAbstrato();
01204 } else {
01205 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
01206 case INT:
01207 case BOOLEAN:
01208 case STRING:
01209 case IDENTIFIER:
01210 tipo = PTipoConcreto();
01211 break;
01212 default:
01213 jj_la1[20] = jj_gen;
01214 jj_consume_token(-1);
01215 throw new ParseException();
01216 }
01217 }
01218 {if (true) return tipo;}
01219 throw new Error("Missing return statement in function");
01220 }
01221
01225 final public Tipo PTipoConcreto() throws ParseException {
01226 Tipo tipo;
01227 if (jj_2_47(2147483647)) {
01228 tipo = PTipoPrimitivo();
01229 } else if (jj_2_48(2147483647)) {
01230 tipo = PTipoClasse();
01231 } else {
01232 jj_consume_token(-1);
01233 throw new ParseException();
01234 }
01235 {if (true) return tipo;}
01236 throw new Error("Missing return statement in function");
01237 }
01238
01242 final public Tipo PTipoAbstrato() throws ParseException {
01243 Tipo tipo;
01244 if (jj_2_49(2147483647)) {
01245 tipo = PTipoClasseGeneric();
01246 } else if (jj_2_50(2147483647)) {
01247 tipo = PTipoGeneric();
01248 } else {
01249 jj_consume_token(-1);
01250 throw new ParseException();
01251 }
01252 {if (true) return tipo;}
01253 throw new Error("Missing return statement in function");
01254 }
01255
01259 final public Tipo PTipoPrimitivo() throws ParseException {
01260 Tipo retorno;
01261 switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
01262 case INT:
01263 jj_consume_token(INT);
01264 retorno = TipoPrimitivo.TIPO_INTEIRO;
01265 break;
01266 case BOOLEAN:
01267 jj_consume_token(BOOLEAN);
01268 retorno = TipoPrimitivo.TIPO_BOOLEANO;
01269 break;
01270 case STRING:
01271 jj_consume_token(STRING);
01272 retorno = TipoPrimitivo.TIPO_STRING;
01273 break;
01274 default:
01275 jj_la1[21] = jj_gen;
01276 jj_consume_token(-1);
01277 throw new ParseException();
01278 }
01279 {if (true) return retorno;}
01280 throw new Error("Missing return statement in function");
01281 }
01282
01286 final public Tipo PTipoClasse() throws ParseException {
01287 Id tipoClasse;
01288 tipoClasse = PId();
01289 {if (true) return new TipoClasse( tipoClasse);}
01290 throw new Error("Missing return statement in function");
01291 }
01292
01298 final public Tipo PTipoClasseGeneric() throws ParseException {
01299 Id idTipoClasse;
01300 Tipo tipoGeneric;
01301 if (jj_2_51(2147483647)) {
01302 idTipoClasse = PId();
01303 jj_consume_token(LT);
01304 tipoGeneric = PTipoClasseGeneric();
01305 jj_consume_token(GT);
01306 } else if (jj_2_52(2147483647)) {
01307 idTipoClasse = PId();
01308 tipoGeneric = PTipoGeneric();
01309 } else {
01310 jj_consume_token(-1);
01311 throw new ParseException();
01312 }
01313 {if (true) return new TipoClasseGeneric( idTipoClasse, tipoGeneric);}
01314 throw new Error("Missing return statement in function");
01315 }
01316
01320 final public Tipo PTipoGeneric() throws ParseException {
01321 Id tipoGeneric;
01322 jj_consume_token(LT);
01323 tipoGeneric = PId();
01324 jj_consume_token(GT);
01325 {if (true) return new TipoGeneric( tipoGeneric);}
01326 throw new Error("Missing return statement in function");
01327 }
01328
01329 final private boolean jj_2_1(int xla) {
01330 jj_la = xla; jj_lastpos = jj_scanpos = token;
01331 try { return !jj_3_1(); }
01332 catch(LookaheadSuccess ls) { return true; }
01333 finally { jj_save(0, xla); }
01334 }
01335
01336 final private boolean jj_2_2(int xla) {
01337 jj_la = xla; jj_lastpos = jj_scanpos = token;
01338 try { return !jj_3_2(); }
01339 catch(LookaheadSuccess ls) { return true; }
01340 finally { jj_save(1, xla); }
01341 }
01342
01343 final private boolean jj_2_3(int xla) {
01344 jj_la = xla; jj_lastpos = jj_scanpos = token;
01345 try { return !jj_3_3(); }
01346 catch(LookaheadSuccess ls) { return true; }
01347 finally { jj_save(2, xla); }
01348 }
01349
01350 final private boolean jj_2_4(int xla) {
01351 jj_la = xla; jj_lastpos = jj_scanpos = token;
01352 try { return !jj_3_4(); }
01353 catch(LookaheadSuccess ls) { return true; }
01354 finally { jj_save(3, xla); }
01355 }
01356
01357 final private boolean jj_2_5(int xla) {
01358 jj_la = xla; jj_lastpos = jj_scanpos = token;
01359 try { return !jj_3_5(); }
01360 catch(LookaheadSuccess ls) { return true; }
01361 finally { jj_save(4, xla); }
01362 }
01363
01364 final private boolean jj_2_6(int xla) {
01365 jj_la = xla; jj_lastpos = jj_scanpos = token;
01366 try { return !jj_3_6(); }
01367 catch(LookaheadSuccess ls) { return true; }
01368 finally { jj_save(5, xla); }
01369 }
01370
01371 final private boolean jj_2_7(int xla) {
01372 jj_la = xla; jj_lastpos = jj_scanpos = token;
01373 try { return !jj_3_7(); }
01374 catch(LookaheadSuccess ls) { return true; }
01375 finally { jj_save(6, xla); }
01376 }
01377
01378 final private boolean jj_2_8(int xla) {
01379 jj_la = xla; jj_lastpos = jj_scanpos = token;
01380 try { return !jj_3_8(); }
01381 catch(LookaheadSuccess ls) { return true; }
01382 finally { jj_save(7, xla); }
01383 }
01384
01385 final private boolean jj_2_9(int xla) {
01386 jj_la = xla; jj_lastpos = jj_scanpos = token;
01387 try { return !jj_3_9(); }
01388 catch(LookaheadSuccess ls) { return true; }
01389 finally { jj_save(8, xla); }
01390 }
01391
01392 final private boolean jj_2_10(int xla) {
01393 jj_la = xla; jj_lastpos = jj_scanpos = token;
01394 try { return !jj_3_10(); }
01395 catch(LookaheadSuccess ls) { return true; }
01396 finally { jj_save(9, xla); }
01397 }
01398
01399 final private boolean jj_2_11(int xla) {
01400 jj_la = xla; jj_lastpos = jj_scanpos = token;
01401 try { return !jj_3_11(); }
01402 catch(LookaheadSuccess ls) { return true; }
01403 finally { jj_save(10, xla); }
01404 }
01405
01406 final private boolean jj_2_12(int xla) {
01407 jj_la = xla; jj_lastpos = jj_scanpos = token;
01408 try { return !jj_3_12(); }
01409 catch(LookaheadSuccess ls) { return true; }
01410 finally { jj_save(11, xla); }
01411 }
01412
01413 final private boolean jj_2_13(int xla) {
01414 jj_la = xla; jj_lastpos = jj_scanpos = token;
01415 try { return !jj_3_13(); }
01416 catch(LookaheadSuccess ls) { return true; }
01417 finally { jj_save(12, xla); }
01418 }
01419
01420 final private boolean jj_2_14(int xla) {
01421 jj_la = xla; jj_lastpos = jj_scanpos = token;
01422 try { return !jj_3_14(); }
01423 catch(LookaheadSuccess ls) { return true; }
01424 finally { jj_save(13, xla); }
01425 }
01426
01427 final private boolean jj_2_15(int xla) {
01428 jj_la = xla; jj_lastpos = jj_scanpos = token;
01429 try { return !jj_3_15(); }
01430 catch(LookaheadSuccess ls) { return true; }
01431 finally { jj_save(14, xla); }
01432 }
01433
01434 final private boolean jj_2_16(int xla) {
01435 jj_la = xla; jj_lastpos = jj_scanpos = token;
01436 try { return !jj_3_16(); }
01437 catch(LookaheadSuccess ls) { return true; }
01438 finally { jj_save(15, xla); }
01439 }
01440
01441 final private boolean jj_2_17(int xla) {
01442 jj_la = xla; jj_lastpos = jj_scanpos = token;
01443 try { return !jj_3_17(); }
01444 catch(LookaheadSuccess ls) { return true; }
01445 finally { jj_save(16, xla); }
01446 }
01447
01448 final private boolean jj_2_18(int xla) {
01449 jj_la = xla; jj_lastpos = jj_scanpos = token;
01450 try { return !jj_3_18(); }
01451 catch(LookaheadSuccess ls) { return true; }
01452 finally { jj_save(17, xla); }
01453 }
01454
01455 final private boolean jj_2_19(int xla) {
01456 jj_la = xla; jj_lastpos = jj_scanpos = token;
01457 try { return !jj_3_19(); }
01458 catch(LookaheadSuccess ls) { return true; }
01459 finally { jj_save(18, xla); }
01460 }
01461
01462 final private boolean jj_2_20(int xla) {
01463 jj_la = xla; jj_lastpos = jj_scanpos = token;
01464 try { return !jj_3_20(); }
01465 catch(LookaheadSuccess ls) { return true; }
01466 finally { jj_save(19, xla); }
01467 }
01468
01469 final private boolean jj_2_21(int xla) {
01470 jj_la = xla; jj_lastpos = jj_scanpos = token;
01471 try { return !jj_3_21(); }
01472 catch(LookaheadSuccess ls) { return true; }
01473 finally { jj_save(20, xla); }
01474 }
01475
01476 final private boolean jj_2_22(int xla) {
01477 jj_la = xla; jj_lastpos = jj_scanpos = token;
01478 try { return !jj_3_22(); }
01479 catch(LookaheadSuccess ls) { return true; }
01480 finally { jj_save(21, xla); }
01481 }
01482
01483 final private boolean jj_2_23(int xla) {
01484 jj_la = xla; jj_lastpos = jj_scanpos = token;
01485 try { return !jj_3_23(); }
01486 catch(LookaheadSuccess ls) { return true; }
01487 finally { jj_save(22, xla); }
01488 }
01489
01490 final private boolean jj_2_24(int xla) {
01491 jj_la = xla; jj_lastpos = jj_scanpos = token;
01492 try { return !jj_3_24(); }
01493 catch(LookaheadSuccess ls) { return true; }
01494 finally { jj_save(23, xla); }
01495 }
01496
01497 final private boolean jj_2_25(int xla) {
01498 jj_la = xla; jj_lastpos = jj_scanpos = token;
01499 try { return !jj_3_25(); }
01500 catch(LookaheadSuccess ls) { return true; }
01501 finally { jj_save(24, xla); }
01502 }
01503
01504 final private boolean jj_2_26(int xla) {
01505 jj_la = xla; jj_lastpos = jj_scanpos = token;
01506 try { return !jj_3_26(); }
01507 catch(LookaheadSuccess ls) { return true; }
01508 finally { jj_save(25, xla); }
01509 }
01510
01511 final private boolean jj_2_27(int xla) {
01512 jj_la = xla; jj_lastpos = jj_scanpos = token;
01513 try { return !jj_3_27(); }
01514 catch(LookaheadSuccess ls) { return true; }
01515 finally { jj_save(26, xla); }
01516 }
01517
01518 final private boolean jj_2_28(int xla) {
01519 jj_la = xla; jj_lastpos = jj_scanpos = token;
01520 try { return !jj_3_28(); }
01521 catch(LookaheadSuccess ls) { return true; }
01522 finally { jj_save(27, xla); }
01523 }
01524
01525 final private boolean jj_2_29(int xla) {
01526 jj_la = xla; jj_lastpos = jj_scanpos = token;
01527 try { return !jj_3_29(); }
01528 catch(LookaheadSuccess ls) { return true; }
01529 finally { jj_save(28, xla); }
01530 }
01531
01532 final private boolean jj_2_30(int xla) {
01533 jj_la = xla; jj_lastpos = jj_scanpos = token;
01534 try { return !jj_3_30(); }
01535 catch(LookaheadSuccess ls) { return true; }
01536 finally { jj_save(29, xla); }
01537 }
01538
01539 final private boolean jj_2_31(int xla) {
01540 jj_la = xla; jj_lastpos = jj_scanpos = token;
01541 try { return !jj_3_31(); }
01542 catch(LookaheadSuccess ls) { return true; }
01543 finally { jj_save(30, xla); }
01544 }
01545
01546 final private boolean jj_2_32(int xla) {
01547 jj_la = xla; jj_lastpos = jj_scanpos = token;
01548 try { return !jj_3_32(); }
01549 catch(LookaheadSuccess ls) { return true; }
01550 finally { jj_save(31, xla); }
01551 }
01552
01553 final private boolean jj_2_33(int xla) {
01554 jj_la = xla; jj_lastpos = jj_scanpos = token;
01555 try { return !jj_3_33(); }
01556 catch(LookaheadSuccess ls) { return true; }
01557 finally { jj_save(32, xla); }
01558 }
01559
01560 final private boolean jj_2_34(int xla) {
01561 jj_la = xla; jj_lastpos = jj_scanpos = token;
01562 try { return !jj_3_34(); }
01563 catch(LookaheadSuccess ls) { return true; }
01564 finally { jj_save(33, xla); }
01565 }
01566
01567 final private boolean jj_2_35(int xla) {
01568 jj_la = xla; jj_lastpos = jj_scanpos = token;
01569 try { return !jj_3_35(); }
01570 catch(LookaheadSuccess ls) { return true; }
01571 finally { jj_save(34, xla); }
01572 }
01573
01574 final private boolean jj_2_36(int xla) {
01575 jj_la = xla; jj_lastpos = jj_scanpos = token;
01576 try { return !jj_3_36(); }
01577 catch(LookaheadSuccess ls) { return true; }
01578 finally { jj_save(35, xla); }
01579 }
01580
01581 final private boolean jj_2_37(int xla) {
01582 jj_la = xla; jj_lastpos = jj_scanpos = token;
01583 try { return !jj_3_37(); }
01584 catch(LookaheadSuccess ls) { return true; }
01585 finally { jj_save(36, xla); }
01586 }
01587
01588 final private boolean jj_2_38(int xla) {
01589 jj_la = xla; jj_lastpos = jj_scanpos = token;
01590 try { return !jj_3_38(); }
01591 catch(LookaheadSuccess ls) { return true; }
01592 finally { jj_save(37, xla); }
01593 }
01594
01595 final private boolean jj_2_39(int xla) {
01596 jj_la = xla; jj_lastpos = jj_scanpos = token;
01597 try { return !jj_3_39(); }
01598 catch(LookaheadSuccess ls) { return true; }
01599 finally { jj_save(38, xla); }
01600 }
01601
01602 final private boolean jj_2_40(int xla) {
01603 jj_la = xla; jj_lastpos = jj_scanpos = token;
01604 try { return !jj_3_40(); }
01605 catch(LookaheadSuccess ls) { return true; }
01606 finally { jj_save(39, xla); }
01607 }
01608
01609 final private boolean jj_2_41(int xla) {
01610 jj_la = xla; jj_lastpos = jj_scanpos = token;
01611 try { return !jj_3_41(); }
01612 catch(LookaheadSuccess ls) { return true; }
01613 finally { jj_save(40, xla); }
01614 }
01615
01616 final private boolean jj_2_42(int xla) {
01617 jj_la = xla; jj_lastpos = jj_scanpos = token;
01618 try { return !jj_3_42(); }
01619 catch(LookaheadSuccess ls) { return true; }
01620 finally { jj_save(41, xla); }
01621 }
01622
01623 final private boolean jj_2_43(int xla) {
01624 jj_la = xla; jj_lastpos = jj_scanpos = token;
01625 try { return !jj_3_43(); }
01626 catch(LookaheadSuccess ls) { return true; }
01627 finally { jj_save(42, xla); }
01628 }
01629
01630 final private boolean jj_2_44(int xla) {
01631 jj_la = xla; jj_lastpos = jj_scanpos = token;
01632 try { return !jj_3_44(); }
01633 catch(LookaheadSuccess ls) { return true; }
01634 finally { jj_save(43, xla); }
01635 }
01636
01637 final private boolean jj_2_45(int xla) {
01638 jj_la = xla; jj_lastpos = jj_scanpos = token;
01639 try { return !jj_3_45(); }
01640 catch(LookaheadSuccess ls) { return true; }
01641 finally { jj_save(44, xla); }
01642 }
01643
01644 final private boolean jj_2_46(int xla) {
01645 jj_la = xla; jj_lastpos = jj_scanpos = token;
01646 try { return !jj_3_46(); }
01647 catch(LookaheadSuccess ls) { return true; }
01648 finally { jj_save(45, xla); }
01649 }
01650
01651 final private boolean jj_2_47(int xla) {
01652 jj_la = xla; jj_lastpos = jj_scanpos = token;
01653 try { return !jj_3_47(); }
01654 catch(LookaheadSuccess ls) { return true; }
01655 finally { jj_save(46, xla); }
01656 }
01657
01658 final private boolean jj_2_48(int xla) {
01659 jj_la = xla; jj_lastpos = jj_scanpos = token;
01660 try { return !jj_3_48(); }
01661 catch(LookaheadSuccess ls) { return true; }
01662 finally { jj_save(47, xla); }
01663 }
01664
01665 final private boolean jj_2_49(int xla) {
01666 jj_la = xla; jj_lastpos = jj_scanpos = token;
01667 try { return !jj_3_49(); }
01668 catch(LookaheadSuccess ls) { return true; }
01669 finally { jj_save(48, xla); }
01670 }
01671
01672 final private boolean jj_2_50(int xla) {
01673 jj_la = xla; jj_lastpos = jj_scanpos = token;
01674 try { return !jj_3_50(); }
01675 catch(LookaheadSuccess ls) { return true; }
01676 finally { jj_save(49, xla); }
01677 }
01678
01679 final private boolean jj_2_51(int xla) {
01680 jj_la = xla; jj_lastpos = jj_scanpos = token;
01681 try { return !jj_3_51(); }
01682 catch(LookaheadSuccess ls) { return true; }
01683 finally { jj_save(50, xla); }
01684 }
01685
01686 final private boolean jj_2_52(int xla) {
01687 jj_la = xla; jj_lastpos = jj_scanpos = token;
01688 try { return !jj_3_52(); }
01689 catch(LookaheadSuccess ls) { return true; }
01690 finally { jj_save(51, xla); }
01691 }
01692
01693 final private boolean jj_3_10() {
01694 if (jj_3R_7()) return true;
01695 if (jj_scan_token(ATTRIB)) return true;
01696 if (jj_scan_token(NEW)) return true;
01697 return false;
01698 }
01699
01700 final private boolean jj_3_22() {
01701 if (jj_scan_token(FALSE)) return true;
01702 return false;
01703 }
01704
01705 final private boolean jj_3_9() {
01706 if (jj_3R_5()) return true;
01707 if (jj_scan_token(DOT)) return true;
01708 if (jj_3R_6()) return true;
01709 if (jj_scan_token(LPAREN)) return true;
01710 return false;
01711 }
01712
01713 final private boolean jj_3R_138() {
01714 if (jj_scan_token(TRUE)) return true;
01715 return false;
01716 }
01717
01718 final private boolean jj_3_8() {
01719 Token xsp;
01720 xsp = jj_scanpos;
01721 if (jj_scan_token(19)) {
01722 jj_scanpos = xsp;
01723 if (jj_scan_token(20)) return true;
01724 }
01725 return false;
01726 }
01727
01728 final private boolean jj_3R_29() {
01729 if (jj_scan_token(LBRACE)) return true;
01730 if (jj_3R_9()) return true;
01731 if (jj_scan_token(RBRACE)) return true;
01732 return false;
01733 }
01734
01735 final private boolean jj_3_5() {
01736 if (jj_scan_token(THROW)) return true;
01737 return false;
01738 }
01739
01740 final private boolean jj_3_7() {
01741 if (jj_scan_token(IF)) return true;
01742 return false;
01743 }
01744
01745 final private boolean jj_3R_28() {
01746 if (jj_scan_token(LPAREN)) return true;
01747 if (jj_3R_9()) return true;
01748 if (jj_scan_token(RPAREN)) return true;
01749 return false;
01750 }
01751
01752 final private boolean jj_3_4() {
01753 if (jj_scan_token(TRY)) return true;
01754 return false;
01755 }
01756
01757 final private boolean jj_3_6() {
01758 if (jj_scan_token(WHILE)) return true;
01759 return false;
01760 }
01761
01762 final private boolean jj_3R_27() {
01763 if (jj_3R_61()) return true;
01764 return false;
01765 }
01766
01767 final private boolean jj_3R_137() {
01768 if (jj_scan_token(FALSE)) return true;
01769 return false;
01770 }
01771
01772 final private boolean jj_3R_135() {
01773 Token xsp;
01774 xsp = jj_scanpos;
01775 if (jj_3R_137()) {
01776 jj_scanpos = xsp;
01777 if (jj_3R_138()) return true;
01778 }
01779 return false;
01780 }
01781
01782 final private boolean jj_3R_26() {
01783 if (jj_3R_60()) return true;
01784 return false;
01785 }
01786
01787 final private boolean jj_3R_25() {
01788 if (jj_3R_59()) return true;
01789 return false;
01790 }
01791
01792 final private boolean jj_3_3() {
01793 if (jj_3R_4()) return true;
01794 if (jj_scan_token(IDENTIFIER)) return true;
01795 return false;
01796 }
01797
01798 final private boolean jj_3R_24() {
01799 if (jj_3R_58()) return true;
01800 return false;
01801 }
01802
01803 final private boolean jj_3R_21() {
01804 if (jj_3R_55()) return true;
01805 return false;
01806 }
01807
01808 final private boolean jj_3_2() {
01809 if (jj_scan_token(COMAND_SKIP)) return true;
01810 return false;
01811 }
01812
01813 final private boolean jj_3R_23() {
01814 if (jj_3R_57()) return true;
01815 return false;
01816 }
01817
01818 final private boolean jj_3R_20() {
01819 if (jj_3R_54()) return true;
01820 return false;
01821 }
01822
01823 final private boolean jj_3R_22() {
01824 if (jj_3R_56()) return true;
01825 return false;
01826 }
01827
01828 final private boolean jj_3R_15() {
01829 if (jj_scan_token(CLASSE)) return true;
01830 if (jj_3R_6()) return true;
01831 Token xsp;
01832 xsp = jj_scanpos;
01833 if (jj_3R_50()) jj_scanpos = xsp;
01834 if (jj_scan_token(LBRACE)) return true;
01835 if (jj_3R_51()) return true;
01836 if (jj_scan_token(RBRACE)) return true;
01837 return false;
01838 }
01839
01840 final private boolean jj_3R_133() {
01841 if (jj_scan_token(NULL)) return true;
01842 return false;
01843 }
01844
01845 final private boolean jj_3R_19() {
01846 if (jj_3R_53()) return true;
01847 return false;
01848 }
01849
01850 final private boolean jj_3R_18() {
01851 if (jj_3R_52()) return true;
01852 return false;
01853 }
01854
01855 final private boolean jj_3R_3() {
01856 Token xsp;
01857 xsp = jj_scanpos;
01858 if (jj_3R_18()) {
01859 jj_scanpos = xsp;
01860 if (jj_3R_19()) {
01861 jj_scanpos = xsp;
01862 if (jj_3R_20()) {
01863 jj_scanpos = xsp;
01864 if (jj_3R_21()) {
01865 jj_scanpos = xsp;
01866 if (jj_3R_22()) {
01867 jj_scanpos = xsp;
01868 if (jj_3R_23()) {
01869 jj_scanpos = xsp;
01870 if (jj_3R_24()) {
01871 jj_scanpos = xsp;
01872 if (jj_3R_25()) {
01873 jj_scanpos = xsp;
01874 if (jj_3R_26()) {
01875 jj_scanpos = xsp;
01876 if (jj_3R_27()) {
01877 jj_scanpos = xsp;
01878 if (jj_3R_28()) {
01879 jj_scanpos = xsp;
01880 if (jj_3R_29()) return true;
01881 }
01882 }
01883 }
01884 }
01885 }
01886 }
01887 }
01888 }
01889 }
01890 }
01891 }
01892 return false;
01893 }
01894
01895 final private boolean jj_3_21() {
01896 Token xsp;
01897 xsp = jj_scanpos;
01898 if (jj_scan_token(13)) {
01899 jj_scanpos = xsp;
01900 if (jj_scan_token(14)) return true;
01901 }
01902 return false;
01903 }
01904
01905 final private boolean jj_3R_134() {
01906 if (jj_scan_token(INTEGER_LITERAL)) return true;
01907 return false;
01908 }
01909
01910 final private boolean jj_3_37() {
01911 if (jj_3R_15()) return true;
01912 if (jj_scan_token(CLASSE)) return true;
01913 return false;
01914 }
01915
01916 final private boolean jj_3_19() {
01917 if (jj_scan_token(NULL)) return true;
01918 return false;
01919 }
01920
01921 final private boolean jj_3R_130() {
01922 if (jj_3R_72()) return true;
01923 return false;
01924 }
01925
01926 final private boolean jj_3R_129() {
01927 if (jj_3R_135()) return true;
01928 return false;
01929 }
01930
01931 final private boolean jj_3_20() {
01932 if (jj_scan_token(INTEGER_LITERAL)) return true;
01933 return false;
01934 }
01935
01936 final private boolean jj_3_52() {
01937 if (jj_scan_token(IDENTIFIER)) return true;
01938 if (jj_scan_token(LT)) return true;
01939 if (jj_scan_token(IDENTIFIER)) return true;
01940 if (jj_scan_token(GT)) return true;
01941 return false;
01942 }
01943
01944 final private boolean jj_3R_127() {
01945 if (jj_3R_133()) return true;
01946 return false;
01947 }
01948
01949 final private boolean jj_3R_68() {
01950 if (jj_scan_token(LT)) return true;
01951 if (jj_3R_6()) return true;
01952 if (jj_scan_token(GT)) return true;
01953 return false;
01954 }
01955
01956 final private boolean jj_3_51() {
01957 if (jj_scan_token(IDENTIFIER)) return true;
01958 if (jj_scan_token(LT)) return true;
01959 if (jj_scan_token(IDENTIFIER)) return true;
01960 if (jj_scan_token(LT)) return true;
01961 return false;
01962 }
01963
01964 final private boolean jj_3R_67() {
01965 if (jj_3R_3()) return true;
01966 if (jj_scan_token(SEMICOLON)) return true;
01967 if (jj_3R_9()) return true;
01968 return false;
01969 }
01970
01971 final private boolean jj_3_36() {
01972 if (jj_scan_token(IDENTIFIER)) return true;
01973 if (jj_scan_token(DOT)) return true;
01974 if (jj_scan_token(IDENTIFIER)) return true;
01975 return false;
01976 }
01977
01978 final private boolean jj_3R_128() {
01979 if (jj_3R_134()) return true;
01980 return false;
01981 }
01982
01983 final private boolean jj_3_35() {
01984 if (jj_scan_token(LPAREN)) return true;
01985 if (jj_3R_13()) return true;
01986 if (jj_scan_token(RPAREN)) return true;
01987 if (jj_scan_token(DOT)) return true;
01988 if (jj_scan_token(IDENTIFIER)) return true;
01989 return false;
01990 }
01991
01992 final private boolean jj_3R_114() {
01993 if (jj_3R_6()) return true;
01994 if (jj_3R_68()) return true;
01995 return false;
01996 }
01997
01998 final private boolean jj_3R_125() {
01999 Token xsp;
02000 xsp = jj_scanpos;
02001 if (jj_3R_127()) {
02002 jj_scanpos = xsp;
02003 if (jj_3R_128()) {
02004 jj_scanpos = xsp;
02005 if (jj_3R_129()) {
02006 jj_scanpos = xsp;
02007 if (jj_3R_130()) return true;
02008 }
02009 }
02010 }
02011 return false;
02012 }
02013
02014 final private boolean jj_3_1() {
02015 if (jj_3R_3()) return true;
02016 if (jj_scan_token(SEMICOLON)) return true;
02017 return false;
02018 }
02019
02020 final private boolean jj_3R_113() {
02021 if (jj_3R_6()) return true;
02022 if (jj_scan_token(LT)) return true;
02023 if (jj_3R_100()) return true;
02024 if (jj_scan_token(GT)) return true;
02025 return false;
02026 }
02027
02028 final private boolean jj_3_18() {
02029 if (jj_scan_token(LPAREN)) return true;
02030 if (jj_3R_8()) return true;
02031 if (jj_scan_token(RPAREN)) return true;
02032 return false;
02033 }
02034
02035 final private boolean jj_3R_49() {
02036 if (jj_3R_6()) return true;
02037 if (jj_scan_token(DOT)) return true;
02038 if (jj_3R_6()) return true;
02039 return false;
02040 }
02041
02042 final private boolean jj_3_17() {
02043 if (jj_scan_token(THIS)) return true;
02044 return false;
02045 }
02046
02047 final private boolean jj_3R_48() {
02048 if (jj_scan_token(LPAREN)) return true;
02049 if (jj_3R_13()) return true;
02050 if (jj_scan_token(RPAREN)) return true;
02051 if (jj_scan_token(DOT)) return true;
02052 if (jj_3R_6()) return true;
02053 return false;
02054 }
02055
02056 final private boolean jj_3_16() {
02057 if (jj_3R_7()) return true;
02058 return false;
02059 }
02060
02061 final private boolean jj_3R_40() {
02062 if (jj_3R_3()) return true;
02063 return false;
02064 }
02065
02066 final private boolean jj_3R_121() {
02067 if (jj_3R_125()) return true;
02068 return false;
02069 }
02070
02071 final private boolean jj_3R_100() {
02072 Token xsp;
02073 xsp = jj_scanpos;
02074 if (jj_3R_113()) {
02075 jj_scanpos = xsp;
02076 if (jj_3R_114()) return true;
02077 }
02078 return false;
02079 }
02080
02081 final private boolean jj_3R_39() {
02082 if (jj_3R_67()) return true;
02083 return false;
02084 }
02085
02086 final private boolean jj_3R_120() {
02087 if (jj_scan_token(LPAREN)) return true;
02088 if (jj_3R_8()) return true;
02089 if (jj_scan_token(RPAREN)) return true;
02090 return false;
02091 }
02092
02093 final private boolean jj_3R_119() {
02094 if (jj_3R_64()) return true;
02095 return false;
02096 }
02097
02098 final private boolean jj_3R_9() {
02099 Token xsp;
02100 xsp = jj_scanpos;
02101 if (jj_3R_39()) {
02102 jj_scanpos = xsp;
02103 if (jj_3R_40()) return true;
02104 }
02105 return false;
02106 }
02107
02108 final private boolean jj_3R_14() {
02109 Token xsp;
02110 xsp = jj_scanpos;
02111 if (jj_3R_48()) {
02112 jj_scanpos = xsp;
02113 if (jj_3R_49()) return true;
02114 }
02115 return false;
02116 }
02117
02118 final private boolean jj_3R_118() {
02119 if (jj_3R_7()) return true;
02120 return false;
02121 }
02122
02123 final private boolean jj_3_34() {
02124 if (jj_scan_token(IDENTIFIER)) return true;
02125 return false;
02126 }
02127
02128 final private boolean jj_3R_106() {
02129 Token xsp;
02130 xsp = jj_scanpos;
02131 if (jj_3R_118()) {
02132 jj_scanpos = xsp;
02133 if (jj_3R_119()) {
02134 jj_scanpos = xsp;
02135 if (jj_3R_120()) {
02136 jj_scanpos = xsp;
02137 if (jj_3R_121()) return true;
02138 }
02139 }
02140 }
02141 return false;
02142 }
02143
02144 final private boolean jj_3_32() {
02145 if (jj_3R_14()) return true;
02146 return false;
02147 }
02148
02149 final private boolean jj_3_33() {
02150 if (jj_3R_12()) return true;
02151 return false;
02152 }
02153
02154 final private boolean jj_3R_47() {
02155 if (jj_3R_6()) return true;
02156 return false;
02157 }
02158
02159 final private boolean jj_3R_102() {
02160 if (jj_3R_6()) return true;
02161 return false;
02162 }
02163
02164 final private boolean jj_3R_45() {
02165 if (jj_3R_14()) return true;
02166 return false;
02167 }
02168
02169 final private boolean jj_3R_8() {
02170 if (jj_3R_38()) return true;
02171 return false;
02172 }
02173
02174 final private boolean jj_3R_46() {
02175 if (jj_3R_12()) return true;
02176 return false;
02177 }
02178
02179 final private boolean jj_3R_117() {
02180 if (jj_scan_token(STRING)) return true;
02181 return false;
02182 }
02183
02184 final private boolean jj_3R_13() {
02185 Token xsp;
02186 xsp = jj_scanpos;
02187 if (jj_3R_45()) {
02188 jj_scanpos = xsp;
02189 if (jj_3R_46()) {
02190 jj_scanpos = xsp;
02191 if (jj_3R_47()) return true;
02192 }
02193 }
02194 return false;
02195 }
02196
02197 final private boolean jj_3R_116() {
02198 if (jj_scan_token(BOOLEAN)) return true;
02199 return false;
02200 }
02201
02202 final private boolean jj_3_31() {
02203 if (jj_3R_13()) return true;
02204 if (jj_scan_token(DOT)) return true;
02205 if (jj_scan_token(IDENTIFIER)) return true;
02206 if (jj_scan_token(LPAREN)) return true;
02207 return false;
02208 }
02209
02210 final private boolean jj_3R_115() {
02211 if (jj_scan_token(INT)) return true;
02212 return false;
02213 }
02214
02215 final private boolean jj_3R_97() {
02216 if (jj_scan_token(WRITE)) return true;
02217 if (jj_scan_token(LPAREN)) return true;
02218 if (jj_3R_8()) return true;
02219 if (jj_scan_token(RPAREN)) return true;
02220 return false;
02221 }
02222
02223 final private boolean jj_3_30() {
02224 if (jj_scan_token(IDENTIFIER)) return true;
02225 if (jj_scan_token(DOT)) return true;
02226 if (jj_scan_token(IDENTIFIER)) return true;
02227 if (jj_scan_token(LPAREN)) return true;
02228 return false;
02229 }
02230
02231 final private boolean jj_3_29() {
02232 if (jj_scan_token(THIS)) return true;
02233 if (jj_scan_token(DOT)) return true;
02234 if (jj_scan_token(IDENTIFIER)) return true;
02235 if (jj_scan_token(LPAREN)) return true;
02236 return false;
02237 }
02238
02239 final private boolean jj_3_50() {
02240 if (jj_scan_token(LT)) return true;
02241 if (jj_scan_token(IDENTIFIER)) return true;
02242 return false;
02243 }
02244
02245 final private boolean jj_3R_101() {
02246 Token xsp;
02247 xsp = jj_scanpos;
02248 if (jj_3R_115()) {
02249 jj_scanpos = xsp;
02250 if (jj_3R_116()) {
02251 jj_scanpos = xsp;
02252 if (jj_3R_117()) return true;
02253 }
02254 }
02255 return false;
02256 }
02257
02258 final private boolean jj_3R_34() {
02259 if (jj_3R_13()) return true;
02260 return false;
02261 }
02262
02263 final private boolean jj_3_49() {
02264 if (jj_scan_token(IDENTIFIER)) return true;
02265 if (jj_scan_token(LT)) return true;
02266 return false;
02267 }
02268
02269 final private boolean jj_3R_33() {
02270 if (jj_3R_6()) return true;
02271 return false;
02272 }
02273
02274 final private boolean jj_3_28() {
02275 if (jj_scan_token(LPAREN)) return true;
02276 return false;
02277 }
02278
02279 final private boolean jj_3R_32() {
02280 if (jj_3R_64()) return true;
02281 return false;
02282 }
02283
02284 final private boolean jj_3R_5() {
02285 Token xsp;
02286 xsp = jj_scanpos;
02287 if (jj_3R_32()) {
02288 jj_scanpos = xsp;
02289 if (jj_3R_33()) {
02290 jj_scanpos = xsp;
02291 if (jj_3R_34()) return true;
02292 }
02293 }
02294 return false;
02295 }
02296
02297 final private boolean jj_3_15() {
02298 if (jj_scan_token(WRITE)) return true;
02299 return false;
02300 }
02301
02302 final private boolean jj_3R_98() {
02303 if (jj_scan_token(READ)) return true;
02304 if (jj_scan_token(LPAREN)) return true;
02305 if (jj_3R_6()) return true;
02306 if (jj_scan_token(RPAREN)) return true;
02307 return false;
02308 }
02309
02310 final private boolean jj_3R_80() {
02311 if (jj_3R_68()) return true;
02312 return false;
02313 }
02314
02315 final private boolean jj_3R_42() {
02316 if (jj_3R_6()) return true;
02317 return false;
02318 }
02319
02320 final private boolean jj_3R_79() {
02321 if (jj_3R_100()) return true;
02322 return false;
02323 }
02324
02325 final private boolean jj_3R_76() {
02326 if (jj_3R_98()) return true;
02327 return false;
02328 }
02329
02330 final private boolean jj_3R_41() {
02331 if (jj_scan_token(LPAREN)) return true;
02332 if (jj_3R_7()) return true;
02333 if (jj_scan_token(RPAREN)) return true;
02334 return false;
02335 }
02336
02337 final private boolean jj_3R_75() {
02338 if (jj_3R_97()) return true;
02339 return false;
02340 }
02341
02342 final private boolean jj_3_48() {
02343 if (jj_scan_token(IDENTIFIER)) return true;
02344 return false;
02345 }
02346
02347 final private boolean jj_3R_62() {
02348 Token xsp;
02349 xsp = jj_scanpos;
02350 if (jj_3R_79()) {
02351 jj_scanpos = xsp;
02352 if (jj_3R_80()) return true;
02353 }
02354 return false;
02355 }
02356
02357 final private boolean jj_3_47() {
02358 Token xsp;
02359 xsp = jj_scanpos;
02360 if (jj_scan_token(35)) {
02361 jj_scanpos = xsp;
02362 if (jj_scan_token(33)) {
02363 jj_scanpos = xsp;
02364 if (jj_scan_token(34)) return true;
02365 }
02366 }
02367 return false;
02368 }
02369
02370 final private boolean jj_3R_11() {
02371 Token xsp;
02372 xsp = jj_scanpos;
02373 if (jj_3R_41()) {
02374 jj_scanpos = xsp;
02375 if (jj_3R_42()) return true;
02376 }
02377 if (jj_scan_token(DOT)) return true;
02378 if (jj_3R_6()) return true;
02379 return false;
02380 }
02381
02382 final private boolean jj_3R_58() {
02383 Token xsp;
02384 xsp = jj_scanpos;
02385 if (jj_3R_75()) {
02386 jj_scanpos = xsp;
02387 if (jj_3R_76()) return true;
02388 }
02389 return false;
02390 }
02391
02392 final private boolean jj_3R_82() {
02393 if (jj_3R_102()) return true;
02394 return false;
02395 }
02396
02397 final private boolean jj_3R_81() {
02398 if (jj_3R_101()) return true;
02399 return false;
02400 }
02401
02402 final private boolean jj_3_27() {
02403 if (jj_scan_token(LPAREN)) return true;
02404 return false;
02405 }
02406
02407 final private boolean jj_3R_17() {
02408 if (jj_scan_token(IDENTIFIER)) return true;
02409 if (jj_scan_token(LT)) return true;
02410 return false;
02411 }
02412
02413 final private boolean jj_3R_61() {
02414 if (jj_3R_7()) return true;
02415 if (jj_scan_token(ATTRIB)) return true;
02416 if (jj_3R_8()) return true;
02417 return false;
02418 }
02419
02420 final private boolean jj_3R_44() {
02421 if (jj_3R_64()) return true;
02422 if (jj_scan_token(DOT)) return true;
02423 if (jj_3R_6()) return true;
02424 return false;
02425 }
02426
02427 final private boolean jj_3_46() {
02428 Token xsp;
02429 xsp = jj_scanpos;
02430 if (jj_scan_token(56)) {
02431 jj_scanpos = xsp;
02432 if (jj_3R_17()) return true;
02433 }
02434 return false;
02435 }
02436
02437 final private boolean jj_3R_63() {
02438 Token xsp;
02439 xsp = jj_scanpos;
02440 if (jj_3R_81()) {
02441 jj_scanpos = xsp;
02442 if (jj_3R_82()) return true;
02443 }
02444 return false;
02445 }
02446
02447 final private boolean jj_3R_43() {
02448 if (jj_scan_token(LPAREN)) return true;
02449 if (jj_3R_64()) return true;
02450 if (jj_scan_token(RPAREN)) return true;
02451 if (jj_scan_token(DOT)) return true;
02452 if (jj_3R_6()) return true;
02453 return false;
02454 }
02455
02456 final private boolean jj_3R_12() {
02457 Token xsp;
02458 xsp = jj_scanpos;
02459 if (jj_3R_43()) {
02460 jj_scanpos = xsp;
02461 if (jj_3R_44()) return true;
02462 }
02463 return false;
02464 }
02465
02466 final private boolean jj_3_26() {
02467 if (jj_scan_token(THIS)) return true;
02468 return false;
02469 }
02470
02471 final private boolean jj_3R_31() {
02472 if (jj_3R_63()) return true;
02473 return false;
02474 }
02475
02476 final private boolean jj_3R_30() {
02477 if (jj_3R_62()) return true;
02478 return false;
02479 }
02480
02481 final private boolean jj_3R_60() {
02482 if (jj_3R_7()) return true;
02483 if (jj_scan_token(ATTRIB)) return true;
02484 if (jj_scan_token(NEW)) return true;
02485 if (jj_3R_4()) return true;
02486 return false;
02487 }
02488
02489 final private boolean jj_3R_4() {
02490 Token xsp;
02491 xsp = jj_scanpos;
02492 if (jj_3R_30()) {
02493 jj_scanpos = xsp;
02494 if (jj_3R_31()) return true;
02495 }
02496 return false;
02497 }
02498
02499 final private boolean jj_3R_10() {
02500 if (jj_3R_8()) return true;
02501 return false;
02502 }
02503
02504 final private boolean jj_3R_16() {
02505 if (jj_3R_4()) return true;
02506 if (jj_3R_6()) return true;
02507 return false;
02508 }
02509
02510 final private boolean jj_3_25() {
02511 if (jj_scan_token(IDENTIFIER)) return true;
02512 return false;
02513 }
02514
02515 final private boolean jj_3_24() {
02516 if (jj_3R_12()) return true;
02517 return false;
02518 }
02519
02520 final private boolean jj_3R_6() {
02521 if (jj_scan_token(IDENTIFIER)) return true;
02522 return false;
02523 }
02524
02525 final private boolean jj_3_23() {
02526 if (jj_3R_11()) return true;
02527 return false;
02528 }
02529
02530 final private boolean jj_3R_124() {
02531 if (jj_3R_10()) return true;
02532 if (jj_scan_token(COMMA)) return true;
02533 if (jj_3R_99()) return true;
02534 return false;
02535 }
02536
02537 final private boolean jj_3R_37() {
02538 if (jj_3R_6()) return true;
02539 return false;
02540 }
02541
02542 final private boolean jj_3_14() {
02543 if (jj_3R_10()) return true;
02544 if (jj_scan_token(COMMA)) return true;
02545 return false;
02546 }
02547
02548 final private boolean jj_3R_36() {
02549 if (jj_3R_12()) return true;
02550 return false;
02551 }
02552
02553 final private boolean jj_3R_136() {
02554 if (jj_3R_16()) return true;
02555 if (jj_scan_token(COMMA)) return true;
02556 if (jj_3R_126()) return true;
02557 return false;
02558 }
02559
02560 final private boolean jj_3R_35() {
02561 if (jj_3R_11()) return true;
02562 return false;
02563 }
02564
02565 final private boolean jj_3R_112() {
02566 if (jj_3R_10()) return true;
02567 return false;
02568 }
02569
02570 final private boolean jj_3_45() {
02571 if (jj_3R_16()) return true;
02572 if (jj_scan_token(COMMA)) return true;
02573 return false;
02574 }
02575
02576 final private boolean jj_3R_111() {
02577 if (jj_3R_124()) return true;
02578 return false;
02579 }
02580
02581 final private boolean jj_3R_132() {
02582 if (jj_3R_16()) return true;
02583 return false;
02584 }
02585
02586 final private boolean jj_3R_7() {
02587 Token xsp;
02588 xsp = jj_scanpos;
02589 if (jj_3R_35()) {
02590 jj_scanpos = xsp;
02591 if (jj_3R_36()) {
02592 jj_scanpos = xsp;
02593 if (jj_3R_37()) return true;
02594 }
02595 }
02596 return false;
02597 }
02598
02599 final private boolean jj_3R_131() {
02600 if (jj_3R_136()) return true;
02601 return false;
02602 }
02603
02604 final private boolean jj_3R_99() {
02605 Token xsp;
02606 xsp = jj_scanpos;
02607 if (jj_3R_111()) {
02608 jj_scanpos = xsp;
02609 if (jj_3R_112()) return true;
02610 }
02611 return false;
02612 }
02613
02614 final private boolean jj_3R_126() {
02615 Token xsp;
02616 xsp = jj_scanpos;
02617 if (jj_3R_131()) {
02618 jj_scanpos = xsp;
02619 if (jj_3R_132()) return true;
02620 }
02621 return false;
02622 }
02623
02624 final private boolean jj_3R_64() {
02625 if (jj_scan_token(THIS)) return true;
02626 return false;
02627 }
02628
02629 final private boolean jj_3R_78() {
02630 if (jj_3R_5()) return true;
02631 if (jj_scan_token(DOT)) return true;
02632 if (jj_3R_6()) return true;
02633 if (jj_scan_token(LPAREN)) return true;
02634 if (jj_3R_99()) return true;
02635 if (jj_scan_token(RPAREN)) return true;
02636 return false;
02637 }
02638
02639 final private boolean jj_3_13() {
02640 if (jj_3R_5()) return true;
02641 if (jj_scan_token(DOT)) return true;
02642 if (jj_3R_6()) return true;
02643 if (jj_scan_token(LPAREN)) return true;
02644 if (jj_scan_token(RPAREN)) return true;
02645 return false;
02646 }
02647
02648 final private boolean jj_3_44() {
02649 if (jj_scan_token(PROC)) return true;
02650 if (jj_3R_6()) return true;
02651 if (jj_scan_token(LPAREN)) return true;
02652 if (jj_scan_token(RPAREN)) return true;
02653 return false;
02654 }
02655
02656 final private boolean jj_3R_77() {
02657 if (jj_3R_5()) return true;
02658 if (jj_scan_token(DOT)) return true;
02659 if (jj_3R_6()) return true;
02660 if (jj_scan_token(LPAREN)) return true;
02661 if (jj_scan_token(RPAREN)) return true;
02662 return false;
02663 }
02664
02665 final private boolean jj_3R_92() {
02666 if (jj_scan_token(PLUS)) return true;
02667 if (jj_3R_65()) return true;
02668 return false;
02669 }
02670
02671 final private boolean jj_3R_123() {
02672 if (jj_scan_token(PROC)) return true;
02673 if (jj_3R_6()) return true;
02674 if (jj_scan_token(LPAREN)) return true;
02675 if (jj_3R_126()) return true;
02676 if (jj_scan_token(RPAREN)) return true;
02677 if (jj_scan_token(LBRACE)) return true;
02678 if (jj_3R_9()) return true;
02679 if (jj_scan_token(RBRACE)) return true;
02680 return false;
02681 }
02682
02683 final private boolean jj_3R_59() {
02684 Token xsp;
02685 xsp = jj_scanpos;
02686 if (jj_3R_77()) {
02687 jj_scanpos = xsp;
02688 if (jj_3R_78()) return true;
02689 }
02690 return false;
02691 }
02692
02693 final private boolean jj_3_43() {
02694 if (jj_3R_4()) return true;
02695 if (jj_3R_6()) return true;
02696 if (jj_scan_token(ATTRIB)) return true;
02697 if (jj_scan_token(NULL)) return true;
02698 return false;
02699 }
02700
02701 final private boolean jj_3R_91() {
02702 if (jj_scan_token(EQ)) return true;
02703 if (jj_3R_65()) return true;
02704 return false;
02705 }
02706
02707 final private boolean jj_3R_122() {
02708 if (jj_scan_token(PROC)) return true;
02709 if (jj_3R_6()) return true;
02710 if (jj_scan_token(LPAREN)) return true;
02711 if (jj_scan_token(RPAREN)) return true;
02712 if (jj_scan_token(LBRACE)) return true;
02713 if (jj_3R_9()) return true;
02714 if (jj_scan_token(RBRACE)) return true;
02715 return false;
02716 }
02717
02718 final private boolean jj_3R_90() {
02719 if (jj_scan_token(OR)) return true;
02720 if (jj_3R_65()) return true;
02721 return false;
02722 }
02723
02724 final private boolean jj_3_42() {
02725 if (jj_3R_4()) return true;
02726 if (jj_3R_6()) return true;
02727 if (jj_scan_token(ATTRIB)) return true;
02728 if (jj_scan_token(NEW)) return true;
02729 return false;
02730 }
02731
02732 final private boolean jj_3R_108() {
02733 Token xsp;
02734 xsp = jj_scanpos;
02735 if (jj_3R_122()) {
02736 jj_scanpos = xsp;
02737 if (jj_3R_123()) return true;
02738 }
02739 return false;
02740 }
02741
02742 final private boolean jj_3R_110() {
02743 if (jj_3R_4()) return true;
02744 if (jj_3R_6()) return true;
02745 if (jj_scan_token(ATTRIB)) return true;
02746 if (jj_scan_token(NULL)) return true;
02747 return false;
02748 }
02749
02750 final private boolean jj_3R_89() {
02751 if (jj_scan_token(AND)) return true;
02752 if (jj_3R_65()) return true;
02753 return false;
02754 }
02755
02756 final private boolean jj_3R_88() {
02757 if (jj_scan_token(MINUS)) return true;
02758 if (jj_3R_65()) return true;
02759 return false;
02760 }
02761
02762 final private boolean jj_3R_109() {
02763 if (jj_3R_4()) return true;
02764 if (jj_3R_6()) return true;
02765 if (jj_scan_token(ATTRIB)) return true;
02766 if (jj_scan_token(NEW)) return true;
02767 if (jj_3R_4()) return true;
02768 return false;
02769 }
02770
02771 final private boolean jj_3R_66() {
02772 Token xsp;
02773 xsp = jj_scanpos;
02774 if (jj_3R_87()) {
02775 jj_scanpos = xsp;
02776 if (jj_3R_88()) {
02777 jj_scanpos = xsp;
02778 if (jj_3R_89()) {
02779 jj_scanpos = xsp;
02780 if (jj_3R_90()) {
02781 jj_scanpos = xsp;
02782 if (jj_3R_91()) {
02783 jj_scanpos = xsp;
02784 if (jj_3R_92()) return true;
02785 }
02786 }
02787 }
02788 }
02789 }
02790 return false;
02791 }
02792
02793 final private boolean jj_3R_87() {
02794 if (jj_scan_token(CONCAT)) return true;
02795 if (jj_3R_65()) return true;
02796 return false;
02797 }
02798
02799 final private boolean jj_3R_74() {
02800 if (jj_scan_token(IF)) return true;
02801 if (jj_scan_token(LPAREN)) return true;
02802 if (jj_3R_8()) return true;
02803 if (jj_scan_token(RPAREN)) return true;
02804 if (jj_scan_token(LBRACE)) return true;
02805 if (jj_3R_9()) return true;
02806 if (jj_scan_token(RBRACE)) return true;
02807 return false;
02808 }
02809
02810 final private boolean jj_3R_38() {
02811 if (jj_3R_65()) return true;
02812 Token xsp;
02813 while (true) {
02814 xsp = jj_scanpos;
02815 if (jj_3R_66()) { jj_scanpos = xsp; break; }
02816 }
02817 return false;
02818 }
02819
02820 final private boolean jj_3_12() {
02821 if (jj_scan_token(IF)) return true;
02822 if (jj_scan_token(LPAREN)) return true;
02823 if (jj_3R_8()) return true;
02824 if (jj_scan_token(RPAREN)) return true;
02825 if (jj_scan_token(LBRACE)) return true;
02826 if (jj_3R_9()) return true;
02827 if (jj_scan_token(RBRACE)) return true;
02828 if (jj_scan_token(ELSE)) return true;
02829 return false;
02830 }
02831
02832 final private boolean jj_3R_96() {
02833 Token xsp;
02834 xsp = jj_scanpos;
02835 if (jj_3R_109()) {
02836 jj_scanpos = xsp;
02837 if (jj_3R_110()) return true;
02838 }
02839 return false;
02840 }
02841
02842 final private boolean jj_3R_73() {
02843 if (jj_scan_token(IF)) return true;
02844 if (jj_scan_token(LPAREN)) return true;
02845 if (jj_3R_8()) return true;
02846 if (jj_scan_token(RPAREN)) return true;
02847 if (jj_scan_token(LBRACE)) return true;
02848 if (jj_3R_9()) return true;
02849 if (jj_scan_token(RBRACE)) return true;
02850 if (jj_scan_token(ELSE)) return true;
02851 if (jj_scan_token(LBRACE)) return true;
02852 if (jj_3R_9()) return true;
02853 if (jj_scan_token(RBRACE)) return true;
02854 return false;
02855 }
02856
02857 final private boolean jj_3R_105() {
02858 if (jj_scan_token(LENGTH)) return true;
02859 if (jj_3R_8()) return true;
02860 return false;
02861 }
02862
02863 final private boolean jj_3R_57() {
02864 Token xsp;
02865 xsp = jj_scanpos;
02866 if (jj_3R_73()) {
02867 jj_scanpos = xsp;
02868 if (jj_3R_74()) return true;
02869 }
02870 return false;
02871 }
02872
02873 final private boolean jj_3R_95() {
02874 if (jj_3R_101()) return true;
02875 if (jj_3R_6()) return true;
02876 if (jj_scan_token(ASSIGN)) return true;
02877 if (jj_3R_8()) return true;
02878 return false;
02879 }
02880
02881 final private boolean jj_3_41() {
02882 if (jj_3R_4()) return true;
02883 if (jj_3R_6()) return true;
02884 if (jj_scan_token(ATTRIB)) return true;
02885 return false;
02886 }
02887
02888 final private boolean jj_3R_104() {
02889 if (jj_scan_token(NOT)) return true;
02890 if (jj_3R_8()) return true;
02891 return false;
02892 }
02893
02894 final private boolean jj_3R_55() {
02895 if (jj_scan_token(THROW)) return true;
02896 if (jj_3R_72()) return true;
02897 return false;
02898 }
02899
02900 final private boolean jj_3_40() {
02901 if (jj_3R_4()) return true;
02902 if (jj_3R_6()) return true;
02903 if (jj_scan_token(ASSIGN)) return true;
02904 if (jj_3R_8()) return true;
02905 return false;
02906 }
02907
02908 final private boolean jj_3R_71() {
02909 if (jj_3R_96()) return true;
02910 return false;
02911 }
02912
02913 final private boolean jj_3R_70() {
02914 if (jj_3R_95()) return true;
02915 return false;
02916 }
02917
02918 final private boolean jj_3R_103() {
02919 if (jj_scan_token(MINUS)) return true;
02920 if (jj_3R_8()) return true;
02921 return false;
02922 }
02923
02924 final private boolean jj_3R_54() {
02925 if (jj_scan_token(TRY)) return true;
02926 if (jj_scan_token(LBRACE)) return true;
02927 if (jj_3R_9()) return true;
02928 if (jj_scan_token(RBRACE)) return true;
02929 if (jj_scan_token(CATCH)) return true;
02930 if (jj_scan_token(LPAREN)) return true;
02931 if (jj_3R_6()) return true;
02932 if (jj_scan_token(RPAREN)) return true;
02933 if (jj_scan_token(LBRACE)) return true;
02934 if (jj_3R_9()) return true;
02935 if (jj_scan_token(RBRACE)) return true;
02936 return false;
02937 }
02938
02939 final private boolean jj_3R_53() {
02940 Token xsp;
02941 xsp = jj_scanpos;
02942 if (jj_3R_70()) {
02943 jj_scanpos = xsp;
02944 if (jj_3R_71()) return true;
02945 }
02946 return false;
02947 }
02948
02949 final private boolean jj_3R_86() {
02950 if (jj_3R_106()) return true;
02951 return false;
02952 }
02953
02954 final private boolean jj_3R_85() {
02955 if (jj_3R_105()) return true;
02956 return false;
02957 }
02958
02959 final private boolean jj_3R_84() {
02960 if (jj_3R_104()) return true;
02961 return false;
02962 }
02963
02964 final private boolean jj_3R_83() {
02965 if (jj_3R_103()) return true;
02966 return false;
02967 }
02968
02969 final private boolean jj_3R_107() {
02970 if (jj_3R_53()) return true;
02971 if (jj_scan_token(SEMICOLON)) return true;
02972 return false;
02973 }
02974
02975 final private boolean jj_3R_65() {
02976 Token xsp;
02977 xsp = jj_scanpos;
02978 if (jj_3R_83()) {
02979 jj_scanpos = xsp;
02980 if (jj_3R_84()) {
02981 jj_scanpos = xsp;
02982 if (jj_3R_85()) {
02983 jj_scanpos = xsp;
02984 if (jj_3R_86()) return true;
02985 }
02986 }
02987 }
02988 return false;
02989 }
02990
02991 final private boolean jj_3_39() {
02992 if (jj_scan_token(PROC)) return true;
02993 if (jj_scan_token(IDENTIFIER)) return true;
02994 return false;
02995 }
02996
02997 final private boolean jj_3R_56() {
02998 if (jj_scan_token(WHILE)) return true;
02999 if (jj_3R_8()) return true;
03000 if (jj_scan_token(DO)) return true;
03001 if (jj_scan_token(LBRACE)) return true;
03002 if (jj_3R_9()) return true;
03003 if (jj_scan_token(RBRACE)) return true;
03004 return false;
03005 }
03006
03007 final private boolean jj_3_38() {
03008 if (jj_3R_4()) return true;
03009 if (jj_scan_token(IDENTIFIER)) return true;
03010 return false;
03011 }
03012
03013 final private boolean jj_3R_94() {
03014 if (jj_3R_108()) return true;
03015 return false;
03016 }
03017
03018 final private boolean jj_3R_69() {
03019 Token xsp;
03020 xsp = jj_scanpos;
03021 if (jj_3R_93()) {
03022 jj_scanpos = xsp;
03023 if (jj_3R_94()) return true;
03024 }
03025 return false;
03026 }
03027
03028 final private boolean jj_3R_93() {
03029 if (jj_3R_107()) return true;
03030 return false;
03031 }
03032
03033 final private boolean jj_3R_52() {
03034 if (jj_scan_token(COMAND_SKIP)) return true;
03035 return false;
03036 }
03037
03038 final private boolean jj_3R_50() {
03039 if (jj_3R_68()) return true;
03040 return false;
03041 }
03042
03043 final private boolean jj_3R_72() {
03044 if (jj_scan_token(STRING_LITERAL)) return true;
03045 return false;
03046 }
03047
03048 final private boolean jj_3R_51() {
03049 Token xsp;
03050 while (true) {
03051 xsp = jj_scanpos;
03052 if (jj_3R_69()) { jj_scanpos = xsp; break; }
03053 }
03054 return false;
03055 }
03056
03057 final private boolean jj_3_11() {
03058 if (jj_3R_7()) return true;
03059 if (jj_scan_token(ATTRIB)) return true;
03060 return false;
03061 }
03062
03063 public OO1ParserTokenManager token_source;
03064 JavaCharStream jj_input_stream;
03065 public Token token, jj_nt;
03066 private int jj_ntk;
03067 private Token jj_scanpos, jj_lastpos;
03068 private int jj_la;
03069 public boolean lookingAhead = false;
03070 private boolean jj_semLA;
03071 private int jj_gen;
03072 final private int[] jj_la1 = new int[22];
03073 static private int[] jj_la1_0;
03074 static private int[] jj_la1_1;
03075 static private int[] jj_la1_2;
03076 static {
03077 jj_la1_0();
03078 jj_la1_1();
03079 jj_la1_2();
03080 }
03081 private static void jj_la1_0() {
03082 jj_la1_0 = new int[] {0x623b0000,0x0,0x200000,0x2000000,0xa007800,0x80000,0x8006000,0x0,0x2000,0xa007800,0x600,0x600,0x0,0x2000000,0x0,0x4000000,0x0,0x10000000,0x10000000,0x0,0x0,0x0,};
03083 }
03084 private static void jj_la1_1() {
03085 jj_la1_1 = new int[] {0x100520e,0x5000,0x0,0x1200,0x1310,0x0,0x110,0x100,0x0,0x1310,0x20000000,0x20000000,0x1200,0x0,0x200,0x0,0x1000000,0x100020e,0x0,0x100020e,0x20e,0xe,};
03086 }
03087 private static void jj_la1_2() {
03088 jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x20,0x38,0x38,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
03089 }
03090 final private JJCalls[] jj_2_rtns = new JJCalls[52];
03091 private boolean jj_rescan = false;
03092 private int jj_gc = 0;
03093
03094 public OO1Parser(java.io.InputStream stream) {
03095 this(stream, null);
03096 }
03097 public OO1Parser(java.io.InputStream stream, String encoding) {
03098 try { jj_input_stream = new JavaCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
03099 token_source = new OO1ParserTokenManager(jj_input_stream);
03100 token = new Token();
03101 jj_ntk = -1;
03102 jj_gen = 0;
03103 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03104 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03105 }
03106
03107 public void ReInit(java.io.InputStream stream) {
03108 ReInit(stream);
03109 }
03110 public void ReInit(java.io.InputStream stream, String encoding) {
03111 try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
03112 token_source.ReInit(jj_input_stream);
03113 token = new Token();
03114 jj_ntk = -1;
03115 jj_gen = 0;
03116 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03117 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03118 }
03119
03120 public OO1Parser(java.io.Reader stream) {
03121 jj_input_stream = new JavaCharStream(stream, 1, 1);
03122 token_source = new OO1ParserTokenManager(jj_input_stream);
03123 token = new Token();
03124 jj_ntk = -1;
03125 jj_gen = 0;
03126 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03127 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03128 }
03129
03130 public void ReInit(java.io.Reader stream) {
03131 jj_input_stream.ReInit(stream, 1, 1);
03132 token_source.ReInit(jj_input_stream);
03133 token = new Token();
03134 jj_ntk = -1;
03135 jj_gen = 0;
03136 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03137 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03138 }
03139
03140 public OO1Parser(OO1ParserTokenManager tm) {
03141 token_source = tm;
03142 token = new Token();
03143 jj_ntk = -1;
03144 jj_gen = 0;
03145 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03146 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03147 }
03148
03149 public void ReInit(OO1ParserTokenManager tm) {
03150 token_source = tm;
03151 token = new Token();
03152 jj_ntk = -1;
03153 jj_gen = 0;
03154 for (int i = 0; i < 22; i++) jj_la1[i] = -1;
03155 for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
03156 }
03157
03158 final private Token jj_consume_token(int kind) throws ParseException {
03159 Token oldToken;
03160 if ((oldToken = token).next != null) token = token.next;
03161 else token = token.next = token_source.getNextToken();
03162 jj_ntk = -1;
03163 if (token.kind == kind) {
03164 jj_gen++;
03165 if (++jj_gc > 100) {
03166 jj_gc = 0;
03167 for (int i = 0; i < jj_2_rtns.length; i++) {
03168 JJCalls c = jj_2_rtns[i];
03169 while (c != null) {
03170 if (c.gen < jj_gen) c.first = null;
03171 c = c.next;
03172 }
03173 }
03174 }
03175 return token;
03176 }
03177 token = oldToken;
03178 jj_kind = kind;
03179 throw generateParseException();
03180 }
03181
03182 static private final class LookaheadSuccess extends java.lang.Error { }
03183 final private LookaheadSuccess jj_ls = new LookaheadSuccess();
03184 final private boolean jj_scan_token(int kind) {
03185 if (jj_scanpos == jj_lastpos) {
03186 jj_la--;
03187 if (jj_scanpos.next == null) {
03188 jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
03189 } else {
03190 jj_lastpos = jj_scanpos = jj_scanpos.next;
03191 }
03192 } else {
03193 jj_scanpos = jj_scanpos.next;
03194 }
03195 if (jj_rescan) {
03196 int i = 0; Token tok = token;
03197 while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
03198 if (tok != null) jj_add_error_token(kind, i);
03199 }
03200 if (jj_scanpos.kind != kind) return true;
03201 if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
03202 return false;
03203 }
03204
03205 final public Token getNextToken() {
03206 if (token.next != null) token = token.next;
03207 else token = token.next = token_source.getNextToken();
03208 jj_ntk = -1;
03209 jj_gen++;
03210 return token;
03211 }
03212
03213 final public Token getToken(int index) {
03214 Token t = lookingAhead ? jj_scanpos : token;
03215 for (int i = 0; i < index; i++) {
03216 if (t.next != null) t = t.next;
03217 else t = t.next = token_source.getNextToken();
03218 }
03219 return t;
03220 }
03221
03222 final private int jj_ntk() {
03223 if ((jj_nt=token.next) == null)
03224 return (jj_ntk = (token.next=token_source.getNextToken()).kind);
03225 else
03226 return (jj_ntk = jj_nt.kind);
03227 }
03228
03229 private java.util.Vector jj_expentries = new java.util.Vector();
03230 private int[] jj_expentry;
03231 private int jj_kind = -1;
03232 private int[] jj_lasttokens = new int[100];
03233 private int jj_endpos;
03234
03235 private void jj_add_error_token(int kind, int pos) {
03236 if (pos >= 100) return;
03237 if (pos == jj_endpos + 1) {
03238 jj_lasttokens[jj_endpos++] = kind;
03239 } else if (jj_endpos != 0) {
03240 jj_expentry = new int[jj_endpos];
03241 for (int i = 0; i < jj_endpos; i++) {
03242 jj_expentry[i] = jj_lasttokens[i];
03243 }
03244 boolean exists = false;
03245 for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
03246 int[] oldentry = (int[])(e.nextElement());
03247 if (oldentry.length == jj_expentry.length) {
03248 exists = true;
03249 for (int i = 0; i < jj_expentry.length; i++) {
03250 if (oldentry[i] != jj_expentry[i]) {
03251 exists = false;
03252 break;
03253 }
03254 }
03255 if (exists) break;
03256 }
03257 }
03258 if (!exists) jj_expentries.addElement(jj_expentry);
03259 if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
03260 }
03261 }
03262
03263 public ParseException generateParseException() {
03264 jj_expentries.removeAllElements();
03265 boolean[] la1tokens = new boolean[76];
03266 for (int i = 0; i < 76; i++) {
03267 la1tokens[i] = false;
03268 }
03269 if (jj_kind >= 0) {
03270 la1tokens[jj_kind] = true;
03271 jj_kind = -1;
03272 }
03273 for (int i = 0; i < 22; i++) {
03274 if (jj_la1[i] == jj_gen) {
03275 for (int j = 0; j < 32; j++) {
03276 if ((jj_la1_0[i] & (1<<j)) != 0) {
03277 la1tokens[j] = true;
03278 }
03279 if ((jj_la1_1[i] & (1<<j)) != 0) {
03280 la1tokens[32+j] = true;
03281 }
03282 if ((jj_la1_2[i] & (1<<j)) != 0) {
03283 la1tokens[64+j] = true;
03284 }
03285 }
03286 }
03287 }
03288 for (int i = 0; i < 76; i++) {
03289 if (la1tokens[i]) {
03290 jj_expentry = new int[1];
03291 jj_expentry[0] = i;
03292 jj_expentries.addElement(jj_expentry);
03293 }
03294 }
03295 jj_endpos = 0;
03296 jj_rescan_token();
03297 jj_add_error_token(0, 0);
03298 int[][] exptokseq = new int[jj_expentries.size()][];
03299 for (int i = 0; i < jj_expentries.size(); i++) {
03300 exptokseq[i] = (int[])jj_expentries.elementAt(i);
03301 }
03302 return new ParseException(token, exptokseq, tokenImage);
03303 }
03304
03305 final public void enable_tracing() {
03306 }
03307
03308 final public void disable_tracing() {
03309 }
03310
03311 final private void jj_rescan_token() {
03312 jj_rescan = true;
03313 for (int i = 0; i < 52; i++) {
03314 try {
03315 JJCalls p = jj_2_rtns[i];
03316 do {
03317 if (p.gen > jj_gen) {
03318 jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
03319 switch (i) {
03320 case 0: jj_3_1(); break;
03321 case 1: jj_3_2(); break;
03322 case 2: jj_3_3(); break;
03323 case 3: jj_3_4(); break;
03324 case 4: jj_3_5(); break;
03325 case 5: jj_3_6(); break;
03326 case 6: jj_3_7(); break;
03327 case 7: jj_3_8(); break;
03328 case 8: jj_3_9(); break;
03329 case 9: jj_3_10(); break;
03330 case 10: jj_3_11(); break;
03331 case 11: jj_3_12(); break;
03332 case 12: jj_3_13(); break;
03333 case 13: jj_3_14(); break;
03334 case 14: jj_3_15(); break;
03335 case 15: jj_3_16(); break;
03336 case 16: jj_3_17(); break;
03337 case 17: jj_3_18(); break;
03338 case 18: jj_3_19(); break;
03339 case 19: jj_3_20(); break;
03340 case 20: jj_3_21(); break;
03341 case 21: jj_3_22(); break;
03342 case 22: jj_3_23(); break;
03343 case 23: jj_3_24(); break;
03344 case 24: jj_3_25(); break;
03345 case 25: jj_3_26(); break;
03346 case 26: jj_3_27(); break;
03347 case 27: jj_3_28(); break;
03348 case 28: jj_3_29(); break;
03349 case 29: jj_3_30(); break;
03350 case 30: jj_3_31(); break;
03351 case 31: jj_3_32(); break;
03352 case 32: jj_3_33(); break;
03353 case 33: jj_3_34(); break;
03354 case 34: jj_3_35(); break;
03355 case 35: jj_3_36(); break;
03356 case 36: jj_3_37(); break;
03357 case 37: jj_3_38(); break;
03358 case 38: jj_3_39(); break;
03359 case 39: jj_3_40(); break;
03360 case 40: jj_3_41(); break;
03361 case 41: jj_3_42(); break;
03362 case 42: jj_3_43(); break;
03363 case 43: jj_3_44(); break;
03364 case 44: jj_3_45(); break;
03365 case 45: jj_3_46(); break;
03366 case 46: jj_3_47(); break;
03367 case 47: jj_3_48(); break;
03368 case 48: jj_3_49(); break;
03369 case 49: jj_3_50(); break;
03370 case 50: jj_3_51(); break;
03371 case 51: jj_3_52(); break;
03372 }
03373 }
03374 p = p.next;
03375 } while (p != null);
03376 } catch(LookaheadSuccess ls) { }
03377 }
03378 jj_rescan = false;
03379 }
03380
03381 final private void jj_save(int index, int xla) {
03382 JJCalls p = jj_2_rtns[index];
03383 while (p.gen > jj_gen) {
03384 if (p.next == null) { p = p.next = new JJCalls(); break; }
03385 p = p.next;
03386 }
03387 p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
03388 }
03389
03390 static final class JJCalls {
03391 int gen;
03392 Token first;
03393 int arg;
03394 JJCalls next;
03395 }
03396
03397 }