1bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/* Generated By:JavaCC: Do not edit this line. ContentTypeParser.java */ 2bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook/* 3bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Copyright 2004 the mime4j project 4bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 5bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Licensed under the Apache License, Version 2.0 (the "License"); 6bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * you may not use this file except in compliance with the License. 7bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * You may obtain a copy of the License at 8bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 9bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * http://www.apache.org/licenses/LICENSE-2.0 10bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * 11bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * Unless required by applicable law or agreed to in writing, software 12bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * distributed under the License is distributed on an "AS IS" BASIS, 13bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * See the License for the specific language governing permissions and 15bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook * limitations under the License. 16bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook */ 17bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpackage org.apache.james.mime4j.field.contenttype.parser; 18bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 19bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport java.util.ArrayList; 20bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookimport java.util.Vector; 21bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 22bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrookpublic class ContentTypeParser implements ContentTypeParserConstants { 23bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 24bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private String type; 25bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private String subtype; 26bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private ArrayList<String> paramNames = new ArrayList<String>(); 27bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private ArrayList<String> paramValues = new ArrayList<String>(); 28bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 29bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public String getType() { return type; } 30bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public String getSubType() { return subtype; } 31bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ArrayList<String> getParamNames() { return paramNames; } 32bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ArrayList<String> getParamValues() { return paramValues; } 33bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 34bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public static void main(String args[]) throws ParseException { 35bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook while (true) { 36bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook try { 37bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook ContentTypeParser parser = new ContentTypeParser(System.in); 38bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook parser.parseLine(); 39bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } catch (Exception x) { 40bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook x.printStackTrace(); 41bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return; 42bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 43bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 44bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 45bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 46bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void parseLine() throws ParseException { 47bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook parse(); 48bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 49bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook case 1: 50bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(1); 51bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook break; 52bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook default: 53bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_la1[0] = jj_gen; 54bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook ; 55bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 56bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(2); 57bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 58bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 59bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void parseAll() throws ParseException { 60bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook parse(); 61bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(0); 62bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 63bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 64bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void parse() throws ParseException { 65bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token type; 66bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token subtype; 67bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook type = jj_consume_token(ATOKEN); 68bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(3); 69bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook subtype = jj_consume_token(ATOKEN); 70bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this.type = type.image; 71bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this.subtype = subtype.image; 72bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook label_1: 73bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook while (true) { 74bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 75bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook case 4: 76bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook ; 77bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook break; 78bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook default: 79bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_la1[1] = jj_gen; 80bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook break label_1; 81bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 82bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(4); 83bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook parameter(); 84bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 85bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 86bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 87bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void parameter() throws ParseException { 88bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token attrib; 89bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook String val; 90bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook attrib = jj_consume_token(ATOKEN); 91bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(5); 92bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook val = value(); 93bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook paramNames.add(attrib.image); 94bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook paramValues.add(val); 95bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 96bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 97bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public String value() throws ParseException { 98bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token t; 99bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { 100bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook case ATOKEN: 101bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook t = jj_consume_token(ATOKEN); 102bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook break; 103bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook case QUOTEDSTRING: 104bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook t = jj_consume_token(QUOTEDSTRING); 105bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook break; 106bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook default: 107bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_la1[2] = jj_gen; 108bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_consume_token(-1); 109bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook throw new ParseException(); 110bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 111bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook {if (true) return t.image;} 112bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook throw new Error("Missing return statement in function"); 113bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 114bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 115bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ContentTypeParserTokenManager token_source; 116bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook SimpleCharStream jj_input_stream; 117bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public Token token, jj_nt; 118bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private int jj_ntk; 119bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private int jj_gen; 120bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final private int[] jj_la1 = new int[3]; 121bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook static private int[] jj_la1_0; 122bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook static { 123bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_la1_0(); 124bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 125bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private static void jj_la1_0() { 126bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_la1_0 = new int[] {0x2,0x10,0x280000,}; 127bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 128bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 129bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ContentTypeParser(java.io.InputStream stream) { 130bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook this(stream, null); 131bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 132bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ContentTypeParser(java.io.InputStream stream, String encoding) { 133bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 134bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source = new ContentTypeParserTokenManager(jj_input_stream); 135bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 136bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 137bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 138bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 139bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 140bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 141bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void ReInit(java.io.InputStream stream) { 142bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook ReInit(stream, null); 143bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 144bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void ReInit(java.io.InputStream stream, String encoding) { 145bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); } 146bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source.ReInit(jj_input_stream); 147bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 148bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 149bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 150bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 151bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 152bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 153bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ContentTypeParser(java.io.Reader stream) { 154bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_input_stream = new SimpleCharStream(stream, 1, 1); 155bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source = new ContentTypeParserTokenManager(jj_input_stream); 156bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 157bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 158bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 159bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 160bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 161bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 162bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void ReInit(java.io.Reader stream) { 163bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_input_stream.ReInit(stream, 1, 1); 164bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source.ReInit(jj_input_stream); 165bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 166bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 167bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 168bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 169bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 170bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 171bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ContentTypeParser(ContentTypeParserTokenManager tm) { 172bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source = tm; 173bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 174bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 175bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 176bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 177bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 178bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 179bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public void ReInit(ContentTypeParserTokenManager tm) { 180bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token_source = tm; 181bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = new Token(); 182bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 183bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen = 0; 184bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) jj_la1[i] = -1; 185bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 186bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 187bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final private Token jj_consume_token(int kind) throws ParseException { 188bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token oldToken; 189bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if ((oldToken = token).next != null) token = token.next; 190bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook else token = token.next = token_source.getNextToken(); 191bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 192bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (token.kind == kind) { 193bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen++; 194bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return token; 195bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 196bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook token = oldToken; 197bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_kind = kind; 198bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook throw generateParseException(); 199bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 200bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 201bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public Token getNextToken() { 202bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (token.next != null) token = token.next; 203bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook else token = token.next = token_source.getNextToken(); 204bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_ntk = -1; 205bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_gen++; 206bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return token; 207bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 208bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 209bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public Token getToken(int index) { 210bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook Token t = token; 211bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < index; i++) { 212bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (t.next != null) t = t.next; 213bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook else t = t.next = token_source.getNextToken(); 214bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 215bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return t; 216bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 217bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 218bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final private int jj_ntk() { 219bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if ((jj_nt=token.next) == null) 220bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return (jj_ntk = (token.next=token_source.getNextToken()).kind); 221bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook else 222bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return (jj_ntk = jj_nt.kind); 223bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 224bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 225bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private Vector<int[]> jj_expentries = new Vector<int[]>(); 226bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private int[] jj_expentry; 227bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook private int jj_kind = -1; 228bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 229bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook public ParseException generateParseException() { 230bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_expentries.removeAllElements(); 231bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook boolean[] la1tokens = new boolean[24]; 232bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 24; i++) { 233bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook la1tokens[i] = false; 234bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 235bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (jj_kind >= 0) { 236bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook la1tokens[jj_kind] = true; 237bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_kind = -1; 238bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 239bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 3; i++) { 240bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (jj_la1[i] == jj_gen) { 241bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int j = 0; j < 32; j++) { 242bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if ((jj_la1_0[i] & (1<<j)) != 0) { 243bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook la1tokens[j] = true; 244bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 245bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 246bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 247bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 248bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < 24; i++) { 249bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook if (la1tokens[i]) { 250bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_expentry = new int[1]; 251bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_expentry[0] = i; 252bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook jj_expentries.addElement(jj_expentry); 253bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 254bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 255bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook int[][] exptokseq = new int[jj_expentries.size()][]; 256bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook for (int i = 0; i < jj_expentries.size(); i++) { 257bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook exptokseq[i] = jj_expentries.elementAt(i); 258bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 259bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook return new ParseException(token, exptokseq, tokenImage); 260bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 261bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 262bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void enable_tracing() { 263bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 264bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 265bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook final public void disable_tracing() { 266bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook } 267bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook 268bc47398187c6ffd132435e51d8d61e6ec79a79dbPaul Westbrook} 269