Clover icon

Coverage Report

  1. Project Clover database Thu Aug 13 2020 12:04:21 BST
  2. Package org.json.simple.parser

File Yylex.java

 

Coverage histogram

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

Code metrics

44
249
21
1
758
514
94
0.38
11.86
21
4.48

Classes

Class Line # Actions
Yylex 5 249 94
0.65605165.6%
 

Contributing tests

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