Clover icon

Coverage Report

  1. Project Clover database Mon Sep 2 2024 17:57:51 BST
  2. Package org.json.simple.parser

File Yylex.java

 

Coverage histogram

../../../../img/srcFileCovDistChart7.png
29% of files have more coverage

Code metrics

44
249
21
1
755
513
94
0.38
11.86
21
4.48

Classes

Class Line # Actions
Yylex 5 249 94
0.681528768.2%
 

Contributing tests

This file is covered by 92 tests. .

Source view

1    /* The following code was generated by JFlex 1.4.2 */
2   
3    package org.json.simple.parser;
4   
 
5    class Yylex
6    {
7   
8    /** This character denotes the end of file */
9    public static final int YYEOF = -1;
10   
11    /** initial size of the lookahead buffer */
12    private static final int ZZ_BUFFERSIZE = 16384;
13   
14    /** lexical states */
15    public static final int YYINITIAL = 0;
16   
17    public static final int STRING_BEGIN = 2;
18   
19    /**
20    * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
21    * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l at the
22    * beginning of a line l is of the form l = 2*k, k a non negative integer
23    */
24    private static final int ZZ_LEXSTATE[] = { 0, 0, 1, 1 };
25   
26    /**
27    * Translates characters to character classes
28    */
29    private static final String ZZ_CMAP_PACKED = "\11\0\1\7\1\7\2\0\1\7\22\0\1\7\1\0\1\11\10\0"
30    + "\1\6\1\31\1\2\1\4\1\12\12\3\1\32\6\0\4\1\1\5"
31    + "\1\1\24\0\1\27\1\10\1\30\3\0\1\22\1\13\2\1\1\21"
32    + "\1\14\5\0\1\23\1\0\1\15\3\0\1\16\1\24\1\17\1\20"
33    + "\5\0\1\25\1\0\1\26\uff82\0";
34   
35    /**
36    * Translates characters to character classes
37    */
38    private static final char[] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
39   
40    /**
41    * Translates DFA states to action switch labels.
42    */
43    private static final int[] ZZ_ACTION = zzUnpackAction();
44   
45    private static final String ZZ_ACTION_PACKED_0 = "\2\0\2\1\1\2\1\3\1\4\3\1\1\5\1\6"
46    + "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\5\0"
47    + "\1\14\1\16\1\17\1\20\1\21\1\22\1\23\1\24"
48    + "\1\0\1\25\1\0\1\25\4\0\1\26\1\27\2\0" + "\1\30";
49   
 
50  12 toggle private static int[] zzUnpackAction()
51    {
52  12 int[] result = new int[45];
53  12 int offset = 0;
54  12 offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
55  12 return result;
56    }
57   
 
58  12 toggle private static int zzUnpackAction(String packed, int offset, int[] result)
59    {
60  12 int i = 0; /* index in packed string */
61  12 int j = offset; /* index in unpacked array */
62  12 int l = packed.length();
63  408 while (i < l)
64    {
65  396 int count = packed.charAt(i++);
66  396 int value = packed.charAt(i++);
67  396 do
68  540 result[j++] = value;
69  540 while (--count > 0);
70    }
71  12 return j;
72    }
73   
74    /**
75    * Translates a state to a row index in the transition table
76    */
77    private static final int[] ZZ_ROWMAP = zzUnpackRowMap();
78   
79    private static final String ZZ_ROWMAP_PACKED_0 = "\0\0\0\33\0\66\0\121\0\154\0\207\0\66\0\242"
80    + "\0\275\0\330\0\66\0\66\0\66\0\66\0\66\0\66"
81    + "\0\363\0\u010e\0\66\0\u0129\0\u0144\0\u015f\0\u017a\0\u0195"
82    + "\0\66\0\66\0\66\0\66\0\66\0\66\0\66\0\66"
83    + "\0\u01b0\0\u01cb\0\u01e6\0\u01e6\0\u0201\0\u021c\0\u0237\0\u0252"
84    + "\0\66\0\66\0\u026d\0\u0288\0\66";
85   
 
86  12 toggle private static int[] zzUnpackRowMap()
87    {
88  12 int[] result = new int[45];
89  12 int offset = 0;
90  12 offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
91  12 return result;
92    }
93   
 
94  12 toggle private static int zzUnpackRowMap(String packed, int offset, int[] result)
95    {
96  12 int i = 0; /* index in packed string */
97  12 int j = offset; /* index in unpacked array */
98  12 int l = packed.length();
99  552 while (i < l)
100    {
101  540 int high = packed.codePointAt(i++) << 16;
102  540 result[j++] = high | packed.codePointAt(i++);
103    }
104  12 return j;
105    }
106   
107    /**
108    * The transition table of the DFA
109    */
110    private static final int ZZ_TRANS[] = { 2, 2, 3, 4, 2, 2, 2, 5, 2, 6, 2,
111    2, 7, 8, 2, 9, 2, 2, 2, 2, 2, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16,
112    16, 16, 16, 16, 17, 18, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
113    16, 16, 16, 16, 16, 16, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
114    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
115    -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
116    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 19, 20, -1, -1, -1, -1,
117    -1, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1,
118    -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
119    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
120    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 21, -1, -1, -1, -1, -1, -1,
121    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
122    -1, 22, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
123    -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1,
124    -1, -1, -1, -1, -1, 16, 16, 16, 16, 16, 16, 16, 16, -1, -1, 16, 16,
125    16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -1, -1,
126    -1, -1, -1, -1, -1, -1, 24, 25, 26, 27, 28, 29, 30, 31, 32, -1, -1,
127    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1,
128    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
129    -1, -1, -1, 34, 35, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, -1,
130    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
131    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1,
132    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
133    -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
134    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1,
135    -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, 39, -1, 39, -1, -1, -1, -1,
136    -1, 39, 39, -1, -1, -1, -1, 39, 39, -1, -1, -1, -1, -1, -1, -1, -1,
137    -1, -1, -1, 33, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
138    20, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1,
139    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
140    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
141    -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
142    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 40, -1,
143    -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
144    -1, -1, -1, -1, -1, -1, 41, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
145    42, -1, 42, -1, 42, -1, -1, -1, -1, -1, 42, 42, -1, -1, -1, -1, 42,
146    42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, -1, 43, -1, 43, -1, -1,
147    -1, -1, -1, 43, 43, -1, -1, -1, -1, 43, 43, -1, -1, -1, -1, -1, -1,
148    -1, -1, -1, 44, -1, 44, -1, 44, -1, -1, -1, -1, -1, 44, 44, -1, -1,
149    -1, -1, 44, 44, -1, -1, -1, -1, -1, -1, -1, -1, };
150   
151    /* error codes */
152    private static final int ZZ_UNKNOWN_ERROR = 0;
153   
154    private static final int ZZ_NO_MATCH = 1;
155   
156    private static final int ZZ_PUSHBACK_2BIG = 2;
157   
158    /* error messages for the codes above */
159    private static final String ZZ_ERROR_MSG[] = {
160    "Unkown internal scanner error", "Error: could not match input",
161    "Error: pushback value was too large" };
162   
163    /**
164    * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
165    */
166    private static final int[] ZZ_ATTRIBUTE = zzUnpackAttribute();
167   
168    private static final String ZZ_ATTRIBUTE_PACKED_0 = "\2\0\1\11\3\1\1\11\3\1\6\11\2\1\1\11"
169    + "\5\0\10\11\1\0\1\1\1\0\1\1\4\0\2\11" + "\2\0\1\11";
170   
 
171  12 toggle private static int[] zzUnpackAttribute()
172    {
173  12 int[] result = new int[45];
174  12 int offset = 0;
175  12 offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
176  12 return result;
177    }
178   
 
179  12 toggle private static int zzUnpackAttribute(String packed, int offset,
180    int[] result)
181    {
182  12 int i = 0; /* index in packed string */
183  12 int j = offset; /* index in unpacked array */
184  12 int l = packed.length();
185  228 while (i < l)
186    {
187  216 int count = packed.charAt(i++);
188  216 int value = packed.charAt(i++);
189  216 do
190  540 result[j++] = value;
191  540 while (--count > 0);
192    }
193  12 return j;
194    }
195   
196    /** the input device */
197    private java.io.Reader zzReader;
198   
199    /** the current state of the DFA */
200    private int zzState;
201   
202    /** the current lexical state */
203    private int zzLexicalState = YYINITIAL;
204   
205    /**
206    * this buffer contains the current text to be matched and is the source of
207    * the yytext() string
208    */
209    private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
210   
211    /** the textposition at the last accepting state */
212    private int zzMarkedPos;
213   
214    /** the current text position in the buffer */
215    private int zzCurrentPos;
216   
217    /** startRead marks the beginning of the yytext() string in the buffer */
218    private int zzStartRead;
219   
220    /**
221    * endRead marks the last character in the buffer, that has been read from
222    * input
223    */
224    private int zzEndRead;
225   
226    /** number of newlines encountered up to the start of the matched text */
227    private int yyline;
228   
229    /** the number of characters up to the start of the matched text */
230    private int yychar;
231   
232    /**
233    * the number of characters from the last newline up to the start of the
234    * matched text
235    */
236    private int yycolumn;
237   
238    /**
239    * zzAtBOL == true <=> the scanner is currently at the beginning of a line
240    */
241    private boolean zzAtBOL = true;
242   
243    /** zzAtEOF == true <=> the scanner is at the EOF */
244    private boolean zzAtEOF;
245   
246    /* user code: */
247    private StringBuffer sb = new StringBuffer();
248   
 
249  0 toggle int getPosition()
250    {
251  0 return yychar;
252    }
253   
254    /**
255    * Creates a new scanner There is also a java.io.InputStream version of this
256    * constructor.
257    *
258    * @param in
259    * the java.io.Reader to read input from.
260    */
 
261  223 toggle Yylex(java.io.Reader in)
262    {
263  223 this.zzReader = in;
264    }
265   
266    /**
267    * Creates a new scanner. There is also java.io.Reader version of this
268    * constructor.
269    *
270    * @param in
271    * the java.io.Inputstream to read input from.
272    */
 
273  0 toggle Yylex(java.io.InputStream in)
274    {
275  0 this(new java.io.InputStreamReader(in));
276    }
277   
278    /**
279    * Unpacks the compressed character translation table.
280    *
281    * @param packed
282    * the packed character translation table
283    * @return the unpacked character translation table
284    */
 
285  12 toggle private static char[] zzUnpackCMap(String packed)
286    {
287  12 char[] map = new char[0x10000];
288  12 int i = 0; /* index in packed string */
289  12 int j = 0; /* index in unpacked array */
290  552 while (i < 90)
291    {
292  540 int count = packed.charAt(i++);
293  540 char value = packed.charAt(i++);
294  540 do
295  786432 map[j++] = value;
296  786432 while (--count > 0);
297    }
298  12 return map;
299    }
300   
301    /**
302    * Refills the input buffer.
303    *
304    * @return <code>false</code>, iff there was new input.
305    *
306    * @exception java.io.IOException
307    * if any I/O-Error occurs
308    */
 
309  1768 toggle private boolean zzRefill() throws java.io.IOException
310    {
311   
312    /* first: make room (if you can) */
313  1768 if (zzStartRead > 0)
314    {
315  1545 System.arraycopy(zzBuffer, zzStartRead, zzBuffer, 0,
316    zzEndRead - zzStartRead);
317   
318    /* translate stored positions */
319  1545 zzEndRead -= zzStartRead;
320  1545 zzCurrentPos -= zzStartRead;
321  1545 zzMarkedPos -= zzStartRead;
322  1545 zzStartRead = 0;
323    }
324   
325    /* is the buffer big enough? */
326  1768 if (zzCurrentPos >= zzBuffer.length)
327    {
328    /* if not: blow it up */
329  0 char newBuffer[] = new char[zzCurrentPos * 2];
330  0 System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
331  0 zzBuffer = newBuffer;
332    }
333   
334    /* finally: fill the buffer with new input */
335  1768 int numRead = zzReader.read(zzBuffer, zzEndRead,
336    zzBuffer.length - zzEndRead);
337   
338  1768 if (numRead > 0)
339    {
340  1430 zzEndRead += numRead;
341  1430 return false;
342    }
343    // unlikely but not impossible: read 0 characters, but not at end of stream
344  338 if (numRead == 0)
345    {
346  0 int c = zzReader.read();
347  0 if (c == -1)
348    {
349  0 return true;
350    }
351    else
352    {
353  0 zzBuffer[zzEndRead++] = (char) c;
354  0 return false;
355    }
356    }
357   
358    // numRead < 0
359  338 return true;
360    }
361   
362    /**
363    * Closes the input stream.
364    */
 
365  0 toggle public final void yyclose() throws java.io.IOException
366    {
367  0 zzAtEOF = true; /* indicate end of file */
368  0 zzEndRead = zzStartRead; /* invalidate buffer */
369   
370  0 if (zzReader != null)
371  0 zzReader.close();
372    }
373   
374    /**
375    * Resets the scanner to read from a new input stream. Does not close the old
376    * reader.
377    *
378    * All internal variables are reset, the old input stream <b>cannot</b> be
379    * reused (internal buffer is discarded and lost). Lexical state is set to
380    * <tt>ZZ_INITIAL</tt>.
381    *
382    * @param reader
383    * the new input stream
384    */
 
385  223 toggle public final void yyreset(java.io.Reader reader)
386    {
387  223 zzReader = reader;
388  223 zzAtBOL = true;
389  223 zzAtEOF = false;
390  223 zzEndRead = zzStartRead = 0;
391  223 zzCurrentPos = zzMarkedPos = 0;
392  223 yyline = yychar = yycolumn = 0;
393  223 zzLexicalState = YYINITIAL;
394    }
395   
396    /**
397    * Returns the current lexical state.
398    */
 
399  0 toggle public final int yystate()
400    {
401  0 return zzLexicalState;
402    }
403   
404    /**
405    * Enters a new lexical state
406    *
407    * @param newState
408    * the new lexical state
409    */
 
410  1151790 toggle public final void yybegin(int newState)
411    {
412  1151790 zzLexicalState = newState;
413    }
414   
415    /**
416    * Returns the text matched by the current regular expression.
417    */
 
418  4551518 toggle public final String yytext()
419    {
420  4551518 return new String(zzBuffer, zzStartRead, zzMarkedPos - zzStartRead);
421    }
422   
423    /**
424    * Returns the character at position <tt>pos</tt> from the matched text.
425    *
426    * It is equivalent to yytext().charAt(pos), but faster
427    *
428    * @param pos
429    * the position of the character to fetch. A value from 0 to
430    * yylength()-1.
431    *
432    * @return the character at position pos
433    */
 
434  0 toggle public final char yycharat(int pos)
435    {
436  0 return zzBuffer[zzStartRead + pos];
437    }
438   
439    /**
440    * Returns the length of the matched text region.
441    */
 
442  0 toggle public final int yylength()
443    {
444  0 return zzMarkedPos - zzStartRead;
445    }
446   
447    /**
448    * Reports an error that occured while scanning.
449    *
450    * In a wellformed scanner (no or only correct usage of yypushback(int) and a
451    * match-all fallback rule) this method will only be called with things that
452    * "Can't Possibly Happen". If this method is called, something is seriously
453    * wrong (e.g. a JFlex bug producing a faulty scanner etc.).
454    *
455    * Usual syntax/scanner level error handling should be done in error fallback
456    * rules.
457    *
458    * @param errorCode
459    * the code of the errormessage to display
460    */
 
461  0 toggle private void zzScanError(int errorCode)
462    {
463  0 String message;
464  0 try
465    {
466  0 message = ZZ_ERROR_MSG[errorCode];
467    } catch (ArrayIndexOutOfBoundsException e)
468    {
469  0 message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
470    }
471   
472  0 throw new Error(message);
473    }
474   
475    /**
476    * Pushes the specified amount of characters back into the input stream.
477    *
478    * They will be read again by then next call of the scanning method
479    *
480    * @param number
481    * the number of characters to be read again. This number must not be
482    * greater than yylength()!
483    */
 
484  0 toggle public void yypushback(int number)
485    {
486  0 if (number > yylength())
487  0 zzScanError(ZZ_PUSHBACK_2BIG);
488   
489  0 zzMarkedPos -= number;
490    }
491   
492    /**
493    * Resumes scanning until the next regular expression is matched, the end of
494    * input is encountered or an I/O-Error occurs.
495    *
496    * @return the next token
497    * @exception java.io.IOException
498    * if any I/O-Error occurs
499    */
 
500  9342705 toggle public Yytoken yylex() throws java.io.IOException, ParseException
501    {
502  9342705 int zzInput;
503  9342705 int zzAction;
504   
505    // cached fields:
506  9342705 int zzCurrentPosL;
507  9342705 int zzMarkedPosL;
508  9342705 int zzEndReadL = zzEndRead;
509  9342705 char[] zzBufferL = zzBuffer;
510  9342705 char[] zzCMapL = ZZ_CMAP;
511   
512  9342705 int[] zzTransL = ZZ_TRANS;
513  9342705 int[] zzRowMapL = ZZ_ROWMAP;
514  9342705 int[] zzAttrL = ZZ_ATTRIBUTE;
515   
516  9342705 while (true)
517    {
518  10666163 zzMarkedPosL = zzMarkedPos;
519   
520  10666163 yychar += zzMarkedPosL - zzStartRead;
521   
522  10666163 zzAction = -1;
523   
524  10666163 zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
525   
526  10666163 zzState = ZZ_LEXSTATE[zzLexicalState];
527   
528  10666163 zzForAction:
529    {
530  10666163 while (true)
531    {
532   
533  25297921 if (zzCurrentPosL < zzEndReadL)
534  25296153 zzInput = zzBufferL[zzCurrentPosL++];
535  1768 else if (zzAtEOF)
536    {
537  0 zzInput = YYEOF;
538  0 break zzForAction;
539    }
540    else
541    {
542    // store back cached positions
543  1768 zzCurrentPos = zzCurrentPosL;
544  1768 zzMarkedPos = zzMarkedPosL;
545  1768 boolean eof = zzRefill();
546    // get translated positions and possibly new buffer
547  1768 zzCurrentPosL = zzCurrentPos;
548  1768 zzMarkedPosL = zzMarkedPos;
549  1768 zzBufferL = zzBuffer;
550  1768 zzEndReadL = zzEndRead;
551  1768 if (eof)
552    {
553  338 zzInput = YYEOF;
554  338 break zzForAction;
555    }
556    else
557    {
558  1430 zzInput = zzBufferL[zzCurrentPosL++];
559    }
560    }
561  25297583 int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
562  25297583 if (zzNext == -1)
563  4648124 break zzForAction;
564  20649459 zzState = zzNext;
565   
566  20649459 int zzAttributes = zzAttrL[zzState];
567  20649459 if ((zzAttributes & 1) == 1)
568    {
569  20456034 zzAction = zzState;
570  20456034 zzMarkedPosL = zzCurrentPosL;
571  20456034 if ((zzAttributes & 8) == 8)
572  6017701 break zzForAction;
573    }
574   
575    }
576    }
577   
578    // store back cached position
579  10666163 zzMarkedPos = zzMarkedPosL;
580  10666163 switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction])
581    {
582  605508 case 11:
583    {
584  605508 sb.append(yytext());
585    }
586  0 case 25:
587  605508 break;
588  575895 case 4:
589    {
590  575895 sb = null;
591  575895 sb = new StringBuffer();
592  575895 yybegin(STRING_BEGIN);
593    }
594  0 case 26:
595  575895 break;
596  0 case 16:
597    {
598  0 sb.append('\b');
599    }
600  0 case 27:
601  0 break;
602  53543 case 6:
603    {
604  53543 return new Yytoken(Yytoken.TYPE_RIGHT_BRACE, null);
605    }
606  0 case 28:
607  0 break;
608  74 case 23:
609    {
610  74 Boolean val = Boolean.valueOf(yytext());
611  74 return new Yytoken(Yytoken.TYPE_VALUE, val);
612    }
613  0 case 29:
614  0 break;
615  54819 case 22:
616    {
617  54819 return new Yytoken(Yytoken.TYPE_VALUE, null);
618    }
619  0 case 30:
620  0 break;
621  575895 case 13:
622    {
623  575895 yybegin(YYINITIAL);
624  575895 return new Yytoken(Yytoken.TYPE_VALUE, sb.toString());
625    }
626  0 case 31:
627  0 break;
628  102 case 12:
629    {
630  102 sb.append('\\');
631    }
632  0 case 32:
633  102 break;
634  82842 case 21:
635    {
636  82842 Double val = Double.valueOf(yytext());
637  82842 return new Yytoken(Yytoken.TYPE_VALUE, val);
638    }
639  0 case 33:
640  0 break;
641  0 case 1:
642    {
643  0 throw new ParseException(yychar,
644    ParseException.ERROR_UNEXPECTED_CHAR,
645    new Character(yycharat(0)));
646    }
647  0 case 34:
648  0 break;
649  41282 case 8:
650    {
651  41282 return new Yytoken(Yytoken.TYPE_RIGHT_SQUARE, null);
652    }
653  0 case 35:
654  0 break;
655  0 case 19:
656    {
657  0 sb.append('\r');
658    }
659  0 case 36:
660  0 break;
661  44856 case 15:
662    {
663  44856 sb.append('/');
664    }
665  0 case 37:
666  44856 break;
667  330441 case 10:
668    {
669  330441 return new Yytoken(Yytoken.TYPE_COLON, null);
670    }
671  0 case 38:
672  0 break;
673  24 case 14:
674    {
675  24 sb.append('"');
676    }
677  0 case 39:
678  24 break;
679  53543 case 5:
680    {
681  53543 return new Yytoken(Yytoken.TYPE_LEFT_BRACE, null);
682    }
683  0 case 40:
684  0 break;
685  0 case 17:
686    {
687  0 sb.append('\f');
688    }
689  0 case 41:
690  0 break;
691  190 case 24:
692    {
693  190 try
694    {
695  190 int ch = Integer.parseInt(yytext().substring(2), 16);
696  190 sb.append((char) ch);
697    } catch (Exception e)
698    {
699  0 throw new ParseException(yychar,
700    ParseException.ERROR_UNEXPECTED_EXCEPTION, e);
701    }
702    }
703  0 case 42:
704  190 break;
705  0 case 20:
706    {
707  0 sb.append('\t');
708    }
709  0 case 43:
710  0 break;
711  41282 case 7:
712    {
713  41282 return new Yytoken(Yytoken.TYPE_LEFT_SQUARE, null);
714    }
715  0 case 44:
716  0 break;
717  3862904 case 2:
718    {
719  3862904 Long val = Long.valueOf(yytext());
720  3862904 return new Yytoken(Yytoken.TYPE_VALUE, val);
721    }
722  0 case 45:
723  0 break;
724  0 case 18:
725    {
726  0 sb.append('\n');
727    }
728  0 case 46:
729  0 break;
730  4245857 case 9:
731    {
732  4245857 return new Yytoken(Yytoken.TYPE_COMMA, null);
733    }
734  0 case 47:
735  0 break;
736  96883 case 3:
737    {
738    }
739  0 case 48:
740  96883 break;
741  223 default:
742  223 if (zzInput == YYEOF && zzStartRead == zzCurrentPos)
743    {
744  223 zzAtEOF = true;
745  223 return null;
746    }
747    else
748    {
749  0 zzScanError(ZZ_NO_MATCH);
750    }
751    }
752    }
753    }
754   
755    }