Clover icon

Coverage Report

  1. Project Clover database Mon Oct 6 2025 17:39:40 BST
  2. Package org.json.simple.parser

File Yylex.java

 

Coverage histogram

../../../../img/srcFileCovDistChart7.png
30% 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 106 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  13 toggle private static int[] zzUnpackAction()
51    {
52  13 int[] result = new int[45];
53  13 int offset = 0;
54  13 offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
55  13 return result;
56    }
57   
 
58  13 toggle private static int zzUnpackAction(String packed, int offset, int[] result)
59    {
60  13 int i = 0; /* index in packed string */
61  13 int j = offset; /* index in unpacked array */
62  13 int l = packed.length();
63  442 while (i < l)
64    {
65  429 int count = packed.charAt(i++);
66  429 int value = packed.charAt(i++);
67  429 do
68  585 result[j++] = value;
69  585 while (--count > 0);
70    }
71  13 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  13 toggle private static int[] zzUnpackRowMap()
87    {
88  13 int[] result = new int[45];
89  13 int offset = 0;
90  13 offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
91  13 return result;
92    }
93   
 
94  13 toggle private static int zzUnpackRowMap(String packed, int offset, int[] result)
95    {
96  13 int i = 0; /* index in packed string */
97  13 int j = offset; /* index in unpacked array */
98  13 int l = packed.length();
99  598 while (i < l)
100    {
101  585 int high = packed.codePointAt(i++) << 16;
102  585 result[j++] = high | packed.codePointAt(i++);
103    }
104  13 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  13 toggle private static int[] zzUnpackAttribute()
172    {
173  13 int[] result = new int[45];
174  13 int offset = 0;
175  13 offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
176  13 return result;
177    }
178   
 
179  13 toggle private static int zzUnpackAttribute(String packed, int offset,
180    int[] result)
181    {
182  13 int i = 0; /* index in packed string */
183  13 int j = offset; /* index in unpacked array */
184  13 int l = packed.length();
185  247 while (i < l)
186    {
187  234 int count = packed.charAt(i++);
188  234 int value = packed.charAt(i++);
189  234 do
190  585 result[j++] = value;
191  585 while (--count > 0);
192    }
193  13 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  291 toggle Yylex(java.io.Reader in)
262    {
263  291 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  13 toggle private static char[] zzUnpackCMap(String packed)
286    {
287  13 char[] map = new char[0x10000];
288  13 int i = 0; /* index in packed string */
289  13 int j = 0; /* index in unpacked array */
290  598 while (i < 90)
291    {
292  585 int count = packed.charAt(i++);
293  585 char value = packed.charAt(i++);
294  585 do
295  851968 map[j++] = value;
296  851968 while (--count > 0);
297    }
298  13 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  2028 toggle private boolean zzRefill() throws java.io.IOException
310    {
311   
312    /* first: make room (if you can) */
313  2028 if (zzStartRead > 0)
314    {
315  1737 System.arraycopy(zzBuffer, zzStartRead, zzBuffer, 0,
316    zzEndRead - zzStartRead);
317   
318    /* translate stored positions */
319  1737 zzEndRead -= zzStartRead;
320  1737 zzCurrentPos -= zzStartRead;
321  1737 zzMarkedPos -= zzStartRead;
322  1737 zzStartRead = 0;
323    }
324   
325    /* is the buffer big enough? */
326  2028 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  2028 int numRead = zzReader.read(zzBuffer, zzEndRead,
336    zzBuffer.length - zzEndRead);
337   
338  2028 if (numRead > 0)
339    {
340  1607 zzEndRead += numRead;
341  1607 return false;
342    }
343    // unlikely but not impossible: read 0 characters, but not at end of stream
344  421 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  421 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  291 toggle public final void yyreset(java.io.Reader reader)
386    {
387  291 zzReader = reader;
388  291 zzAtBOL = true;
389  291 zzAtEOF = false;
390  291 zzEndRead = zzStartRead = 0;
391  291 zzCurrentPos = zzMarkedPos = 0;
392  291 yyline = yychar = yycolumn = 0;
393  291 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  1183036 toggle public final void yybegin(int newState)
411    {
412  1183036 zzLexicalState = newState;
413    }
414   
415    /**
416    * Returns the text matched by the current regular expression.
417    */
 
418  5357527 toggle public final String yytext()
419    {
420  5357527 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  10963891 toggle public Yytoken yylex() throws java.io.IOException, ParseException
501    {
502  10963891 int zzInput;
503  10963891 int zzAction;
504   
505    // cached fields:
506  10963891 int zzCurrentPosL;
507  10963891 int zzMarkedPosL;
508  10963891 int zzEndReadL = zzEndRead;
509  10963891 char[] zzBufferL = zzBuffer;
510  10963891 char[] zzCMapL = ZZ_CMAP;
511   
512  10963891 int[] zzTransL = ZZ_TRANS;
513  10963891 int[] zzRowMapL = ZZ_ROWMAP;
514  10963891 int[] zzAttrL = ZZ_ATTRIBUTE;
515   
516  10963891 while (true)
517    {
518  12346273 zzMarkedPosL = zzMarkedPos;
519   
520  12346273 yychar += zzMarkedPosL - zzStartRead;
521   
522  12346273 zzAction = -1;
523   
524  12346273 zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
525   
526  12346273 zzState = ZZ_LEXSTATE[zzLexicalState];
527   
528  12346273 zzForAction:
529    {
530  12346273 while (true)
531    {
532   
533  28309406 if (zzCurrentPosL < zzEndReadL)
534  28307378 zzInput = zzBufferL[zzCurrentPosL++];
535  2028 else if (zzAtEOF)
536    {
537  0 zzInput = YYEOF;
538  0 break zzForAction;
539    }
540    else
541    {
542    // store back cached positions
543  2028 zzCurrentPos = zzCurrentPosL;
544  2028 zzMarkedPos = zzMarkedPosL;
545  2028 boolean eof = zzRefill();
546    // get translated positions and possibly new buffer
547  2028 zzCurrentPosL = zzCurrentPos;
548  2028 zzMarkedPosL = zzMarkedPos;
549  2028 zzBufferL = zzBuffer;
550  2028 zzEndReadL = zzEndRead;
551  2028 if (eof)
552    {
553  421 zzInput = YYEOF;
554  421 break zzForAction;
555    }
556    else
557    {
558  1607 zzInput = zzBufferL[zzCurrentPosL++];
559    }
560    }
561  28308985 int zzNext = zzTransL[zzRowMapL[zzState] + zzCMapL[zzInput]];
562  28308985 if (zzNext == -1)
563  5472306 break zzForAction;
564  22836679 zzState = zzNext;
565   
566  22836679 int zzAttributes = zzAttrL[zzState];
567  22836679 if ((zzAttributes & 1) == 1)
568    {
569  22625496 zzAction = zzState;
570  22625496 zzMarkedPosL = zzCurrentPosL;
571  22625496 if ((zzAttributes & 8) == 8)
572  6873546 break zzForAction;
573    }
574   
575    }
576    }
577   
578    // store back cached position
579  12346273 zzMarkedPos = zzMarkedPosL;
580  12346273 switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction])
581    {
582  624927 case 11:
583    {
584  624927 sb.append(yytext());
585    }
586  0 case 25:
587  624927 break;
588  591518 case 4:
589    {
590  591518 sb = null;
591  591518 sb = new StringBuffer();
592  591518 yybegin(STRING_BEGIN);
593    }
594  0 case 26:
595  591518 break;
596  0 case 16:
597    {
598  0 sb.append('\b');
599    }
600  0 case 27:
601  0 break;
602  55551 case 6:
603    {
604  55551 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  591518 case 13:
622    {
623  591518 yybegin(YYINITIAL);
624  591518 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  100600 case 21:
635    {
636  100600 Double val = Double.valueOf(yytext());
637  100600 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  47654 case 8:
650    {
651  47654 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  50550 case 15:
662    {
663  50550 sb.append('/');
664    }
665  0 case 37:
666  50550 break;
667  338318 case 10:
668    {
669  338318 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  55551 case 5:
680    {
681  55551 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  47654 case 7:
712    {
713  47654 return new Yytoken(Yytoken.TYPE_LEFT_SQUARE, null);
714    }
715  0 case 44:
716  0 break;
717  4631736 case 2:
718    {
719  4631736 Long val = Long.valueOf(yytext());
720  4631736 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  5040125 case 9:
731    {
732  5040125 return new Yytoken(Yytoken.TYPE_COMMA, null);
733    }
734  0 case 47:
735  0 break;
736  115071 case 3:
737    {
738    }
739  0 case 48:
740  115071 break;
741  291 default:
742  291 if (zzInput == YYEOF && zzStartRead == zzCurrentPos)
743    {
744  291 zzAtEOF = true;
745  291 return null;
746    }
747    else
748    {
749  0 zzScanError(ZZ_NO_MATCH);
750    }
751    }
752    }
753    }
754   
755    }