14ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira/* Generated By:JavaCC: Do not edit this line. ContentTypeParser.java */ 24fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy/* 34fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Copyright 2004 the mime4j project 44fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 54fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Licensed under the Apache License, Version 2.0 (the "License"); 64fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * you may not use this file except in compliance with the License. 74fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * You may obtain a copy of the License at 84fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 94fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * http://www.apache.org/licenses/LICENSE-2.0 104fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * 114fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * Unless required by applicable law or agreed to in writing, software 124fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * distributed under the License is distributed on an "AS IS" BASIS, 134fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 144fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * See the License for the specific language governing permissions and 154fa0a3295bcacbdcd6a9e7709cf17aa5adb90356Scott Kennedy * limitations under the License. 164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira */ 174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapackage org.apache.james.mime4j.field.contenttype.parser; 184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereiraimport java.util.ArrayList; 204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereiraimport java.util.Vector; 214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereirapublic class ContentTypeParser implements ContentTypeParserConstants { 234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private String type; 254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private String subtype; 264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private ArrayList<String> paramNames = new ArrayList<String>(); 274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private ArrayList<String> paramValues = new ArrayList<String>(); 284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public String getType() { return type; } 304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public String getSubType() { return subtype; } 314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ArrayList<String> getParamNames() { return paramNames; } 324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ArrayList<String> getParamValues() { return paramValues; } 334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public static void main(String args[]) throws ParseException { 354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira while (true) { 364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira try { 374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ContentTypeParser parser = new ContentTypeParser(System.in); 384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira parser.parseLine(); 394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } catch (Exception x) { 404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira x.printStackTrace(); 414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return; 424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void parseLine() throws ParseException { 474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira parse(); 484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case 1: 504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(1); 514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira default: 534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_la1[0] = jj_gen; 544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ; 554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(2); 574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void parseAll() throws ParseException { 604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira parse(); 614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(0); 624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void parse() throws ParseException { 654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token type; 664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token subtype; 674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira type = jj_consume_token(ATOKEN); 684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(3); 694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira subtype = jj_consume_token(ATOKEN); 704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this.type = type.image; 714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this.subtype = subtype.image; 724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira label_1: 734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira while (true) { 744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case 4: 764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ; 774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira default: 794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_la1[1] = jj_gen; 804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break label_1; 814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(4); 834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira parameter(); 844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void parameter() throws ParseException { 884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token attrib; 894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira String val; 904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira attrib = jj_consume_token(ATOKEN); 914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(5); 924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira val = value(); 934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira paramNames.add(attrib.image); 944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira paramValues.add(val); 954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public String value() throws ParseException { 984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token t; 994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 1004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case ATOKEN: 1014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira t = jj_consume_token(ATOKEN); 1024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira case QUOTEDSTRING: 1044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira t = jj_consume_token(QUOTEDSTRING); 1054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira break; 1064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira default: 1074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_la1[2] = jj_gen; 1084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_consume_token(-1); 1094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw new ParseException(); 1104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira {if (true) return t.image;} 1124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw new Error("Missing return statement in function"); 1134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ContentTypeParserTokenManager token_source; 1164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira SimpleCharStream jj_input_stream; 1174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public Token token, jj_nt; 1184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private int jj_ntk; 1194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private int jj_gen; 1204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final private int[] jj_la1 = new int[3]; 1214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira static private int[] jj_la1_0; 1224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira static { 1234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_la1_0(); 1244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private static void jj_la1_0() { 1264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_la1_0 = new int[] {0x2,0x10,0x280000,}; 1274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ContentTypeParser(java.io.InputStream stream) { 1304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira this(stream, null); 1314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ContentTypeParser(java.io.InputStream stream, String encoding) { 1334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 1344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source = new ContentTypeParserTokenManager(jj_input_stream); 1354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream stream) { 1424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira ReInit(stream, null); 1434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.InputStream stream, String encoding) { 1454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 1464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source.ReInit(jj_input_stream); 1474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ContentTypeParser(java.io.Reader stream) { 1544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_input_stream = new SimpleCharStream(stream, 1, 1); 1554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source = new ContentTypeParserTokenManager(jj_input_stream); 1564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(java.io.Reader stream) { 1634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_input_stream.ReInit(stream, 1, 1); 1644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source.ReInit(jj_input_stream); 1654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1694ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1704ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1714ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ContentTypeParser(ContentTypeParserTokenManager tm) { 1724ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source = tm; 1734ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1744ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1754ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1764ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1774ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1784ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1794ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public void ReInit(ContentTypeParserTokenManager tm) { 1804ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token_source = tm; 1814ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = new Token(); 1824ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1834ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen = 0; 1844ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) jj_la1[i] = -1; 1854ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1864ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 1874ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final private Token jj_consume_token(int kind) throws ParseException { 1884ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token oldToken; 1894ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((oldToken = token).next != null) token = token.next; 1904ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else token = token.next = token_source.getNextToken(); 1914ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 1924ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (token.kind == kind) { 1934ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen++; 1944ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return token; 1954ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 1964ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira token = oldToken; 1974ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_kind = kind; 1984ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira throw generateParseException(); 1994ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2004ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2014ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public Token getNextToken() { 2024ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (token.next != null) token = token.next; 2034ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else token = token.next = token_source.getNextToken(); 2044ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_ntk = -1; 2054ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_gen++; 2064ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return token; 2074ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2084ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2094ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public Token getToken(int index) { 2104ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira Token t = token; 2114ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < index; i++) { 2124ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (t.next != null) t = t.next; 2134ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else t = t.next = token_source.getNextToken(); 2144ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2154ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return t; 2164ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2174ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2184ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final private int jj_ntk() { 2194ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((jj_nt=token.next) == null) 2204ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return (jj_ntk = (token.next=token_source.getNextToken()).kind); 2214ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira else 2224ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return (jj_ntk = jj_nt.kind); 2234ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2244ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2254ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private Vector<int[]> jj_expentries = new Vector<int[]>(); 2264ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private int[] jj_expentry; 2274ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira private int jj_kind = -1; 2284ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2294ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira public ParseException generateParseException() { 2304ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_expentries.removeAllElements(); 2314ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira boolean[] la1tokens = new boolean[24]; 2324ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 24; i++) { 2334ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira la1tokens[i] = false; 2344ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2354ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (jj_kind >= 0) { 2364ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira la1tokens[jj_kind] = true; 2374ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_kind = -1; 2384ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2394ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 3; i++) { 2404ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (jj_la1[i] == jj_gen) { 2414ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int j = 0; j < 32; j++) { 2424ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if ((jj_la1_0[i] & (1<<j)) != 0) { 2434ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira la1tokens[j] = true; 2444ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2454ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2464ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2474ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2484ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < 24; i++) { 2494ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira if (la1tokens[i]) { 2504ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_expentry = new int[1]; 2514ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_expentry[0] = i; 2524ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira jj_expentries.addElement(jj_expentry); 2534ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2544ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2554ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira int[][] exptokseq = new int[jj_expentries.size()][]; 2564ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira for (int i = 0; i < jj_expentries.size(); i++) { 2574ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira exptokseq[i] = jj_expentries.elementAt(i); 2584ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2594ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira return new ParseException(token, exptokseq, tokenImage); 2604ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2614ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2624ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void enable_tracing() { 2634ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2644ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2654ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira final public void disable_tracing() { 2664ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira } 2674ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira 2684ebb916ddca5f59d4f854f104fca0de6e0dda706Mindy Pereira} 269