Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/objectstyle/cayenne/wocompat/parser/Parser.java


1   /* Generated By:JavaCC: Do not edit this line. Parser.java */
2   package org.objectstyle.cayenne.wocompat.parser;
3   import java.io.File;
4   import java.io.FileInputStream;
5   import java.io.FileNotFoundException;
6   import java.util.ArrayList;
7   import java.util.HashMap;
8   import java.util.Hashtable;
9   
10  
11  public class Parser implements ParserConstants {
12     public Hashtable parseStrings;
13  
14  public Parser() {
15      this(System.in);
16      }
17  
18  public Parser(String filename) throws FileNotFoundException {
19      this(new FileInputStream(filename));
20      }
21  
22  public Parser(File f) throws FileNotFoundException {
23      this(new FileInputStream(f));
24      }
25  
26  public Object propertyList() {
27    try {
28      return object();
29      }
30    catch (ParseException pe) {
31      System.err.println("Error parsing property list file: "+pe);
32      return null;
33      }
34    }
35  
36  public static void main(String args[]) {
37    Parser r = new Parser();
38    Object o = r.propertyList();
39    System.out.println(o);
40    }
41  
42    final public Object object() throws ParseException {
43   Object node;
44      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
45      case 8:
46        node = array();
47            {if (true) return node;}
48        break;
49      case 10:
50        node = dictionary();
51            {if (true) return node;}
52        break;
53      case INT:
54      case FLOAT:
55      case STRING:
56      case QUOTED_STRING:
57        node = leaf();
58            {if (true) return node;}
59        break;
60      default:
61        jj_la1[0] = jj_gen;
62        jj_consume_token(-1);
63        throw new ParseException();
64      }
65      throw new Error("Missing return statement in function");
66    }
67  
68    final public Object leaf() throws ParseException {
69      switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
70      case INT:
71        jj_consume_token(INT);
72            {if (true) return Integer.valueOf(token.image);}
73        break;
74      case FLOAT:
75        jj_consume_token(FLOAT);
76              {if (true) return Double.valueOf(token.image);}
77        break;
78      case QUOTED_STRING:
79        jj_consume_token(QUOTED_STRING);
80                      {if (true) return token.image;}
81        break;
82      case STRING:
83        jj_consume_token(STRING);
84               {if (true) return token.image;}
85        break;
86      default:
87        jj_la1[1] = jj_gen;
88        jj_consume_token(-1);
89        throw new ParseException();
90      }
91      throw new Error("Missing return statement in function");
92    }
93  
94    final public HashMap dictionary() throws ParseException {
95    HashMap h;
96    Object key, val;
97      jj_consume_token(10);
98         h = new HashMap();
99      label_1:
100     while (true) {
101       switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
102       case INT:
103       case FLOAT:
104       case 8:
105       case 10:
106       case STRING:
107       case QUOTED_STRING:
108         break;
109       default:
110         jj_la1[2] = jj_gen;
111         break label_1;
112       }
113       key = object();
114       jj_consume_token(7);
115       val = object();
116       jj_consume_token(13);
117                                         h.put(key,val);
118     }
119     jj_consume_token(11);
120         {if (true) return h;}
121     throw new Error("Missing return statement in function");
122   }
123 
124   final public ArrayList array() throws ParseException {
125   ArrayList v;
126   Object o;
127     jj_consume_token(8);
128          v = new ArrayList();
129     switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
130     case INT:
131     case FLOAT:
132     case 8:
133     case 10:
134     case STRING:
135     case QUOTED_STRING:
136       o = object();
137                    v.add(o);
138       label_2:
139       while (true) {
140         switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
141         case 12:
142           break;
143         default:
144           jj_la1[3] = jj_gen;
145           break label_2;
146         }
147         jj_consume_token(12);
148         o = object();
149                         v.add(o);
150       }
151       break;
152     default:
153       jj_la1[4] = jj_gen;
154     }
155     jj_consume_token(9);
156         {if (true) return v;}
157     throw new Error("Missing return statement in function");
158   }
159 
160   public ParserTokenManager token_source;
161   ASCII_CharStream jj_input_stream;
162   public Token token, jj_nt;
163   private int jj_ntk;
164   private int jj_gen;
165   final private int[] jj_la1 = new int[5];
166   final private int[] jj_la1_0 = {0x8004560,0x8004060,0x8004560,0x1000,0x8004560,};
167 
168   public Parser(java.io.InputStream stream) {
169     jj_input_stream = new ASCII_CharStream(stream, 1, 1);
170     token_source = new ParserTokenManager(jj_input_stream);
171     token = new Token();
172     jj_ntk = -1;
173     jj_gen = 0;
174     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
175   }
176 
177   public void ReInit(java.io.InputStream stream) {
178     jj_input_stream.ReInit(stream, 1, 1);
179     token_source.ReInit(jj_input_stream);
180     token = new Token();
181     jj_ntk = -1;
182     jj_gen = 0;
183     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
184   }
185 
186   public Parser(java.io.Reader stream) {
187     jj_input_stream = new ASCII_CharStream(stream, 1, 1);
188     token_source = new ParserTokenManager(jj_input_stream);
189     token = new Token();
190     jj_ntk = -1;
191     jj_gen = 0;
192     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
193   }
194 
195   public void ReInit(java.io.Reader stream) {
196     jj_input_stream.ReInit(stream, 1, 1);
197     token_source.ReInit(jj_input_stream);
198     token = new Token();
199     jj_ntk = -1;
200     jj_gen = 0;
201     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
202   }
203 
204   public Parser(ParserTokenManager tm) {
205     token_source = tm;
206     token = new Token();
207     jj_ntk = -1;
208     jj_gen = 0;
209     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
210   }
211 
212   public void ReInit(ParserTokenManager tm) {
213     token_source = tm;
214     token = new Token();
215     jj_ntk = -1;
216     jj_gen = 0;
217     for (int i = 0; i < 5; i++) jj_la1[i] = -1;
218   }
219 
220   final private Token jj_consume_token(int kind) throws ParseException {
221     Token oldToken;
222     if ((oldToken = token).next != null) token = token.next;
223     else token = token.next = token_source.getNextToken();
224     jj_ntk = -1;
225     if (token.kind == kind) {
226       jj_gen++;
227       return token;
228     }
229     token = oldToken;
230     jj_kind = kind;
231     throw generateParseException();
232   }
233 
234   final public Token getNextToken() {
235     if (token.next != null) token = token.next;
236     else token = token.next = token_source.getNextToken();
237     jj_ntk = -1;
238     jj_gen++;
239     return token;
240   }
241 
242   final public Token getToken(int index) {
243     Token t = token;
244     for (int i = 0; i < index; i++) {
245       if (t.next != null) t = t.next;
246       else t = t.next = token_source.getNextToken();
247     }
248     return t;
249   }
250 
251   final private int jj_ntk() {
252     if ((jj_nt=token.next) == null)
253       return (jj_ntk = (token.next=token_source.getNextToken()).kind);
254     else
255       return (jj_ntk = jj_nt.kind);
256   }
257 
258   private java.util.Vector jj_expentries = new java.util.Vector();
259   private int[] jj_expentry;
260   private int jj_kind = -1;
261 
262   final public ParseException generateParseException() {
263     jj_expentries.removeAllElements();
264     boolean[] la1tokens = new boolean[28];
265     for (int i = 0; i < 28; i++) {
266       la1tokens[i] = false;
267     }
268     if (jj_kind >= 0) {
269       la1tokens[jj_kind] = true;
270       jj_kind = -1;
271     }
272     for (int i = 0; i < 5; i++) {
273       if (jj_la1[i] == jj_gen) {
274         for (int j = 0; j < 32; j++) {
275           if ((jj_la1_0[i] & (1<<j)) != 0) {
276             la1tokens[j] = true;
277           }
278         }
279       }
280     }
281     for (int i = 0; i < 28; i++) {
282       if (la1tokens[i]) {
283         jj_expentry = new int[1];
284         jj_expentry[0] = i;
285         jj_expentries.addElement(jj_expentry);
286       }
287     }
288     int[][] exptokseq = new int[jj_expentries.size()][];
289     for (int i = 0; i < jj_expentries.size(); i++) {
290       exptokseq[i] = (int[])jj_expentries.elementAt(i);
291     }
292     return new ParseException(token, exptokseq, tokenImage);
293   }
294 
295   final public void enable_tracing() {
296   }
297 
298   final public void disable_tracing() {
299   }
300 
301 }