-<classpath>\r
- <classpathentry kind="src" path="src/main/java"/>\r
- <classpathentry kind="src" path="src/main/resources" excluding="**/.svn/**|**/*.java"/>\r
- <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>\r
- <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>\r
- <classpathentry kind="output" path="target/classes"/>\r
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
- <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>\r
- <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.1.3/antlr-3.1.3.jar"/>\r
- <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.3/antlr-runtime-3.1.3.jar"/>\r
- <classpathentry kind="var" path="M2_REPO/junit/junit/4.1/junit-4.1.jar"/>\r
- <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar"/>\r
- <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar"/>\r
+<classpath>
+ <classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources" excluding="**/.svn/**|**/*.java"/>
+ <classpathentry kind="src" path="src/test/java" output="target/test-classes"/>
+ <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/>
+ <classpathentry kind="output" path="target/classes"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="var" path="M2_REPO/antlr/antlr/2.7.7/antlr-2.7.7.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr/3.1.3/antlr-3.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/antlr-runtime/3.1.3/antlr-runtime-3.1.3.jar"/>
+ <classpathentry kind="var" path="M2_REPO/junit/junit/4.1/junit-4.1.jar"/>
+ <classpathentry kind="var" path="M2_REPO/org/antlr/stringtemplate/3.2/stringtemplate-3.2.jar"/>
+ <classpathentry kind="var" path="M2_REPO/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar"/>
</classpath>
\ No newline at end of file
-<projectDescription>\r
- <name>xerial-core</name>\r
- <comment>xerial-core is a common utilities for the Xerial project.</comment>\r
- <projects/>\r
- <buildSpec>\r
- <buildCommand>\r
- <name>org.eclipse.hyades.probekit.probekitbuilder</name>\r
- </buildCommand>\r
- <buildCommand>\r
- <name>org.eclipse.jdt.core.javabuilder</name>\r
- </buildCommand>\r
- <buildCommand>\r
- <name>org.eclipse.hyades.probekit.probekitbundler</name>\r
- </buildCommand>\r
- <buildCommand>\r
- <name>org.eclipse.hyades.test.tools.core.java.junit.builder</name>\r
- </buildCommand>\r
- </buildSpec>\r
- <natures>\r
- <nature>org.eclipse.jdt.core.javanature</nature>\r
- <nature>org.eclipse.hyades.probekit.probekitnature</nature>\r
- </natures>\r
+<projectDescription>
+ <name>xerial-core</name>
+ <comment>xerial-core is a common utilities for the Xerial project.</comment>
+ <projects/>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.hyades.probekit.probekitbuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.hyades.probekit.probekitbundler</name>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.hyades.test.tools.core.java.junit.builder</name>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.hyades.probekit.probekitnature</nature>
+ </natures>
</projectDescription>
\ No newline at end of file
-ELEMENT=5\r
-OBJECT=4\r
-RBrace=13\r
-ARRAY=6\r
-LBracket=14\r
-Digit=20\r
-Frac=26\r
-HexDigit=21\r
-DOUBLE=9\r
-Exp=27\r
-STRING=7\r
-Int=25\r
-FALSE=18\r
-UnicodeChar=22\r
-StringChar=24\r
-String=29\r
-INTEGER=8\r
-Comma=11\r
-Dot=16\r
-EscapeSequence=23\r
-NULL=19\r
-Integer=30\r
-Double=31\r
-LBrace=12\r
-RBracket=15\r
-WhiteSpace=28\r
-Colon=10\r
-TRUE=17\r
+ELEMENT=5
+OBJECT=4
+RBrace=13
+ARRAY=6
+LBracket=14
+Digit=20
+Frac=26
+HexDigit=21
+DOUBLE=9
+Exp=27
+STRING=7
+Int=25
+FALSE=18
+UnicodeChar=22
+StringChar=24
+String=29
+INTEGER=8
+Comma=11
+Dot=16
+EscapeSequence=23
+NULL=19
+Integer=30
+Double=31
+LBrace=12
+RBracket=15
+WhiteSpace=28
+Colon=10
+TRUE=17
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSON.g 2009-07-03 16:06:10\r
-\r
-//--------------------------------------\r
-// XerialJ Project\r
-//\r
-// JSONLexer.java\r
-// Since: Apr 26, 2007\r
-//\r
-//--------------------------------------\r
-package org.xerial.json.impl;\r
-\r
-\r
-import org.antlr.runtime.*;\r
-import java.util.Stack;\r
-import java.util.List;\r
-import java.util.ArrayList;\r
-\r
-public class JSONLexer extends Lexer {\r
- public static final int OBJECT=4;\r
- public static final int ELEMENT=5;\r
- public static final int RBrace=13;\r
- public static final int ARRAY=6;\r
- public static final int LBracket=14;\r
- public static final int Digit=20;\r
- public static final int Frac=26;\r
- public static final int HexDigit=21;\r
- public static final int DOUBLE=9;\r
- public static final int Exp=27;\r
- public static final int STRING=7;\r
- public static final int Int=25;\r
- public static final int FALSE=18;\r
- public static final int UnicodeChar=22;\r
- public static final int StringChar=24;\r
- public static final int String=29;\r
- public static final int INTEGER=8;\r
- public static final int Comma=11;\r
- public static final int Dot=16;\r
- public static final int EscapeSequence=23;\r
- public static final int EOF=-1;\r
- public static final int NULL=19;\r
- public static final int Integer=30;\r
- public static final int LBrace=12;\r
- public static final int Double=31;\r
- public static final int RBracket=15;\r
- public static final int WhiteSpace=28;\r
- public static final int TRUE=17;\r
- public static final int Colon=10;\r
-\r
- // delegates\r
- // delegators\r
-\r
- public JSONLexer() {;} \r
- public JSONLexer(CharStream input) {\r
- this(input, new RecognizerSharedState());\r
- }\r
- public JSONLexer(CharStream input, RecognizerSharedState state) {\r
- super(input,state);\r
-\r
- }\r
- public String getGrammarFileName() { return "JSON.g"; }\r
-\r
- // $ANTLR start "Colon"\r
- public final void mColon() throws RecognitionException {\r
- try {\r
- int _type = Colon;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:71:6: ( ':' )\r
- // JSON.g:71:8: ':'\r
- {\r
- match(':'); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Colon"\r
-\r
- // $ANTLR start "Comma"\r
- public final void mComma() throws RecognitionException {\r
- try {\r
- int _type = Comma;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:72:6: ( ',' )\r
- // JSON.g:72:8: ','\r
- {\r
- match(','); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Comma"\r
-\r
- // $ANTLR start "LBrace"\r
- public final void mLBrace() throws RecognitionException {\r
- try {\r
- int _type = LBrace;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:73:7: ( '{' )\r
- // JSON.g:73:9: '{'\r
- {\r
- match('{'); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "LBrace"\r
-\r
- // $ANTLR start "RBrace"\r
- public final void mRBrace() throws RecognitionException {\r
- try {\r
- int _type = RBrace;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:74:7: ( '}' )\r
- // JSON.g:74:9: '}'\r
- {\r
- match('}'); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "RBrace"\r
-\r
- // $ANTLR start "LBracket"\r
- public final void mLBracket() throws RecognitionException {\r
- try {\r
- int _type = LBracket;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:75:9: ( '[' )\r
- // JSON.g:75:11: '['\r
- {\r
- match('['); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "LBracket"\r
-\r
- // $ANTLR start "RBracket"\r
- public final void mRBracket() throws RecognitionException {\r
- try {\r
- int _type = RBracket;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:76:9: ( ']' )\r
- // JSON.g:76:11: ']'\r
- {\r
- match(']'); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "RBracket"\r
-\r
- // $ANTLR start "Dot"\r
- public final void mDot() throws RecognitionException {\r
- try {\r
- // JSON.g:77:13: ( '.' )\r
- // JSON.g:77:15: '.'\r
- {\r
- match('.'); \r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Dot"\r
-\r
- // $ANTLR start "TRUE"\r
- public final void mTRUE() throws RecognitionException {\r
- try {\r
- int _type = TRUE;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:78:5: ( 'true' )\r
- // JSON.g:78:8: 'true'\r
- {\r
- match("true"); \r
-\r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "TRUE"\r
-\r
- // $ANTLR start "FALSE"\r
- public final void mFALSE() throws RecognitionException {\r
- try {\r
- int _type = FALSE;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:79:6: ( 'false' )\r
- // JSON.g:79:8: 'false'\r
- {\r
- match("false"); \r
-\r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "FALSE"\r
-\r
- // $ANTLR start "NULL"\r
- public final void mNULL() throws RecognitionException {\r
- try {\r
- int _type = NULL;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:80:5: ( 'null' )\r
- // JSON.g:80:7: 'null'\r
- {\r
- match("null"); \r
-\r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "NULL"\r
-\r
- // $ANTLR start "Digit"\r
- public final void mDigit() throws RecognitionException {\r
- try {\r
- // JSON.g:82:15: ( '0' .. '9' )\r
- // JSON.g:82:17: '0' .. '9'\r
- {\r
- matchRange('0','9'); \r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Digit"\r
-\r
- // $ANTLR start "HexDigit"\r
- public final void mHexDigit() throws RecognitionException {\r
- try {\r
- // JSON.g:83:18: ( ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' ) )\r
- // JSON.g:83:20: ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )\r
- {\r
- if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {\r
- input.consume();\r
-\r
- }\r
- else {\r
- MismatchedSetException mse = new MismatchedSetException(null,input);\r
- recover(mse);\r
- throw mse;}\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "HexDigit"\r
-\r
- // $ANTLR start "UnicodeChar"\r
- public final void mUnicodeChar() throws RecognitionException {\r
- try {\r
- // JSON.g:84:21: (~ ( '\"' | '\\\\' ) )\r
- // JSON.g:84:23: ~ ( '\"' | '\\\\' )\r
- {\r
- if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {\r
- input.consume();\r
-\r
- }\r
- else {\r
- MismatchedSetException mse = new MismatchedSetException(null,input);\r
- recover(mse);\r
- throw mse;}\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "UnicodeChar"\r
-\r
- // $ANTLR start "StringChar"\r
- public final void mStringChar() throws RecognitionException {\r
- try {\r
- // JSON.g:85:21: ( UnicodeChar | EscapeSequence )\r
- int alt1=2;\r
- int LA1_0 = input.LA(1);\r
-\r
- if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {\r
- alt1=1;\r
- }\r
- else if ( (LA1_0=='\\') ) {\r
- alt1=2;\r
- }\r
- else {\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 1, 0, input);\r
-\r
- throw nvae;\r
- }\r
- switch (alt1) {\r
- case 1 :\r
- // JSON.g:85:24: UnicodeChar\r
- {\r
- mUnicodeChar(); \r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:85:38: EscapeSequence\r
- {\r
- mEscapeSequence(); \r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "StringChar"\r
-\r
- // $ANTLR start "EscapeSequence"\r
- public final void mEscapeSequence() throws RecognitionException {\r
- try {\r
- // JSON.g:88:2: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) )\r
- // JSON.g:88:4: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
- {\r
- match('\\'); \r
- // JSON.g:88:9: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )\r
- int alt2=9;\r
- switch ( input.LA(1) ) {\r
- case '\"':\r
- {\r
- alt2=1;\r
- }\r
- break;\r
- case '\\':\r
- {\r
- alt2=2;\r
- }\r
- break;\r
- case '/':\r
- {\r
- alt2=3;\r
- }\r
- break;\r
- case 'b':\r
- {\r
- alt2=4;\r
- }\r
- break;\r
- case 'f':\r
- {\r
- alt2=5;\r
- }\r
- break;\r
- case 'n':\r
- {\r
- alt2=6;\r
- }\r
- break;\r
- case 'r':\r
- {\r
- alt2=7;\r
- }\r
- break;\r
- case 't':\r
- {\r
- alt2=8;\r
- }\r
- break;\r
- case 'u':\r
- {\r
- alt2=9;\r
- }\r
- break;\r
- default:\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 2, 0, input);\r
-\r
- throw nvae;\r
- }\r
-\r
- switch (alt2) {\r
- case 1 :\r
- // JSON.g:88:10: '\\\"'\r
- {\r
- match('\"'); \r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:88:17: '\\\\'\r
- {\r
- match('\\'); \r
-\r
- }\r
- break;\r
- case 3 :\r
- // JSON.g:88:24: '/'\r
- {\r
- match('/'); \r
-\r
- }\r
- break;\r
- case 4 :\r
- // JSON.g:88:30: 'b'\r
- {\r
- match('b'); \r
-\r
- }\r
- break;\r
- case 5 :\r
- // JSON.g:88:36: 'f'\r
- {\r
- match('f'); \r
-\r
- }\r
- break;\r
- case 6 :\r
- // JSON.g:88:42: 'n'\r
- {\r
- match('n'); \r
-\r
- }\r
- break;\r
- case 7 :\r
- // JSON.g:88:48: 'r'\r
- {\r
- match('r'); \r
-\r
- }\r
- break;\r
- case 8 :\r
- // JSON.g:88:54: 't'\r
- {\r
- match('t'); \r
-\r
- }\r
- break;\r
- case 9 :\r
- // JSON.g:88:60: 'u' HexDigit HexDigit HexDigit HexDigit\r
- {\r
- match('u'); \r
- mHexDigit(); \r
- mHexDigit(); \r
- mHexDigit(); \r
- mHexDigit(); \r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "EscapeSequence"\r
-\r
- // $ANTLR start "Int"\r
- public final void mInt() throws RecognitionException {\r
- try {\r
- // JSON.g:91:13: ( ( '-' )? ( '0' | '1' .. '9' ( Digit )* ) )\r
- // JSON.g:91:15: ( '-' )? ( '0' | '1' .. '9' ( Digit )* )\r
- {\r
- // JSON.g:91:15: ( '-' )?\r
- int alt3=2;\r
- int LA3_0 = input.LA(1);\r
-\r
- if ( (LA3_0=='-') ) {\r
- alt3=1;\r
- }\r
- switch (alt3) {\r
- case 1 :\r
- // JSON.g:91:15: '-'\r
- {\r
- match('-'); \r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
- // JSON.g:91:20: ( '0' | '1' .. '9' ( Digit )* )\r
- int alt5=2;\r
- int LA5_0 = input.LA(1);\r
-\r
- if ( (LA5_0=='0') ) {\r
- alt5=1;\r
- }\r
- else if ( ((LA5_0>='1' && LA5_0<='9')) ) {\r
- alt5=2;\r
- }\r
- else {\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 5, 0, input);\r
-\r
- throw nvae;\r
- }\r
- switch (alt5) {\r
- case 1 :\r
- // JSON.g:91:21: '0'\r
- {\r
- match('0'); \r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:91:27: '1' .. '9' ( Digit )*\r
- {\r
- matchRange('1','9'); \r
- // JSON.g:91:36: ( Digit )*\r
- loop4:\r
- do {\r
- int alt4=2;\r
- int LA4_0 = input.LA(1);\r
-\r
- if ( ((LA4_0>='0' && LA4_0<='9')) ) {\r
- alt4=1;\r
- }\r
-\r
-\r
- switch (alt4) {\r
- case 1 :\r
- // JSON.g:91:36: Digit\r
- {\r
- mDigit(); \r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop4;\r
- }\r
- } while (true);\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Int"\r
-\r
- // $ANTLR start "Frac"\r
- public final void mFrac() throws RecognitionException {\r
- try {\r
- // JSON.g:92:14: ( Dot ( Digit )+ )\r
- // JSON.g:92:16: Dot ( Digit )+\r
- {\r
- mDot(); \r
- // JSON.g:92:20: ( Digit )+\r
- int cnt6=0;\r
- loop6:\r
- do {\r
- int alt6=2;\r
- int LA6_0 = input.LA(1);\r
-\r
- if ( ((LA6_0>='0' && LA6_0<='9')) ) {\r
- alt6=1;\r
- }\r
-\r
-\r
- switch (alt6) {\r
- case 1 :\r
- // JSON.g:92:20: Digit\r
- {\r
- mDigit(); \r
-\r
- }\r
- break;\r
-\r
- default :\r
- if ( cnt6 >= 1 ) break loop6;\r
- EarlyExitException eee =\r
- new EarlyExitException(6, input);\r
- throw eee;\r
- }\r
- cnt6++;\r
- } while (true);\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Frac"\r
-\r
- // $ANTLR start "Exp"\r
- public final void mExp() throws RecognitionException {\r
- try {\r
- // JSON.g:93:13: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )\r
- // JSON.g:93:15: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+\r
- {\r
- if ( input.LA(1)=='E'||input.LA(1)=='e' ) {\r
- input.consume();\r
-\r
- }\r
- else {\r
- MismatchedSetException mse = new MismatchedSetException(null,input);\r
- recover(mse);\r
- throw mse;}\r
-\r
- // JSON.g:93:27: ( '+' | '-' )?\r
- int alt7=2;\r
- int LA7_0 = input.LA(1);\r
-\r
- if ( (LA7_0=='+'||LA7_0=='-') ) {\r
- alt7=1;\r
- }\r
- switch (alt7) {\r
- case 1 :\r
- // JSON.g:\r
- {\r
- if ( input.LA(1)=='+'||input.LA(1)=='-' ) {\r
- input.consume();\r
-\r
- }\r
- else {\r
- MismatchedSetException mse = new MismatchedSetException(null,input);\r
- recover(mse);\r
- throw mse;}\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
- // JSON.g:93:40: ( Digit )+\r
- int cnt8=0;\r
- loop8:\r
- do {\r
- int alt8=2;\r
- int LA8_0 = input.LA(1);\r
-\r
- if ( ((LA8_0>='0' && LA8_0<='9')) ) {\r
- alt8=1;\r
- }\r
-\r
-\r
- switch (alt8) {\r
- case 1 :\r
- // JSON.g:93:40: Digit\r
- {\r
- mDigit(); \r
-\r
- }\r
- break;\r
-\r
- default :\r
- if ( cnt8 >= 1 ) break loop8;\r
- EarlyExitException eee =\r
- new EarlyExitException(8, input);\r
- throw eee;\r
- }\r
- cnt8++;\r
- } while (true);\r
-\r
-\r
- }\r
-\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Exp"\r
-\r
- // $ANTLR start "WhiteSpace"\r
- public final void mWhiteSpace() throws RecognitionException {\r
- try {\r
- int _type = WhiteSpace;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:95:11: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )\r
- // JSON.g:95:13: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )\r
- {\r
- if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {\r
- input.consume();\r
-\r
- }\r
- else {\r
- MismatchedSetException mse = new MismatchedSetException(null,input);\r
- recover(mse);\r
- throw mse;}\r
-\r
- _channel=HIDDEN; \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "WhiteSpace"\r
-\r
- // $ANTLR start "String"\r
- public final void mString() throws RecognitionException {\r
- try {\r
- int _type = String;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:97:7: ( '\"' ( StringChar )* '\"' )\r
- // JSON.g:97:9: '\"' ( StringChar )* '\"'\r
- {\r
- match('\"'); \r
- // JSON.g:97:13: ( StringChar )*\r
- loop9:\r
- do {\r
- int alt9=2;\r
- int LA9_0 = input.LA(1);\r
-\r
- if ( ((LA9_0>='\u0000' && LA9_0<='!')||(LA9_0>='#' && LA9_0<='\uFFFF')) ) {\r
- alt9=1;\r
- }\r
-\r
-\r
- switch (alt9) {\r
- case 1 :\r
- // JSON.g:97:13: StringChar\r
- {\r
- mStringChar(); \r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop9;\r
- }\r
- } while (true);\r
-\r
- match('\"'); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "String"\r
-\r
- // $ANTLR start "Integer"\r
- public final void mInteger() throws RecognitionException {\r
- try {\r
- int _type = Integer;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:98:8: ( Int )\r
- // JSON.g:98:10: Int\r
- {\r
- mInt(); \r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Integer"\r
-\r
- // $ANTLR start "Double"\r
- public final void mDouble() throws RecognitionException {\r
- try {\r
- int _type = Double;\r
- int _channel = DEFAULT_TOKEN_CHANNEL;\r
- // JSON.g:99:7: ( Int ( Frac ( Exp )? | Exp ) )\r
- // JSON.g:99:10: Int ( Frac ( Exp )? | Exp )\r
- {\r
- mInt(); \r
- // JSON.g:99:14: ( Frac ( Exp )? | Exp )\r
- int alt11=2;\r
- int LA11_0 = input.LA(1);\r
-\r
- if ( (LA11_0=='.') ) {\r
- alt11=1;\r
- }\r
- else if ( (LA11_0=='E'||LA11_0=='e') ) {\r
- alt11=2;\r
- }\r
- else {\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 11, 0, input);\r
-\r
- throw nvae;\r
- }\r
- switch (alt11) {\r
- case 1 :\r
- // JSON.g:99:15: Frac ( Exp )?\r
- {\r
- mFrac(); \r
- // JSON.g:99:20: ( Exp )?\r
- int alt10=2;\r
- int LA10_0 = input.LA(1);\r
-\r
- if ( (LA10_0=='E'||LA10_0=='e') ) {\r
- alt10=1;\r
- }\r
- switch (alt10) {\r
- case 1 :\r
- // JSON.g:99:20: Exp\r
- {\r
- mExp(); \r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:99:27: Exp\r
- {\r
- mExp(); \r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
-\r
- }\r
-\r
- state.type = _type;\r
- state.channel = _channel;\r
- }\r
- finally {\r
- }\r
- }\r
- // $ANTLR end "Double"\r
-\r
- public void mTokens() throws RecognitionException {\r
- // JSON.g:1:8: ( Colon | Comma | LBrace | RBrace | LBracket | RBracket | TRUE | FALSE | NULL | WhiteSpace | String | Integer | Double )\r
- int alt12=13;\r
- alt12 = dfa12.predict(input);\r
- switch (alt12) {\r
- case 1 :\r
- // JSON.g:1:10: Colon\r
- {\r
- mColon(); \r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:1:16: Comma\r
- {\r
- mComma(); \r
-\r
- }\r
- break;\r
- case 3 :\r
- // JSON.g:1:22: LBrace\r
- {\r
- mLBrace(); \r
-\r
- }\r
- break;\r
- case 4 :\r
- // JSON.g:1:29: RBrace\r
- {\r
- mRBrace(); \r
-\r
- }\r
- break;\r
- case 5 :\r
- // JSON.g:1:36: LBracket\r
- {\r
- mLBracket(); \r
-\r
- }\r
- break;\r
- case 6 :\r
- // JSON.g:1:45: RBracket\r
- {\r
- mRBracket(); \r
-\r
- }\r
- break;\r
- case 7 :\r
- // JSON.g:1:54: TRUE\r
- {\r
- mTRUE(); \r
-\r
- }\r
- break;\r
- case 8 :\r
- // JSON.g:1:59: FALSE\r
- {\r
- mFALSE(); \r
-\r
- }\r
- break;\r
- case 9 :\r
- // JSON.g:1:65: NULL\r
- {\r
- mNULL(); \r
-\r
- }\r
- break;\r
- case 10 :\r
- // JSON.g:1:70: WhiteSpace\r
- {\r
- mWhiteSpace(); \r
-\r
- }\r
- break;\r
- case 11 :\r
- // JSON.g:1:81: String\r
- {\r
- mString(); \r
-\r
- }\r
- break;\r
- case 12 :\r
- // JSON.g:1:88: Integer\r
- {\r
- mInteger(); \r
-\r
- }\r
- break;\r
- case 13 :\r
- // JSON.g:1:96: Double\r
- {\r
- mDouble(); \r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
- }\r
-\r
-\r
- protected DFA12 dfa12 = new DFA12(this);\r
- static final String DFA12_eotS =\r
- "\15\uffff\2\17\2\uffff\1\17";\r
- static final String DFA12_eofS =\r
- "\22\uffff";\r
- static final String DFA12_minS =\r
- "\1\11\13\uffff\1\60\2\56\2\uffff\1\56";\r
- static final String DFA12_maxS =\r
- "\1\175\13\uffff\1\71\2\145\2\uffff\1\145";\r
- static final String DFA12_acceptS =\r
- "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\3\uffff"+\r
- "\1\14\1\15\1\uffff";\r
- static final String DFA12_specialS =\r
- "\22\uffff}>";\r
- static final String[] DFA12_transitionS = {\r
- "\2\12\1\uffff\2\12\22\uffff\1\12\1\uffff\1\13\11\uffff\1\2"+\r
- "\1\14\2\uffff\1\15\11\16\1\1\40\uffff\1\5\1\uffff\1\6\10\uffff"+\r
- "\1\10\7\uffff\1\11\5\uffff\1\7\6\uffff\1\3\1\uffff\1\4",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "\1\15\11\16",\r
- "\1\20\26\uffff\1\20\37\uffff\1\20",\r
- "\1\20\1\uffff\12\21\13\uffff\1\20\37\uffff\1\20",\r
- "",\r
- "",\r
- "\1\20\1\uffff\12\21\13\uffff\1\20\37\uffff\1\20"\r
- };\r
-\r
- static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);\r
- static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);\r
- static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);\r
- static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);\r
- static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);\r
- static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);\r
- static final short[][] DFA12_transition;\r
-\r
- static {\r
- int numStates = DFA12_transitionS.length;\r
- DFA12_transition = new short[numStates][];\r
- for (int i=0; i<numStates; i++) {\r
- DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);\r
- }\r
- }\r
-\r
- class DFA12 extends DFA {\r
-\r
- public DFA12(BaseRecognizer recognizer) {\r
- this.recognizer = recognizer;\r
- this.decisionNumber = 12;\r
- this.eot = DFA12_eot;\r
- this.eof = DFA12_eof;\r
- this.min = DFA12_min;\r
- this.max = DFA12_max;\r
- this.accept = DFA12_accept;\r
- this.special = DFA12_special;\r
- this.transition = DFA12_transition;\r
- }\r
- public String getDescription() {\r
- return "1:1: Tokens : ( Colon | Comma | LBrace | RBrace | LBracket | RBracket | TRUE | FALSE | NULL | WhiteSpace | String | Integer | Double );";\r
- }\r
- }\r
- \r
-\r
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSON.g 2009-07-07 22:05:14
+
+//--------------------------------------
+// XerialJ Project
+//
+// JSONLexer.java
+// Since: Apr 26, 2007
+//
+//--------------------------------------
+package org.xerial.json.impl;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+public class JSONLexer extends Lexer {
+ public static final int OBJECT=4;
+ public static final int ELEMENT=5;
+ public static final int RBrace=13;
+ public static final int ARRAY=6;
+ public static final int LBracket=14;
+ public static final int Digit=20;
+ public static final int Frac=26;
+ public static final int HexDigit=21;
+ public static final int DOUBLE=9;
+ public static final int Exp=27;
+ public static final int STRING=7;
+ public static final int Int=25;
+ public static final int FALSE=18;
+ public static final int UnicodeChar=22;
+ public static final int StringChar=24;
+ public static final int String=29;
+ public static final int INTEGER=8;
+ public static final int Comma=11;
+ public static final int Dot=16;
+ public static final int EscapeSequence=23;
+ public static final int EOF=-1;
+ public static final int NULL=19;
+ public static final int Integer=30;
+ public static final int LBrace=12;
+ public static final int Double=31;
+ public static final int RBracket=15;
+ public static final int WhiteSpace=28;
+ public static final int TRUE=17;
+ public static final int Colon=10;
+
+ // delegates
+ // delegators
+
+ public JSONLexer() {;}
+ public JSONLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public JSONLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "JSON.g"; }
+
+ // $ANTLR start "Colon"
+ public final void mColon() throws RecognitionException {
+ try {
+ int _type = Colon;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:71:6: ( ':' )
+ // JSON.g:71:8: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Colon"
+
+ // $ANTLR start "Comma"
+ public final void mComma() throws RecognitionException {
+ try {
+ int _type = Comma;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:72:6: ( ',' )
+ // JSON.g:72:8: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Comma"
+
+ // $ANTLR start "LBrace"
+ public final void mLBrace() throws RecognitionException {
+ try {
+ int _type = LBrace;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:73:7: ( '{' )
+ // JSON.g:73:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "LBrace"
+
+ // $ANTLR start "RBrace"
+ public final void mRBrace() throws RecognitionException {
+ try {
+ int _type = RBrace;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:74:7: ( '}' )
+ // JSON.g:74:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RBrace"
+
+ // $ANTLR start "LBracket"
+ public final void mLBracket() throws RecognitionException {
+ try {
+ int _type = LBracket;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:75:9: ( '[' )
+ // JSON.g:75:11: '['
+ {
+ match('[');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "LBracket"
+
+ // $ANTLR start "RBracket"
+ public final void mRBracket() throws RecognitionException {
+ try {
+ int _type = RBracket;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:76:9: ( ']' )
+ // JSON.g:76:11: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RBracket"
+
+ // $ANTLR start "Dot"
+ public final void mDot() throws RecognitionException {
+ try {
+ // JSON.g:77:13: ( '.' )
+ // JSON.g:77:15: '.'
+ {
+ match('.');
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Dot"
+
+ // $ANTLR start "TRUE"
+ public final void mTRUE() throws RecognitionException {
+ try {
+ int _type = TRUE;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:78:5: ( 'true' )
+ // JSON.g:78:8: 'true'
+ {
+ match("true");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "TRUE"
+
+ // $ANTLR start "FALSE"
+ public final void mFALSE() throws RecognitionException {
+ try {
+ int _type = FALSE;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:79:6: ( 'false' )
+ // JSON.g:79:8: 'false'
+ {
+ match("false");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "FALSE"
+
+ // $ANTLR start "NULL"
+ public final void mNULL() throws RecognitionException {
+ try {
+ int _type = NULL;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:80:5: ( 'null' )
+ // JSON.g:80:7: 'null'
+ {
+ match("null");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "NULL"
+
+ // $ANTLR start "Digit"
+ public final void mDigit() throws RecognitionException {
+ try {
+ // JSON.g:82:15: ( '0' .. '9' )
+ // JSON.g:82:17: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Digit"
+
+ // $ANTLR start "HexDigit"
+ public final void mHexDigit() throws RecognitionException {
+ try {
+ // JSON.g:83:18: ( ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' ) )
+ // JSON.g:83:20: ( '0' .. '9' | 'A' .. 'F' | 'a' .. 'f' )
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "HexDigit"
+
+ // $ANTLR start "UnicodeChar"
+ public final void mUnicodeChar() throws RecognitionException {
+ try {
+ // JSON.g:84:21: (~ ( '\"' | '\\\\' ) )
+ // JSON.g:84:23: ~ ( '\"' | '\\\\' )
+ {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "UnicodeChar"
+
+ // $ANTLR start "StringChar"
+ public final void mStringChar() throws RecognitionException {
+ try {
+ // JSON.g:85:21: ( UnicodeChar | EscapeSequence )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) {
+ alt1=1;
+ }
+ else if ( (LA1_0=='\\') ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // JSON.g:85:24: UnicodeChar
+ {
+ mUnicodeChar();
+
+ }
+ break;
+ case 2 :
+ // JSON.g:85:38: EscapeSequence
+ {
+ mEscapeSequence();
+
+ }
+ break;
+
+ }
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "StringChar"
+
+ // $ANTLR start "EscapeSequence"
+ public final void mEscapeSequence() throws RecognitionException {
+ try {
+ // JSON.g:88:2: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) )
+ // JSON.g:88:4: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )
+ {
+ match('\\');
+ // JSON.g:88:9: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit )
+ int alt2=9;
+ switch ( input.LA(1) ) {
+ case '\"':
+ {
+ alt2=1;
+ }
+ break;
+ case '\\':
+ {
+ alt2=2;
+ }
+ break;
+ case '/':
+ {
+ alt2=3;
+ }
+ break;
+ case 'b':
+ {
+ alt2=4;
+ }
+ break;
+ case 'f':
+ {
+ alt2=5;
+ }
+ break;
+ case 'n':
+ {
+ alt2=6;
+ }
+ break;
+ case 'r':
+ {
+ alt2=7;
+ }
+ break;
+ case 't':
+ {
+ alt2=8;
+ }
+ break;
+ case 'u':
+ {
+ alt2=9;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt2) {
+ case 1 :
+ // JSON.g:88:10: '\\\"'
+ {
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // JSON.g:88:17: '\\\\'
+ {
+ match('\\');
+
+ }
+ break;
+ case 3 :
+ // JSON.g:88:24: '/'
+ {
+ match('/');
+
+ }
+ break;
+ case 4 :
+ // JSON.g:88:30: 'b'
+ {
+ match('b');
+
+ }
+ break;
+ case 5 :
+ // JSON.g:88:36: 'f'
+ {
+ match('f');
+
+ }
+ break;
+ case 6 :
+ // JSON.g:88:42: 'n'
+ {
+ match('n');
+
+ }
+ break;
+ case 7 :
+ // JSON.g:88:48: 'r'
+ {
+ match('r');
+
+ }
+ break;
+ case 8 :
+ // JSON.g:88:54: 't'
+ {
+ match('t');
+
+ }
+ break;
+ case 9 :
+ // JSON.g:88:60: 'u' HexDigit HexDigit HexDigit HexDigit
+ {
+ match('u');
+ mHexDigit();
+ mHexDigit();
+ mHexDigit();
+ mHexDigit();
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "EscapeSequence"
+
+ // $ANTLR start "Int"
+ public final void mInt() throws RecognitionException {
+ try {
+ // JSON.g:91:13: ( ( '-' )? ( '0' | '1' .. '9' ( Digit )* ) )
+ // JSON.g:91:15: ( '-' )? ( '0' | '1' .. '9' ( Digit )* )
+ {
+ // JSON.g:91:15: ( '-' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='-') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // JSON.g:91:15: '-'
+ {
+ match('-');
+
+ }
+ break;
+
+ }
+
+ // JSON.g:91:20: ( '0' | '1' .. '9' ( Digit )* )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='0') ) {
+ alt5=1;
+ }
+ else if ( ((LA5_0>='1' && LA5_0<='9')) ) {
+ alt5=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // JSON.g:91:21: '0'
+ {
+ match('0');
+
+ }
+ break;
+ case 2 :
+ // JSON.g:91:27: '1' .. '9' ( Digit )*
+ {
+ matchRange('1','9');
+ // JSON.g:91:36: ( Digit )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='9')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // JSON.g:91:36: Digit
+ {
+ mDigit();
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Int"
+
+ // $ANTLR start "Frac"
+ public final void mFrac() throws RecognitionException {
+ try {
+ // JSON.g:92:14: ( Dot ( Digit )+ )
+ // JSON.g:92:16: Dot ( Digit )+
+ {
+ mDot();
+ // JSON.g:92:20: ( Digit )+
+ int cnt6=0;
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( ((LA6_0>='0' && LA6_0<='9')) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // JSON.g:92:20: Digit
+ {
+ mDigit();
+
+ }
+ break;
+
+ default :
+ if ( cnt6 >= 1 ) break loop6;
+ EarlyExitException eee =
+ new EarlyExitException(6, input);
+ throw eee;
+ }
+ cnt6++;
+ } while (true);
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Frac"
+
+ // $ANTLR start "Exp"
+ public final void mExp() throws RecognitionException {
+ try {
+ // JSON.g:93:13: ( ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+ )
+ // JSON.g:93:15: ( 'e' | 'E' ) ( '+' | '-' )? ( Digit )+
+ {
+ if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // JSON.g:93:27: ( '+' | '-' )?
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='+'||LA7_0=='-') ) {
+ alt7=1;
+ }
+ switch (alt7) {
+ case 1 :
+ // JSON.g:
+ {
+ if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ }
+
+ // JSON.g:93:40: ( Digit )+
+ int cnt8=0;
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='0' && LA8_0<='9')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // JSON.g:93:40: Digit
+ {
+ mDigit();
+
+ }
+ break;
+
+ default :
+ if ( cnt8 >= 1 ) break loop8;
+ EarlyExitException eee =
+ new EarlyExitException(8, input);
+ throw eee;
+ }
+ cnt8++;
+ } while (true);
+
+
+ }
+
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Exp"
+
+ // $ANTLR start "WhiteSpace"
+ public final void mWhiteSpace() throws RecognitionException {
+ try {
+ int _type = WhiteSpace;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:95:11: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) )
+ // JSON.g:95:13: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' )
+ {
+ if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ _channel=HIDDEN;
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "WhiteSpace"
+
+ // $ANTLR start "String"
+ public final void mString() throws RecognitionException {
+ try {
+ int _type = String;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:97:7: ( '\"' ( StringChar )* '\"' )
+ // JSON.g:97:9: '\"' ( StringChar )* '\"'
+ {
+ match('\"');
+ // JSON.g:97:13: ( StringChar )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( ((LA9_0>='\u0000' && LA9_0<='!')||(LA9_0>='#' && LA9_0<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // JSON.g:97:13: StringChar
+ {
+ mStringChar();
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "String"
+
+ // $ANTLR start "Integer"
+ public final void mInteger() throws RecognitionException {
+ try {
+ int _type = Integer;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:98:8: ( Int )
+ // JSON.g:98:10: Int
+ {
+ mInt();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Integer"
+
+ // $ANTLR start "Double"
+ public final void mDouble() throws RecognitionException {
+ try {
+ int _type = Double;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // JSON.g:99:7: ( Int ( Frac ( Exp )? | Exp ) )
+ // JSON.g:99:10: Int ( Frac ( Exp )? | Exp )
+ {
+ mInt();
+ // JSON.g:99:14: ( Frac ( Exp )? | Exp )
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='.') ) {
+ alt11=1;
+ }
+ else if ( (LA11_0=='E'||LA11_0=='e') ) {
+ alt11=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+ switch (alt11) {
+ case 1 :
+ // JSON.g:99:15: Frac ( Exp )?
+ {
+ mFrac();
+ // JSON.g:99:20: ( Exp )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0=='E'||LA10_0=='e') ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // JSON.g:99:20: Exp
+ {
+ mExp();
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // JSON.g:99:27: Exp
+ {
+ mExp();
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "Double"
+
+ public void mTokens() throws RecognitionException {
+ // JSON.g:1:8: ( Colon | Comma | LBrace | RBrace | LBracket | RBracket | TRUE | FALSE | NULL | WhiteSpace | String | Integer | Double )
+ int alt12=13;
+ alt12 = dfa12.predict(input);
+ switch (alt12) {
+ case 1 :
+ // JSON.g:1:10: Colon
+ {
+ mColon();
+
+ }
+ break;
+ case 2 :
+ // JSON.g:1:16: Comma
+ {
+ mComma();
+
+ }
+ break;
+ case 3 :
+ // JSON.g:1:22: LBrace
+ {
+ mLBrace();
+
+ }
+ break;
+ case 4 :
+ // JSON.g:1:29: RBrace
+ {
+ mRBrace();
+
+ }
+ break;
+ case 5 :
+ // JSON.g:1:36: LBracket
+ {
+ mLBracket();
+
+ }
+ break;
+ case 6 :
+ // JSON.g:1:45: RBracket
+ {
+ mRBracket();
+
+ }
+ break;
+ case 7 :
+ // JSON.g:1:54: TRUE
+ {
+ mTRUE();
+
+ }
+ break;
+ case 8 :
+ // JSON.g:1:59: FALSE
+ {
+ mFALSE();
+
+ }
+ break;
+ case 9 :
+ // JSON.g:1:65: NULL
+ {
+ mNULL();
+
+ }
+ break;
+ case 10 :
+ // JSON.g:1:70: WhiteSpace
+ {
+ mWhiteSpace();
+
+ }
+ break;
+ case 11 :
+ // JSON.g:1:81: String
+ {
+ mString();
+
+ }
+ break;
+ case 12 :
+ // JSON.g:1:88: Integer
+ {
+ mInteger();
+
+ }
+ break;
+ case 13 :
+ // JSON.g:1:96: Double
+ {
+ mDouble();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA12 dfa12 = new DFA12(this);
+ static final String DFA12_eotS =
+ "\15\uffff\2\17\2\uffff\1\17";
+ static final String DFA12_eofS =
+ "\22\uffff";
+ static final String DFA12_minS =
+ "\1\11\13\uffff\1\60\2\56\2\uffff\1\56";
+ static final String DFA12_maxS =
+ "\1\175\13\uffff\1\71\2\145\2\uffff\1\145";
+ static final String DFA12_acceptS =
+ "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\3\uffff"+
+ "\1\14\1\15\1\uffff";
+ static final String DFA12_specialS =
+ "\22\uffff}>";
+ static final String[] DFA12_transitionS = {
+ "\2\12\1\uffff\2\12\22\uffff\1\12\1\uffff\1\13\11\uffff\1\2\1"+
+ "\14\2\uffff\1\15\11\16\1\1\40\uffff\1\5\1\uffff\1\6\10\uffff"+
+ "\1\10\7\uffff\1\11\5\uffff\1\7\6\uffff\1\3\1\uffff\1\4",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\15\11\16",
+ "\1\20\26\uffff\1\20\37\uffff\1\20",
+ "\1\20\1\uffff\12\21\13\uffff\1\20\37\uffff\1\20",
+ "",
+ "",
+ "\1\20\1\uffff\12\21\13\uffff\1\20\37\uffff\1\20"
+ };
+
+ static final short[] DFA12_eot = DFA.unpackEncodedString(DFA12_eotS);
+ static final short[] DFA12_eof = DFA.unpackEncodedString(DFA12_eofS);
+ static final char[] DFA12_min = DFA.unpackEncodedStringToUnsignedChars(DFA12_minS);
+ static final char[] DFA12_max = DFA.unpackEncodedStringToUnsignedChars(DFA12_maxS);
+ static final short[] DFA12_accept = DFA.unpackEncodedString(DFA12_acceptS);
+ static final short[] DFA12_special = DFA.unpackEncodedString(DFA12_specialS);
+ static final short[][] DFA12_transition;
+
+ static {
+ int numStates = DFA12_transitionS.length;
+ DFA12_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA12_transition[i] = DFA.unpackEncodedString(DFA12_transitionS[i]);
+ }
+ }
+
+ class DFA12 extends DFA {
+
+ public DFA12(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 12;
+ this.eot = DFA12_eot;
+ this.eof = DFA12_eof;
+ this.min = DFA12_min;
+ this.max = DFA12_max;
+ this.accept = DFA12_accept;
+ this.special = DFA12_special;
+ this.transition = DFA12_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( Colon | Comma | LBrace | RBrace | LBracket | RBracket | TRUE | FALSE | NULL | WhiteSpace | String | Integer | Double );";
+ }
+ }
+
+
}
\ No newline at end of file
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSON.g 2009-07-03 16:06:09\r
-\r
-//--------------------------------------\r
-// Xerial Project\r
-//\r
-// JSONParser.java\r
-// Since: Apr 26, 2007\r
-//\r
-//--------------------------------------\r
-package org.xerial.json.impl;\r
-\r
-\r
-import org.antlr.runtime.*;\r
-import java.util.Stack;\r
-import java.util.List;\r
-import java.util.ArrayList;\r
-\r
-\r
-import org.antlr.runtime.tree.*;\r
-\r
-public class JSONParser extends Parser {\r
- public static final String[] tokenNames = new String[] {\r
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "OBJECT", "ELEMENT", "ARRAY", "STRING", "INTEGER", "DOUBLE", "Colon", "Comma", "LBrace", "RBrace", "LBracket", "RBracket", "Dot", "TRUE", "FALSE", "NULL", "Digit", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "Int", "Frac", "Exp", "WhiteSpace", "String", "Integer", "Double"\r
- };\r
- public static final int ELEMENT=5;\r
- public static final int OBJECT=4;\r
- public static final int RBrace=13;\r
- public static final int ARRAY=6;\r
- public static final int LBracket=14;\r
- public static final int Digit=20;\r
- public static final int Frac=26;\r
- public static final int HexDigit=21;\r
- public static final int DOUBLE=9;\r
- public static final int Exp=27;\r
- public static final int STRING=7;\r
- public static final int Int=25;\r
- public static final int FALSE=18;\r
- public static final int UnicodeChar=22;\r
- public static final int StringChar=24;\r
- public static final int String=29;\r
- public static final int INTEGER=8;\r
- public static final int Comma=11;\r
- public static final int Dot=16;\r
- public static final int EscapeSequence=23;\r
- public static final int EOF=-1;\r
- public static final int NULL=19;\r
- public static final int Integer=30;\r
- public static final int Double=31;\r
- public static final int LBrace=12;\r
- public static final int RBracket=15;\r
- public static final int WhiteSpace=28;\r
- public static final int Colon=10;\r
- public static final int TRUE=17;\r
-\r
- // delegates\r
- // delegators\r
-\r
-\r
- public JSONParser(TokenStream input) {\r
- this(input, new RecognizerSharedState());\r
- }\r
- public JSONParser(TokenStream input, RecognizerSharedState state) {\r
- super(input, state);\r
- \r
- }\r
- \r
- protected TreeAdaptor adaptor = new CommonTreeAdaptor();\r
-\r
- public void setTreeAdaptor(TreeAdaptor adaptor) {\r
- this.adaptor = adaptor;\r
- }\r
- public TreeAdaptor getTreeAdaptor() {\r
- return adaptor;\r
- }\r
-\r
- public String[] getTokenNames() { return JSONParser.tokenNames; }\r
- public String getGrammarFileName() { return "JSON.g"; }\r
-\r
-\r
- public static class jsonObject_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "jsonObject"\r
- // JSON.g:102:1: jsonObject : object ;\r
- public final JSONParser.jsonObject_return jsonObject() throws RecognitionException {\r
- JSONParser.jsonObject_return retval = new JSONParser.jsonObject_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- JSONParser.object_return object1 = null;\r
-\r
-\r
-\r
- try {\r
- // JSON.g:103:2: ( object )\r
- // JSON.g:103:4: object\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- pushFollow(FOLLOW_object_in_jsonObject409);\r
- object1=object();\r
-\r
- state._fsp--;\r
-\r
- adaptor.addChild(root_0, object1.getTree());\r
-\r
- }\r
-\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "jsonObject"\r
-\r
- public static class jsonArray_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "jsonArray"\r
- // JSON.g:106:1: jsonArray : array ;\r
- public final JSONParser.jsonArray_return jsonArray() throws RecognitionException {\r
- JSONParser.jsonArray_return retval = new JSONParser.jsonArray_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- JSONParser.array_return array2 = null;\r
-\r
-\r
-\r
- try {\r
- // JSON.g:107:2: ( array )\r
- // JSON.g:107:4: array\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- pushFollow(FOLLOW_array_in_jsonArray421);\r
- array2=array();\r
-\r
- state._fsp--;\r
-\r
- adaptor.addChild(root_0, array2.getTree());\r
-\r
- }\r
-\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "jsonArray"\r
-\r
- public static class object_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "object"\r
- // JSON.g:111:1: object : LBrace ( objectElement ( Comma objectElement )* )? RBrace -> ^( OBJECT ( objectElement )* ) ;\r
- public final JSONParser.object_return object() throws RecognitionException {\r
- JSONParser.object_return retval = new JSONParser.object_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- Token LBrace3=null;\r
- Token Comma5=null;\r
- Token RBrace7=null;\r
- JSONParser.objectElement_return objectElement4 = null;\r
-\r
- JSONParser.objectElement_return objectElement6 = null;\r
-\r
-\r
- Object LBrace3_tree=null;\r
- Object Comma5_tree=null;\r
- Object RBrace7_tree=null;\r
- RewriteRuleTokenStream stream_LBrace=new RewriteRuleTokenStream(adaptor,"token LBrace");\r
- RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
- RewriteRuleTokenStream stream_RBrace=new RewriteRuleTokenStream(adaptor,"token RBrace");\r
- RewriteRuleSubtreeStream stream_objectElement=new RewriteRuleSubtreeStream(adaptor,"rule objectElement");\r
- try {\r
- // JSON.g:112:2: ( LBrace ( objectElement ( Comma objectElement )* )? RBrace -> ^( OBJECT ( objectElement )* ) )\r
- // JSON.g:112:4: LBrace ( objectElement ( Comma objectElement )* )? RBrace\r
- {\r
- LBrace3=(Token)match(input,LBrace,FOLLOW_LBrace_in_object434); \r
- stream_LBrace.add(LBrace3);\r
-\r
- // JSON.g:112:11: ( objectElement ( Comma objectElement )* )?\r
- int alt2=2;\r
- int LA2_0 = input.LA(1);\r
-\r
- if ( (LA2_0==String) ) {\r
- alt2=1;\r
- }\r
- switch (alt2) {\r
- case 1 :\r
- // JSON.g:112:12: objectElement ( Comma objectElement )*\r
- {\r
- pushFollow(FOLLOW_objectElement_in_object437);\r
- objectElement4=objectElement();\r
-\r
- state._fsp--;\r
-\r
- stream_objectElement.add(objectElement4.getTree());\r
- // JSON.g:112:26: ( Comma objectElement )*\r
- loop1:\r
- do {\r
- int alt1=2;\r
- int LA1_0 = input.LA(1);\r
-\r
- if ( (LA1_0==Comma) ) {\r
- alt1=1;\r
- }\r
-\r
-\r
- switch (alt1) {\r
- case 1 :\r
- // JSON.g:112:27: Comma objectElement\r
- {\r
- Comma5=(Token)match(input,Comma,FOLLOW_Comma_in_object440); \r
- stream_Comma.add(Comma5);\r
-\r
- pushFollow(FOLLOW_objectElement_in_object442);\r
- objectElement6=objectElement();\r
-\r
- state._fsp--;\r
-\r
- stream_objectElement.add(objectElement6.getTree());\r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop1;\r
- }\r
- } while (true);\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
-\r
- RBrace7=(Token)match(input,RBrace,FOLLOW_RBrace_in_object448); \r
- stream_RBrace.add(RBrace7);\r
-\r
-\r
-\r
- // AST REWRITE\r
- // elements: objectElement\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 113:4: -> ^( OBJECT ( objectElement )* )\r
- {\r
- // JSON.g:113:7: ^( OBJECT ( objectElement )* )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(OBJECT, "OBJECT"), root_1);\r
-\r
- // JSON.g:113:16: ( objectElement )*\r
- while ( stream_objectElement.hasNext() ) {\r
- adaptor.addChild(root_1, stream_objectElement.nextTree());\r
-\r
- }\r
- stream_objectElement.reset();\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
-\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "object"\r
-\r
- public static class objectElement_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "objectElement"\r
- // JSON.g:116:1: objectElement : String Colon value -> ^( ELEMENT String value ) ;\r
- public final JSONParser.objectElement_return objectElement() throws RecognitionException {\r
- JSONParser.objectElement_return retval = new JSONParser.objectElement_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- Token String8=null;\r
- Token Colon9=null;\r
- JSONParser.value_return value10 = null;\r
-\r
-\r
- Object String8_tree=null;\r
- Object Colon9_tree=null;\r
- RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");\r
- RewriteRuleTokenStream stream_Colon=new RewriteRuleTokenStream(adaptor,"token Colon");\r
- RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");\r
- try {\r
- // JSON.g:117:2: ( String Colon value -> ^( ELEMENT String value ) )\r
- // JSON.g:117:4: String Colon value\r
- {\r
- String8=(Token)match(input,String,FOLLOW_String_in_objectElement472); \r
- stream_String.add(String8);\r
-\r
- Colon9=(Token)match(input,Colon,FOLLOW_Colon_in_objectElement474); \r
- stream_Colon.add(Colon9);\r
-\r
- pushFollow(FOLLOW_value_in_objectElement476);\r
- value10=value();\r
-\r
- state._fsp--;\r
-\r
- stream_value.add(value10.getTree());\r
-\r
-\r
- // AST REWRITE\r
- // elements: String, value\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 118:4: -> ^( ELEMENT String value )\r
- {\r
- // JSON.g:118:7: ^( ELEMENT String value )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ELEMENT, "ELEMENT"), root_1);\r
-\r
- adaptor.addChild(root_1, stream_String.nextNode());\r
- adaptor.addChild(root_1, stream_value.nextTree());\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
-\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "objectElement"\r
-\r
- public static class array_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "array"\r
- // JSON.g:121:1: array : LBracket value ( Comma value )* RBracket -> ^( ARRAY ( value )+ ) ;\r
- public final JSONParser.array_return array() throws RecognitionException {\r
- JSONParser.array_return retval = new JSONParser.array_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- Token LBracket11=null;\r
- Token Comma13=null;\r
- Token RBracket15=null;\r
- JSONParser.value_return value12 = null;\r
-\r
- JSONParser.value_return value14 = null;\r
-\r
-\r
- Object LBracket11_tree=null;\r
- Object Comma13_tree=null;\r
- Object RBracket15_tree=null;\r
- RewriteRuleTokenStream stream_RBracket=new RewriteRuleTokenStream(adaptor,"token RBracket");\r
- RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");\r
- RewriteRuleTokenStream stream_LBracket=new RewriteRuleTokenStream(adaptor,"token LBracket");\r
- RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");\r
- try {\r
- // JSON.g:122:2: ( LBracket value ( Comma value )* RBracket -> ^( ARRAY ( value )+ ) )\r
- // JSON.g:122:4: LBracket value ( Comma value )* RBracket\r
- {\r
- LBracket11=(Token)match(input,LBracket,FOLLOW_LBracket_in_array502); \r
- stream_LBracket.add(LBracket11);\r
-\r
- pushFollow(FOLLOW_value_in_array504);\r
- value12=value();\r
-\r
- state._fsp--;\r
-\r
- stream_value.add(value12.getTree());\r
- // JSON.g:122:19: ( Comma value )*\r
- loop3:\r
- do {\r
- int alt3=2;\r
- int LA3_0 = input.LA(1);\r
-\r
- if ( (LA3_0==Comma) ) {\r
- alt3=1;\r
- }\r
-\r
-\r
- switch (alt3) {\r
- case 1 :\r
- // JSON.g:122:20: Comma value\r
- {\r
- Comma13=(Token)match(input,Comma,FOLLOW_Comma_in_array507); \r
- stream_Comma.add(Comma13);\r
-\r
- pushFollow(FOLLOW_value_in_array509);\r
- value14=value();\r
-\r
- state._fsp--;\r
-\r
- stream_value.add(value14.getTree());\r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop3;\r
- }\r
- } while (true);\r
-\r
- RBracket15=(Token)match(input,RBracket,FOLLOW_RBracket_in_array513); \r
- stream_RBracket.add(RBracket15);\r
-\r
-\r
-\r
- // AST REWRITE\r
- // elements: value\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 123:4: -> ^( ARRAY ( value )+ )\r
- {\r
- // JSON.g:123:7: ^( ARRAY ( value )+ )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ARRAY, "ARRAY"), root_1);\r
-\r
- if ( !(stream_value.hasNext()) ) {\r
- throw new RewriteEarlyExitException();\r
- }\r
- while ( stream_value.hasNext() ) {\r
- adaptor.addChild(root_1, stream_value.nextTree());\r
-\r
- }\r
- stream_value.reset();\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
-\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "array"\r
-\r
- public static class value_return extends ParserRuleReturnScope {\r
- Object tree;\r
- public Object getTree() { return tree; }\r
- };\r
-\r
- // $ANTLR start "value"\r
- // JSON.g:127:1: value : ( String -> ^( STRING String ) | Integer -> ^( INTEGER Integer ) | Double -> ^( DOUBLE Double ) | object | array | TRUE | FALSE | NULL );\r
- public final JSONParser.value_return value() throws RecognitionException {\r
- JSONParser.value_return retval = new JSONParser.value_return();\r
- retval.start = input.LT(1);\r
-\r
- Object root_0 = null;\r
-\r
- Token String16=null;\r
- Token Integer17=null;\r
- Token Double18=null;\r
- Token TRUE21=null;\r
- Token FALSE22=null;\r
- Token NULL23=null;\r
- JSONParser.object_return object19 = null;\r
-\r
- JSONParser.array_return array20 = null;\r
-\r
-\r
- Object String16_tree=null;\r
- Object Integer17_tree=null;\r
- Object Double18_tree=null;\r
- Object TRUE21_tree=null;\r
- Object FALSE22_tree=null;\r
- Object NULL23_tree=null;\r
- RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");\r
- RewriteRuleTokenStream stream_Integer=new RewriteRuleTokenStream(adaptor,"token Integer");\r
- RewriteRuleTokenStream stream_Double=new RewriteRuleTokenStream(adaptor,"token Double");\r
-\r
- try {\r
- // JSON.g:128:2: ( String -> ^( STRING String ) | Integer -> ^( INTEGER Integer ) | Double -> ^( DOUBLE Double ) | object | array | TRUE | FALSE | NULL )\r
- int alt4=8;\r
- switch ( input.LA(1) ) {\r
- case String:\r
- {\r
- alt4=1;\r
- }\r
- break;\r
- case Integer:\r
- {\r
- alt4=2;\r
- }\r
- break;\r
- case Double:\r
- {\r
- alt4=3;\r
- }\r
- break;\r
- case LBrace:\r
- {\r
- alt4=4;\r
- }\r
- break;\r
- case LBracket:\r
- {\r
- alt4=5;\r
- }\r
- break;\r
- case TRUE:\r
- {\r
- alt4=6;\r
- }\r
- break;\r
- case FALSE:\r
- {\r
- alt4=7;\r
- }\r
- break;\r
- case NULL:\r
- {\r
- alt4=8;\r
- }\r
- break;\r
- default:\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 4, 0, input);\r
-\r
- throw nvae;\r
- }\r
-\r
- switch (alt4) {\r
- case 1 :\r
- // JSON.g:128:4: String\r
- {\r
- String16=(Token)match(input,String,FOLLOW_String_in_value538); \r
- stream_String.add(String16);\r
-\r
-\r
-\r
- // AST REWRITE\r
- // elements: String\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 128:11: -> ^( STRING String )\r
- {\r
- // JSON.g:128:14: ^( STRING String )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(STRING, "STRING"), root_1);\r
-\r
- adaptor.addChild(root_1, stream_String.nextNode());\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
- break;\r
- case 2 :\r
- // JSON.g:129:4: Integer\r
- {\r
- Integer17=(Token)match(input,Integer,FOLLOW_Integer_in_value551); \r
- stream_Integer.add(Integer17);\r
-\r
-\r
-\r
- // AST REWRITE\r
- // elements: Integer\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 129:12: -> ^( INTEGER Integer )\r
- {\r
- // JSON.g:129:15: ^( INTEGER Integer )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(INTEGER, "INTEGER"), root_1);\r
-\r
- adaptor.addChild(root_1, stream_Integer.nextNode());\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
- break;\r
- case 3 :\r
- // JSON.g:130:4: Double\r
- {\r
- Double18=(Token)match(input,Double,FOLLOW_Double_in_value564); \r
- stream_Double.add(Double18);\r
-\r
-\r
-\r
- // AST REWRITE\r
- // elements: Double\r
- // token labels: \r
- // rule labels: retval\r
- // token list labels: \r
- // rule list labels: \r
- // wildcard labels: \r
- retval.tree = root_0;\r
- RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);\r
-\r
- root_0 = (Object)adaptor.nil();\r
- // 130:11: -> ^( DOUBLE Double )\r
- {\r
- // JSON.g:130:14: ^( DOUBLE Double )\r
- {\r
- Object root_1 = (Object)adaptor.nil();\r
- root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(DOUBLE, "DOUBLE"), root_1);\r
-\r
- adaptor.addChild(root_1, stream_Double.nextNode());\r
-\r
- adaptor.addChild(root_0, root_1);\r
- }\r
-\r
- }\r
-\r
- retval.tree = root_0;\r
- }\r
- break;\r
- case 4 :\r
- // JSON.g:131:4: object\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- pushFollow(FOLLOW_object_in_value577);\r
- object19=object();\r
-\r
- state._fsp--;\r
-\r
- adaptor.addChild(root_0, object19.getTree());\r
-\r
- }\r
- break;\r
- case 5 :\r
- // JSON.g:132:4: array\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- pushFollow(FOLLOW_array_in_value584);\r
- array20=array();\r
-\r
- state._fsp--;\r
-\r
- adaptor.addChild(root_0, array20.getTree());\r
-\r
- }\r
- break;\r
- case 6 :\r
- // JSON.g:133:4: TRUE\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- TRUE21=(Token)match(input,TRUE,FOLLOW_TRUE_in_value591); \r
- TRUE21_tree = (Object)adaptor.create(TRUE21);\r
- adaptor.addChild(root_0, TRUE21_tree);\r
-\r
-\r
- }\r
- break;\r
- case 7 :\r
- // JSON.g:134:4: FALSE\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- FALSE22=(Token)match(input,FALSE,FOLLOW_FALSE_in_value599); \r
- FALSE22_tree = (Object)adaptor.create(FALSE22);\r
- adaptor.addChild(root_0, FALSE22_tree);\r
-\r
-\r
- }\r
- break;\r
- case 8 :\r
- // JSON.g:135:4: NULL\r
- {\r
- root_0 = (Object)adaptor.nil();\r
-\r
- NULL23=(Token)match(input,NULL,FOLLOW_NULL_in_value604); \r
- NULL23_tree = (Object)adaptor.create(NULL23);\r
- adaptor.addChild(root_0, NULL23_tree);\r
-\r
-\r
- }\r
- break;\r
-\r
- }\r
- retval.stop = input.LT(-1);\r
-\r
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);\r
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);\r
-\r
- }\r
-\r
-\r
- finally {\r
- }\r
- return retval;\r
- }\r
- // $ANTLR end "value"\r
-\r
- // Delegated rules\r
-\r
-\r
- \r
-\r
- public static final BitSet FOLLOW_object_in_jsonObject409 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_array_in_jsonArray421 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_LBrace_in_object434 = new BitSet(new long[]{0x0000000020002000L});\r
- public static final BitSet FOLLOW_objectElement_in_object437 = new BitSet(new long[]{0x0000000000002800L});\r
- public static final BitSet FOLLOW_Comma_in_object440 = new BitSet(new long[]{0x0000000020000000L});\r
- public static final BitSet FOLLOW_objectElement_in_object442 = new BitSet(new long[]{0x0000000000002800L});\r
- public static final BitSet FOLLOW_RBrace_in_object448 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_String_in_objectElement472 = new BitSet(new long[]{0x0000000000000400L});\r
- public static final BitSet FOLLOW_Colon_in_objectElement474 = new BitSet(new long[]{0x00000000E00E5000L});\r
- public static final BitSet FOLLOW_value_in_objectElement476 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_LBracket_in_array502 = new BitSet(new long[]{0x00000000E00E5000L});\r
- public static final BitSet FOLLOW_value_in_array504 = new BitSet(new long[]{0x0000000000008800L});\r
- public static final BitSet FOLLOW_Comma_in_array507 = new BitSet(new long[]{0x00000000E00E5000L});\r
- public static final BitSet FOLLOW_value_in_array509 = new BitSet(new long[]{0x0000000000008800L});\r
- public static final BitSet FOLLOW_RBracket_in_array513 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_String_in_value538 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_Integer_in_value551 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_Double_in_value564 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_object_in_value577 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_array_in_value584 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_TRUE_in_value591 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_FALSE_in_value599 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_NULL_in_value604 = new BitSet(new long[]{0x0000000000000002L});\r
-\r
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSON.g 2009-07-07 22:05:13
+
+//--------------------------------------
+// Xerial Project
+//
+// JSONParser.java
+// Since: Apr 26, 2007
+//
+//--------------------------------------
+package org.xerial.json.impl;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+
+import org.antlr.runtime.tree.*;
+
+public class JSONParser extends Parser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "OBJECT", "ELEMENT", "ARRAY", "STRING", "INTEGER", "DOUBLE", "Colon", "Comma", "LBrace", "RBrace", "LBracket", "RBracket", "Dot", "TRUE", "FALSE", "NULL", "Digit", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "Int", "Frac", "Exp", "WhiteSpace", "String", "Integer", "Double"
+ };
+ public static final int ELEMENT=5;
+ public static final int OBJECT=4;
+ public static final int RBrace=13;
+ public static final int ARRAY=6;
+ public static final int LBracket=14;
+ public static final int Digit=20;
+ public static final int Frac=26;
+ public static final int HexDigit=21;
+ public static final int DOUBLE=9;
+ public static final int Exp=27;
+ public static final int STRING=7;
+ public static final int Int=25;
+ public static final int FALSE=18;
+ public static final int UnicodeChar=22;
+ public static final int StringChar=24;
+ public static final int String=29;
+ public static final int INTEGER=8;
+ public static final int Comma=11;
+ public static final int Dot=16;
+ public static final int EscapeSequence=23;
+ public static final int EOF=-1;
+ public static final int NULL=19;
+ public static final int Integer=30;
+ public static final int Double=31;
+ public static final int LBrace=12;
+ public static final int RBracket=15;
+ public static final int WhiteSpace=28;
+ public static final int Colon=10;
+ public static final int TRUE=17;
+
+ // delegates
+ // delegators
+
+
+ public JSONParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public JSONParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+ protected TreeAdaptor adaptor = new CommonTreeAdaptor();
+
+ public void setTreeAdaptor(TreeAdaptor adaptor) {
+ this.adaptor = adaptor;
+ }
+ public TreeAdaptor getTreeAdaptor() {
+ return adaptor;
+ }
+
+ public String[] getTokenNames() { return JSONParser.tokenNames; }
+ public String getGrammarFileName() { return "JSON.g"; }
+
+
+ public static class jsonObject_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "jsonObject"
+ // JSON.g:102:1: jsonObject : object ;
+ public final JSONParser.jsonObject_return jsonObject() throws RecognitionException {
+ JSONParser.jsonObject_return retval = new JSONParser.jsonObject_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ JSONParser.object_return object1 = null;
+
+
+
+ try {
+ // JSON.g:103:2: ( object )
+ // JSON.g:103:4: object
+ {
+ root_0 = (Object)adaptor.nil();
+
+ pushFollow(FOLLOW_object_in_jsonObject409);
+ object1=object();
+
+ state._fsp--;
+
+ adaptor.addChild(root_0, object1.getTree());
+
+ }
+
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "jsonObject"
+
+ public static class jsonArray_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "jsonArray"
+ // JSON.g:106:1: jsonArray : array ;
+ public final JSONParser.jsonArray_return jsonArray() throws RecognitionException {
+ JSONParser.jsonArray_return retval = new JSONParser.jsonArray_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ JSONParser.array_return array2 = null;
+
+
+
+ try {
+ // JSON.g:107:2: ( array )
+ // JSON.g:107:4: array
+ {
+ root_0 = (Object)adaptor.nil();
+
+ pushFollow(FOLLOW_array_in_jsonArray421);
+ array2=array();
+
+ state._fsp--;
+
+ adaptor.addChild(root_0, array2.getTree());
+
+ }
+
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "jsonArray"
+
+ public static class object_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "object"
+ // JSON.g:111:1: object : LBrace ( objectElement ( Comma objectElement )* )? RBrace -> ^( OBJECT ( objectElement )* ) ;
+ public final JSONParser.object_return object() throws RecognitionException {
+ JSONParser.object_return retval = new JSONParser.object_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ Token LBrace3=null;
+ Token Comma5=null;
+ Token RBrace7=null;
+ JSONParser.objectElement_return objectElement4 = null;
+
+ JSONParser.objectElement_return objectElement6 = null;
+
+
+ Object LBrace3_tree=null;
+ Object Comma5_tree=null;
+ Object RBrace7_tree=null;
+ RewriteRuleTokenStream stream_LBrace=new RewriteRuleTokenStream(adaptor,"token LBrace");
+ RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");
+ RewriteRuleTokenStream stream_RBrace=new RewriteRuleTokenStream(adaptor,"token RBrace");
+ RewriteRuleSubtreeStream stream_objectElement=new RewriteRuleSubtreeStream(adaptor,"rule objectElement");
+ try {
+ // JSON.g:112:2: ( LBrace ( objectElement ( Comma objectElement )* )? RBrace -> ^( OBJECT ( objectElement )* ) )
+ // JSON.g:112:4: LBrace ( objectElement ( Comma objectElement )* )? RBrace
+ {
+ LBrace3=(Token)match(input,LBrace,FOLLOW_LBrace_in_object434);
+ stream_LBrace.add(LBrace3);
+
+ // JSON.g:112:11: ( objectElement ( Comma objectElement )* )?
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==String) ) {
+ alt2=1;
+ }
+ switch (alt2) {
+ case 1 :
+ // JSON.g:112:12: objectElement ( Comma objectElement )*
+ {
+ pushFollow(FOLLOW_objectElement_in_object437);
+ objectElement4=objectElement();
+
+ state._fsp--;
+
+ stream_objectElement.add(objectElement4.getTree());
+ // JSON.g:112:26: ( Comma objectElement )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==Comma) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // JSON.g:112:27: Comma objectElement
+ {
+ Comma5=(Token)match(input,Comma,FOLLOW_Comma_in_object440);
+ stream_Comma.add(Comma5);
+
+ pushFollow(FOLLOW_objectElement_in_object442);
+ objectElement6=objectElement();
+
+ state._fsp--;
+
+ stream_objectElement.add(objectElement6.getTree());
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ RBrace7=(Token)match(input,RBrace,FOLLOW_RBrace_in_object448);
+ stream_RBrace.add(RBrace7);
+
+
+
+ // AST REWRITE
+ // elements: objectElement
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 113:4: -> ^( OBJECT ( objectElement )* )
+ {
+ // JSON.g:113:7: ^( OBJECT ( objectElement )* )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(OBJECT, "OBJECT"), root_1);
+
+ // JSON.g:113:16: ( objectElement )*
+ while ( stream_objectElement.hasNext() ) {
+ adaptor.addChild(root_1, stream_objectElement.nextTree());
+
+ }
+ stream_objectElement.reset();
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "object"
+
+ public static class objectElement_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "objectElement"
+ // JSON.g:116:1: objectElement : String Colon value -> ^( ELEMENT String value ) ;
+ public final JSONParser.objectElement_return objectElement() throws RecognitionException {
+ JSONParser.objectElement_return retval = new JSONParser.objectElement_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ Token String8=null;
+ Token Colon9=null;
+ JSONParser.value_return value10 = null;
+
+
+ Object String8_tree=null;
+ Object Colon9_tree=null;
+ RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");
+ RewriteRuleTokenStream stream_Colon=new RewriteRuleTokenStream(adaptor,"token Colon");
+ RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
+ try {
+ // JSON.g:117:2: ( String Colon value -> ^( ELEMENT String value ) )
+ // JSON.g:117:4: String Colon value
+ {
+ String8=(Token)match(input,String,FOLLOW_String_in_objectElement472);
+ stream_String.add(String8);
+
+ Colon9=(Token)match(input,Colon,FOLLOW_Colon_in_objectElement474);
+ stream_Colon.add(Colon9);
+
+ pushFollow(FOLLOW_value_in_objectElement476);
+ value10=value();
+
+ state._fsp--;
+
+ stream_value.add(value10.getTree());
+
+
+ // AST REWRITE
+ // elements: value, String
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 118:4: -> ^( ELEMENT String value )
+ {
+ // JSON.g:118:7: ^( ELEMENT String value )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ELEMENT, "ELEMENT"), root_1);
+
+ adaptor.addChild(root_1, stream_String.nextNode());
+ adaptor.addChild(root_1, stream_value.nextTree());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "objectElement"
+
+ public static class array_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "array"
+ // JSON.g:121:1: array : LBracket value ( Comma value )* RBracket -> ^( ARRAY ( value )+ ) ;
+ public final JSONParser.array_return array() throws RecognitionException {
+ JSONParser.array_return retval = new JSONParser.array_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ Token LBracket11=null;
+ Token Comma13=null;
+ Token RBracket15=null;
+ JSONParser.value_return value12 = null;
+
+ JSONParser.value_return value14 = null;
+
+
+ Object LBracket11_tree=null;
+ Object Comma13_tree=null;
+ Object RBracket15_tree=null;
+ RewriteRuleTokenStream stream_RBracket=new RewriteRuleTokenStream(adaptor,"token RBracket");
+ RewriteRuleTokenStream stream_Comma=new RewriteRuleTokenStream(adaptor,"token Comma");
+ RewriteRuleTokenStream stream_LBracket=new RewriteRuleTokenStream(adaptor,"token LBracket");
+ RewriteRuleSubtreeStream stream_value=new RewriteRuleSubtreeStream(adaptor,"rule value");
+ try {
+ // JSON.g:122:2: ( LBracket value ( Comma value )* RBracket -> ^( ARRAY ( value )+ ) )
+ // JSON.g:122:4: LBracket value ( Comma value )* RBracket
+ {
+ LBracket11=(Token)match(input,LBracket,FOLLOW_LBracket_in_array502);
+ stream_LBracket.add(LBracket11);
+
+ pushFollow(FOLLOW_value_in_array504);
+ value12=value();
+
+ state._fsp--;
+
+ stream_value.add(value12.getTree());
+ // JSON.g:122:19: ( Comma value )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==Comma) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // JSON.g:122:20: Comma value
+ {
+ Comma13=(Token)match(input,Comma,FOLLOW_Comma_in_array507);
+ stream_Comma.add(Comma13);
+
+ pushFollow(FOLLOW_value_in_array509);
+ value14=value();
+
+ state._fsp--;
+
+ stream_value.add(value14.getTree());
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ RBracket15=(Token)match(input,RBracket,FOLLOW_RBracket_in_array513);
+ stream_RBracket.add(RBracket15);
+
+
+
+ // AST REWRITE
+ // elements: value
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 123:4: -> ^( ARRAY ( value )+ )
+ {
+ // JSON.g:123:7: ^( ARRAY ( value )+ )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ARRAY, "ARRAY"), root_1);
+
+ if ( !(stream_value.hasNext()) ) {
+ throw new RewriteEarlyExitException();
+ }
+ while ( stream_value.hasNext() ) {
+ adaptor.addChild(root_1, stream_value.nextTree());
+
+ }
+ stream_value.reset();
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "array"
+
+ public static class value_return extends ParserRuleReturnScope {
+ Object tree;
+ public Object getTree() { return tree; }
+ };
+
+ // $ANTLR start "value"
+ // JSON.g:127:1: value : ( String -> ^( STRING String ) | Integer -> ^( INTEGER Integer ) | Double -> ^( DOUBLE Double ) | object | array | TRUE | FALSE | NULL );
+ public final JSONParser.value_return value() throws RecognitionException {
+ JSONParser.value_return retval = new JSONParser.value_return();
+ retval.start = input.LT(1);
+
+ Object root_0 = null;
+
+ Token String16=null;
+ Token Integer17=null;
+ Token Double18=null;
+ Token TRUE21=null;
+ Token FALSE22=null;
+ Token NULL23=null;
+ JSONParser.object_return object19 = null;
+
+ JSONParser.array_return array20 = null;
+
+
+ Object String16_tree=null;
+ Object Integer17_tree=null;
+ Object Double18_tree=null;
+ Object TRUE21_tree=null;
+ Object FALSE22_tree=null;
+ Object NULL23_tree=null;
+ RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");
+ RewriteRuleTokenStream stream_Integer=new RewriteRuleTokenStream(adaptor,"token Integer");
+ RewriteRuleTokenStream stream_Double=new RewriteRuleTokenStream(adaptor,"token Double");
+
+ try {
+ // JSON.g:128:2: ( String -> ^( STRING String ) | Integer -> ^( INTEGER Integer ) | Double -> ^( DOUBLE Double ) | object | array | TRUE | FALSE | NULL )
+ int alt4=8;
+ switch ( input.LA(1) ) {
+ case String:
+ {
+ alt4=1;
+ }
+ break;
+ case Integer:
+ {
+ alt4=2;
+ }
+ break;
+ case Double:
+ {
+ alt4=3;
+ }
+ break;
+ case LBrace:
+ {
+ alt4=4;
+ }
+ break;
+ case LBracket:
+ {
+ alt4=5;
+ }
+ break;
+ case TRUE:
+ {
+ alt4=6;
+ }
+ break;
+ case FALSE:
+ {
+ alt4=7;
+ }
+ break;
+ case NULL:
+ {
+ alt4=8;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt4) {
+ case 1 :
+ // JSON.g:128:4: String
+ {
+ String16=(Token)match(input,String,FOLLOW_String_in_value538);
+ stream_String.add(String16);
+
+
+
+ // AST REWRITE
+ // elements: String
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 128:11: -> ^( STRING String )
+ {
+ // JSON.g:128:14: ^( STRING String )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(STRING, "STRING"), root_1);
+
+ adaptor.addChild(root_1, stream_String.nextNode());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+ break;
+ case 2 :
+ // JSON.g:129:4: Integer
+ {
+ Integer17=(Token)match(input,Integer,FOLLOW_Integer_in_value551);
+ stream_Integer.add(Integer17);
+
+
+
+ // AST REWRITE
+ // elements: Integer
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 129:12: -> ^( INTEGER Integer )
+ {
+ // JSON.g:129:15: ^( INTEGER Integer )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(INTEGER, "INTEGER"), root_1);
+
+ adaptor.addChild(root_1, stream_Integer.nextNode());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+ break;
+ case 3 :
+ // JSON.g:130:4: Double
+ {
+ Double18=(Token)match(input,Double,FOLLOW_Double_in_value564);
+ stream_Double.add(Double18);
+
+
+
+ // AST REWRITE
+ // elements: Double
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 130:11: -> ^( DOUBLE Double )
+ {
+ // JSON.g:130:14: ^( DOUBLE Double )
+ {
+ Object root_1 = (Object)adaptor.nil();
+ root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(DOUBLE, "DOUBLE"), root_1);
+
+ adaptor.addChild(root_1, stream_Double.nextNode());
+
+ adaptor.addChild(root_0, root_1);
+ }
+
+ }
+
+ retval.tree = root_0;
+ }
+ break;
+ case 4 :
+ // JSON.g:131:4: object
+ {
+ root_0 = (Object)adaptor.nil();
+
+ pushFollow(FOLLOW_object_in_value577);
+ object19=object();
+
+ state._fsp--;
+
+ adaptor.addChild(root_0, object19.getTree());
+
+ }
+ break;
+ case 5 :
+ // JSON.g:132:4: array
+ {
+ root_0 = (Object)adaptor.nil();
+
+ pushFollow(FOLLOW_array_in_value584);
+ array20=array();
+
+ state._fsp--;
+
+ adaptor.addChild(root_0, array20.getTree());
+
+ }
+ break;
+ case 6 :
+ // JSON.g:133:4: TRUE
+ {
+ root_0 = (Object)adaptor.nil();
+
+ TRUE21=(Token)match(input,TRUE,FOLLOW_TRUE_in_value591);
+ TRUE21_tree = (Object)adaptor.create(TRUE21);
+ adaptor.addChild(root_0, TRUE21_tree);
+
+
+ }
+ break;
+ case 7 :
+ // JSON.g:134:4: FALSE
+ {
+ root_0 = (Object)adaptor.nil();
+
+ FALSE22=(Token)match(input,FALSE,FOLLOW_FALSE_in_value599);
+ FALSE22_tree = (Object)adaptor.create(FALSE22);
+ adaptor.addChild(root_0, FALSE22_tree);
+
+
+ }
+ break;
+ case 8 :
+ // JSON.g:135:4: NULL
+ {
+ root_0 = (Object)adaptor.nil();
+
+ NULL23=(Token)match(input,NULL,FOLLOW_NULL_in_value604);
+ NULL23_tree = (Object)adaptor.create(NULL23);
+ adaptor.addChild(root_0, NULL23_tree);
+
+
+ }
+ break;
+
+ }
+ retval.stop = input.LT(-1);
+
+ retval.tree = (Object)adaptor.rulePostProcessing(root_0);
+ adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
+
+ }
+
+
+ finally {
+ }
+ return retval;
+ }
+ // $ANTLR end "value"
+
+ // Delegated rules
+
+
+
+
+ public static final BitSet FOLLOW_object_in_jsonObject409 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_in_jsonArray421 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LBrace_in_object434 = new BitSet(new long[]{0x0000000020002000L});
+ public static final BitSet FOLLOW_objectElement_in_object437 = new BitSet(new long[]{0x0000000000002800L});
+ public static final BitSet FOLLOW_Comma_in_object440 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_objectElement_in_object442 = new BitSet(new long[]{0x0000000000002800L});
+ public static final BitSet FOLLOW_RBrace_in_object448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_String_in_objectElement472 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_Colon_in_objectElement474 = new BitSet(new long[]{0x00000000E00E5000L});
+ public static final BitSet FOLLOW_value_in_objectElement476 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LBracket_in_array502 = new BitSet(new long[]{0x00000000E00E5000L});
+ public static final BitSet FOLLOW_value_in_array504 = new BitSet(new long[]{0x0000000000008800L});
+ public static final BitSet FOLLOW_Comma_in_array507 = new BitSet(new long[]{0x00000000E00E5000L});
+ public static final BitSet FOLLOW_value_in_array509 = new BitSet(new long[]{0x0000000000008800L});
+ public static final BitSet FOLLOW_RBracket_in_array513 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_String_in_value538 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Integer_in_value551 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Double_in_value564 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_object_in_value577 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_in_value584 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_TRUE_in_value591 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FALSE_in_value599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NULL_in_value604 = new BitSet(new long[]{0x0000000000000002L});
+
}
\ No newline at end of file
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSONWalker.g 2009-07-03 16:06:10\r
-\r
-//--------------------------------------\r
-// Xerial Project\r
-//\r
-// JSONWalker.java\r
-// Since: Apr 26, 2007\r
-//\r
-//--------------------------------------\r
-package org.xerial.json.impl;\r
-import org.xerial.json.*;\r
-import org.xerial.util.StringUtil; \r
-\r
-\r
-import org.antlr.runtime.*;\r
-import org.antlr.runtime.tree.*;import java.util.Stack;\r
-import java.util.List;\r
-import java.util.ArrayList;\r
-\r
-/**\r
- * JSONWalker generates JSONObject and JSONArray instances\r
- * from a given input JSON parse tree.\r
- */\r
-public class JSONWalker extends TreeParser {\r
- public static final String[] tokenNames = new String[] {\r
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "OBJECT", "ELEMENT", "ARRAY", "STRING", "INTEGER", "DOUBLE", "Colon", "Comma", "LBrace", "RBrace", "LBracket", "RBracket", "Dot", "TRUE", "FALSE", "NULL", "Digit", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "Int", "Frac", "Exp", "WhiteSpace", "String", "Integer", "Double"\r
- };\r
- public static final int OBJECT=4;\r
- public static final int ELEMENT=5;\r
- public static final int RBrace=13;\r
- public static final int ARRAY=6;\r
- public static final int LBracket=14;\r
- public static final int Digit=20;\r
- public static final int Frac=26;\r
- public static final int HexDigit=21;\r
- public static final int DOUBLE=9;\r
- public static final int Exp=27;\r
- public static final int STRING=7;\r
- public static final int Int=25;\r
- public static final int FALSE=18;\r
- public static final int UnicodeChar=22;\r
- public static final int StringChar=24;\r
- public static final int String=29;\r
- public static final int INTEGER=8;\r
- public static final int Comma=11;\r
- public static final int Dot=16;\r
- public static final int EscapeSequence=23;\r
- public static final int EOF=-1;\r
- public static final int NULL=19;\r
- public static final int Integer=30;\r
- public static final int LBrace=12;\r
- public static final int Double=31;\r
- public static final int RBracket=15;\r
- public static final int WhiteSpace=28;\r
- public static final int TRUE=17;\r
- public static final int Colon=10;\r
-\r
- // delegates\r
- // delegators\r
-\r
- protected static class ObjectLayer_scope {\r
- ArrayList<JSONElement> elems;\r
- }\r
- protected Stack ObjectLayer_stack = new Stack();\r
- protected static class ArrayLayer_scope {\r
- ArrayList<JSONValue> elems;\r
- }\r
- protected Stack ArrayLayer_stack = new Stack();\r
-\r
-\r
- public JSONWalker(TreeNodeStream input) {\r
- this(input, new RecognizerSharedState());\r
- }\r
- public JSONWalker(TreeNodeStream input, RecognizerSharedState state) {\r
- super(input, state);\r
- \r
- }\r
- \r
-\r
- public String[] getTokenNames() { return JSONWalker.tokenNames; }\r
- public String getGrammarFileName() { return "JSONWalker.g"; }\r
-\r
-\r
- public String unquote(String s) { return StringUtil.unquote(s); }\r
-\r
-\r
-\r
- // $ANTLR start "jsonObject"\r
- // JSONWalker.g:47:1: jsonObject returns [JSONObject r] : o= object ;\r
- public final JSONObject jsonObject() throws RecognitionException {\r
- JSONObject r = null;\r
-\r
- JSONObject o = null;\r
-\r
-\r
- try {\r
- // JSONWalker.g:48:2: (o= object )\r
- // JSONWalker.g:48:4: o= object\r
- {\r
- pushFollow(FOLLOW_object_in_jsonObject82);\r
- o=object();\r
-\r
- state._fsp--;\r
-\r
- r = o; \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- }\r
- return r;\r
- }\r
- // $ANTLR end "jsonObject"\r
-\r
-\r
- // $ANTLR start "jsonArray"\r
- // JSONWalker.g:50:1: jsonArray returns [JSONArray r] : a= array ;\r
- public final JSONArray jsonArray() throws RecognitionException {\r
- JSONArray r = null;\r
-\r
- JSONArray a = null;\r
-\r
-\r
- try {\r
- // JSONWalker.g:51:2: (a= array )\r
- // JSONWalker.g:51:4: a= array\r
- {\r
- pushFollow(FOLLOW_array_in_jsonArray101);\r
- a=array();\r
-\r
- state._fsp--;\r
-\r
- r = a; \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- }\r
- return r;\r
- }\r
- // $ANTLR end "jsonArray"\r
-\r
-\r
- // $ANTLR start "object"\r
- // JSONWalker.g:55:1: object returns [JSONObject v] : ^( OBJECT ( objectElement )* ) ;\r
- public final JSONObject object() throws RecognitionException {\r
- ObjectLayer_stack.push(new ObjectLayer_scope());\r
-\r
- JSONObject v = null;\r
-\r
-\r
- ((ObjectLayer_scope)ObjectLayer_stack.peek()).elems = new ArrayList<JSONElement>();\r
-\r
- try {\r
- // JSONWalker.g:60:2: ( ^( OBJECT ( objectElement )* ) )\r
- // JSONWalker.g:60:4: ^( OBJECT ( objectElement )* )\r
- {\r
- match(input,OBJECT,FOLLOW_OBJECT_in_object133); \r
-\r
- if ( input.LA(1)==Token.DOWN ) {\r
- match(input, Token.DOWN, null); \r
- // JSONWalker.g:60:13: ( objectElement )*\r
- loop1:\r
- do {\r
- int alt1=2;\r
- int LA1_0 = input.LA(1);\r
-\r
- if ( (LA1_0==ELEMENT) ) {\r
- alt1=1;\r
- }\r
-\r
-\r
- switch (alt1) {\r
- case 1 :\r
- // JSONWalker.g:60:13: objectElement\r
- {\r
- pushFollow(FOLLOW_objectElement_in_object135);\r
- objectElement();\r
-\r
- state._fsp--;\r
-\r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop1;\r
- }\r
- } while (true);\r
-\r
-\r
- match(input, Token.UP, null); \r
- }\r
- v = new JSONObject(((ObjectLayer_scope)ObjectLayer_stack.peek()).elems); \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- ObjectLayer_stack.pop();\r
-\r
- }\r
- return v;\r
- }\r
- // $ANTLR end "object"\r
-\r
-\r
- // $ANTLR start "objectElement"\r
- // JSONWalker.g:64:1: objectElement : ^( ELEMENT s= String v= value ) ;\r
- public final void objectElement() throws RecognitionException {\r
- CommonTree s=null;\r
- JSONValue v = null;\r
-\r
-\r
- try {\r
- // JSONWalker.g:65:2: ( ^( ELEMENT s= String v= value ) )\r
- // JSONWalker.g:65:4: ^( ELEMENT s= String v= value )\r
- {\r
- match(input,ELEMENT,FOLLOW_ELEMENT_in_objectElement155); \r
-\r
- match(input, Token.DOWN, null); \r
- s=(CommonTree)match(input,String,FOLLOW_String_in_objectElement159); \r
- pushFollow(FOLLOW_value_in_objectElement163);\r
- v=value();\r
-\r
- state._fsp--;\r
-\r
-\r
- match(input, Token.UP, null); \r
- ((ObjectLayer_scope)ObjectLayer_stack.peek()).elems.add(new JSONElement(unquote((s!=null?s.getText():null)), v)); \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- }\r
- return ;\r
- }\r
- // $ANTLR end "objectElement"\r
-\r
-\r
- // $ANTLR start "array"\r
- // JSONWalker.g:69:1: array returns [JSONArray v] : ^( ARRAY ( arrayElement )* ) ;\r
- public final JSONArray array() throws RecognitionException {\r
- ArrayLayer_stack.push(new ArrayLayer_scope());\r
-\r
- JSONArray v = null;\r
-\r
-\r
- ((ArrayLayer_scope)ArrayLayer_stack.peek()).elems = new ArrayList<JSONValue>();\r
-\r
- try {\r
- // JSONWalker.g:74:2: ( ^( ARRAY ( arrayElement )* ) )\r
- // JSONWalker.g:74:4: ^( ARRAY ( arrayElement )* )\r
- {\r
- match(input,ARRAY,FOLLOW_ARRAY_in_array198); \r
-\r
- if ( input.LA(1)==Token.DOWN ) {\r
- match(input, Token.DOWN, null); \r
- // JSONWalker.g:74:12: ( arrayElement )*\r
- loop2:\r
- do {\r
- int alt2=2;\r
- alt2 = dfa2.predict(input);\r
- switch (alt2) {\r
- case 1 :\r
- // JSONWalker.g:74:12: arrayElement\r
- {\r
- pushFollow(FOLLOW_arrayElement_in_array200);\r
- arrayElement();\r
-\r
- state._fsp--;\r
-\r
-\r
- }\r
- break;\r
-\r
- default :\r
- break loop2;\r
- }\r
- } while (true);\r
-\r
-\r
- match(input, Token.UP, null); \r
- }\r
- v = new JSONArray(((ArrayLayer_scope)ArrayLayer_stack.peek()).elems); \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- ArrayLayer_stack.pop();\r
-\r
- }\r
- return v;\r
- }\r
- // $ANTLR end "array"\r
-\r
-\r
- // $ANTLR start "arrayElement"\r
- // JSONWalker.g:78:1: arrayElement : v= value ;\r
- public final void arrayElement() throws RecognitionException {\r
- JSONValue v = null;\r
-\r
-\r
- try {\r
- // JSONWalker.g:79:2: (v= value )\r
- // JSONWalker.g:79:4: v= value\r
- {\r
- pushFollow(FOLLOW_value_in_arrayElement223);\r
- v=value();\r
-\r
- state._fsp--;\r
-\r
- ((ArrayLayer_scope)ArrayLayer_stack.peek()).elems.add(v); \r
-\r
- }\r
-\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- }\r
- return ;\r
- }\r
- // $ANTLR end "arrayElement"\r
-\r
-\r
- // $ANTLR start "value"\r
- // JSONWalker.g:83:1: value returns [JSONValue v] : ( ^( STRING s= String ) | ^( INTEGER n= Integer ) | ^( DOUBLE n= Double ) | o= object | a= array | TRUE | FALSE | NULL );\r
- public final JSONValue value() throws RecognitionException {\r
- JSONValue v = null;\r
-\r
- CommonTree s=null;\r
- CommonTree n=null;\r
- JSONObject o = null;\r
-\r
- JSONArray a = null;\r
-\r
-\r
- try {\r
- // JSONWalker.g:84:2: ( ^( STRING s= String ) | ^( INTEGER n= Integer ) | ^( DOUBLE n= Double ) | o= object | a= array | TRUE | FALSE | NULL )\r
- int alt3=8;\r
- switch ( input.LA(1) ) {\r
- case STRING:\r
- {\r
- alt3=1;\r
- }\r
- break;\r
- case INTEGER:\r
- {\r
- alt3=2;\r
- }\r
- break;\r
- case DOUBLE:\r
- {\r
- alt3=3;\r
- }\r
- break;\r
- case OBJECT:\r
- {\r
- alt3=4;\r
- }\r
- break;\r
- case ARRAY:\r
- {\r
- alt3=5;\r
- }\r
- break;\r
- case TRUE:\r
- {\r
- alt3=6;\r
- }\r
- break;\r
- case FALSE:\r
- {\r
- alt3=7;\r
- }\r
- break;\r
- case NULL:\r
- {\r
- alt3=8;\r
- }\r
- break;\r
- default:\r
- NoViableAltException nvae =\r
- new NoViableAltException("", 3, 0, input);\r
-\r
- throw nvae;\r
- }\r
-\r
- switch (alt3) {\r
- case 1 :\r
- // JSONWalker.g:84:4: ^( STRING s= String )\r
- {\r
- match(input,STRING,FOLLOW_STRING_in_value243); \r
-\r
- match(input, Token.DOWN, null); \r
- s=(CommonTree)match(input,String,FOLLOW_String_in_value247); \r
-\r
- match(input, Token.UP, null); \r
- v = new JSONString(unquote((s!=null?s.getText():null))); \r
-\r
- }\r
- break;\r
- case 2 :\r
- // JSONWalker.g:85:4: ^( INTEGER n= Integer )\r
- {\r
- match(input,INTEGER,FOLLOW_INTEGER_in_value256); \r
-\r
- match(input, Token.DOWN, null); \r
- n=(CommonTree)match(input,Integer,FOLLOW_Integer_in_value260); \r
-\r
- match(input, Token.UP, null); \r
- v = new JSONInteger((n!=null?n.getText():null)); \r
-\r
- }\r
- break;\r
- case 3 :\r
- // JSONWalker.g:86:4: ^( DOUBLE n= Double )\r
- {\r
- match(input,DOUBLE,FOLLOW_DOUBLE_in_value269); \r
-\r
- match(input, Token.DOWN, null); \r
- n=(CommonTree)match(input,Double,FOLLOW_Double_in_value273); \r
-\r
- match(input, Token.UP, null); \r
- v = new JSONDouble((n!=null?n.getText():null)); \r
-\r
- }\r
- break;\r
- case 4 :\r
- // JSONWalker.g:87:4: o= object\r
- {\r
- pushFollow(FOLLOW_object_in_value283);\r
- o=object();\r
-\r
- state._fsp--;\r
-\r
- v = o; \r
-\r
- }\r
- break;\r
- case 5 :\r
- // JSONWalker.g:88:4: a= array\r
- {\r
- pushFollow(FOLLOW_array_in_value292);\r
- a=array();\r
-\r
- state._fsp--;\r
-\r
- v = a; \r
-\r
- }\r
- break;\r
- case 6 :\r
- // JSONWalker.g:89:4: TRUE\r
- {\r
- match(input,TRUE,FOLLOW_TRUE_in_value301); \r
- v = new JSONBoolean(true); \r
-\r
- }\r
- break;\r
- case 7 :\r
- // JSONWalker.g:90:4: FALSE\r
- {\r
- match(input,FALSE,FOLLOW_FALSE_in_value308); \r
- v = new JSONBoolean(false); \r
-\r
- }\r
- break;\r
- case 8 :\r
- // JSONWalker.g:91:4: NULL\r
- {\r
- match(input,NULL,FOLLOW_NULL_in_value315); \r
- v = new JSONNull(); \r
-\r
- }\r
- break;\r
-\r
- }\r
- }\r
- catch (RecognitionException re) {\r
- reportError(re);\r
- recover(input,re);\r
- }\r
- finally {\r
- }\r
- return v;\r
- }\r
- // $ANTLR end "value"\r
-\r
- // Delegated rules\r
-\r
-\r
- protected DFA2 dfa2 = new DFA2(this);\r
- static final String DFA2_eotS =\r
- "\12\uffff";\r
- static final String DFA2_eofS =\r
- "\12\uffff";\r
- static final String DFA2_minS =\r
- "\1\3\11\uffff";\r
- static final String DFA2_maxS =\r
- "\1\23\11\uffff";\r
- static final String DFA2_acceptS =\r
- "\1\uffff\1\2\1\1\7\uffff";\r
- static final String DFA2_specialS =\r
- "\12\uffff}>";\r
- static final String[] DFA2_transitionS = {\r
- "\1\1\1\2\1\uffff\4\2\7\uffff\3\2",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- "",\r
- ""\r
- };\r
-\r
- static final short[] DFA2_eot = DFA.unpackEncodedString(DFA2_eotS);\r
- static final short[] DFA2_eof = DFA.unpackEncodedString(DFA2_eofS);\r
- static final char[] DFA2_min = DFA.unpackEncodedStringToUnsignedChars(DFA2_minS);\r
- static final char[] DFA2_max = DFA.unpackEncodedStringToUnsignedChars(DFA2_maxS);\r
- static final short[] DFA2_accept = DFA.unpackEncodedString(DFA2_acceptS);\r
- static final short[] DFA2_special = DFA.unpackEncodedString(DFA2_specialS);\r
- static final short[][] DFA2_transition;\r
-\r
- static {\r
- int numStates = DFA2_transitionS.length;\r
- DFA2_transition = new short[numStates][];\r
- for (int i=0; i<numStates; i++) {\r
- DFA2_transition[i] = DFA.unpackEncodedString(DFA2_transitionS[i]);\r
- }\r
- }\r
-\r
- class DFA2 extends DFA {\r
-\r
- public DFA2(BaseRecognizer recognizer) {\r
- this.recognizer = recognizer;\r
- this.decisionNumber = 2;\r
- this.eot = DFA2_eot;\r
- this.eof = DFA2_eof;\r
- this.min = DFA2_min;\r
- this.max = DFA2_max;\r
- this.accept = DFA2_accept;\r
- this.special = DFA2_special;\r
- this.transition = DFA2_transition;\r
- }\r
- public String getDescription() {\r
- return "()* loopback of 74:12: ( arrayElement )*";\r
- }\r
- }\r
- \r
-\r
- public static final BitSet FOLLOW_object_in_jsonObject82 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_array_in_jsonArray101 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_OBJECT_in_object133 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_objectElement_in_object135 = new BitSet(new long[]{0x0000000000000028L});\r
- public static final BitSet FOLLOW_ELEMENT_in_objectElement155 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_String_in_objectElement159 = new BitSet(new long[]{0x00000000000E03D0L});\r
- public static final BitSet FOLLOW_value_in_objectElement163 = new BitSet(new long[]{0x0000000000000008L});\r
- public static final BitSet FOLLOW_ARRAY_in_array198 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_arrayElement_in_array200 = new BitSet(new long[]{0x00000000000E03D8L});\r
- public static final BitSet FOLLOW_value_in_arrayElement223 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_STRING_in_value243 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_String_in_value247 = new BitSet(new long[]{0x0000000000000008L});\r
- public static final BitSet FOLLOW_INTEGER_in_value256 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_Integer_in_value260 = new BitSet(new long[]{0x0000000000000008L});\r
- public static final BitSet FOLLOW_DOUBLE_in_value269 = new BitSet(new long[]{0x0000000000000004L});\r
- public static final BitSet FOLLOW_Double_in_value273 = new BitSet(new long[]{0x0000000000000008L});\r
- public static final BitSet FOLLOW_object_in_value283 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_array_in_value292 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_TRUE_in_value301 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_FALSE_in_value308 = new BitSet(new long[]{0x0000000000000002L});\r
- public static final BitSet FOLLOW_NULL_in_value315 = new BitSet(new long[]{0x0000000000000002L});\r
-\r
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 JSONWalker.g 2009-07-07 22:05:14
+
+//--------------------------------------
+// Xerial Project
+//
+// JSONWalker.java
+// Since: Apr 26, 2007
+//
+//--------------------------------------
+package org.xerial.json.impl;
+import org.xerial.json.*;
+import org.xerial.util.StringUtil;
+
+
+import org.antlr.runtime.*;
+import org.antlr.runtime.tree.*;import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * JSONWalker generates JSONObject and JSONArray instances
+ * from a given input JSON parse tree.
+ */
+public class JSONWalker extends TreeParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "OBJECT", "ELEMENT", "ARRAY", "STRING", "INTEGER", "DOUBLE", "Colon", "Comma", "LBrace", "RBrace", "LBracket", "RBracket", "Dot", "TRUE", "FALSE", "NULL", "Digit", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "Int", "Frac", "Exp", "WhiteSpace", "String", "Integer", "Double"
+ };
+ public static final int OBJECT=4;
+ public static final int ELEMENT=5;
+ public static final int RBrace=13;
+ public static final int ARRAY=6;
+ public static final int LBracket=14;
+ public static final int Digit=20;
+ public static final int Frac=26;
+ public static final int HexDigit=21;
+ public static final int DOUBLE=9;
+ public static final int Exp=27;
+ public static final int STRING=7;
+ public static final int Int=25;
+ public static final int FALSE=18;
+ public static final int UnicodeChar=22;
+ public static final int StringChar=24;
+ public static final int String=29;
+ public static final int INTEGER=8;
+ public static final int Comma=11;
+ public static final int Dot=16;
+ public static final int EscapeSequence=23;
+ public static final int EOF=-1;
+ public static final int NULL=19;
+ public static final int Integer=30;
+ public static final int LBrace=12;
+ public static final int Double=31;
+ public static final int RBracket=15;
+ public static final int WhiteSpace=28;
+ public static final int TRUE=17;
+ public static final int Colon=10;
+
+ // delegates
+ // delegators
+
+ protected static class ObjectLayer_scope {
+ ArrayList<JSONElement> elems;
+ }
+ protected Stack ObjectLayer_stack = new Stack();
+ protected static class ArrayLayer_scope {
+ ArrayList<JSONValue> elems;
+ }
+ protected Stack ArrayLayer_stack = new Stack();
+
+
+ public JSONWalker(TreeNodeStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public JSONWalker(TreeNodeStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return JSONWalker.tokenNames; }
+ public String getGrammarFileName() { return "JSONWalker.g"; }
+
+
+ public String unquote(String s) { return StringUtil.unquote(s); }
+
+
+
+ // $ANTLR start "jsonObject"
+ // JSONWalker.g:47:1: jsonObject returns [JSONObject r] : o= object ;
+ public final JSONObject jsonObject() throws RecognitionException {
+ JSONObject r = null;
+
+ JSONObject o = null;
+
+
+ try {
+ // JSONWalker.g:48:2: (o= object )
+ // JSONWalker.g:48:4: o= object
+ {
+ pushFollow(FOLLOW_object_in_jsonObject82);
+ o=object();
+
+ state._fsp--;
+
+ r = o;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return r;
+ }
+ // $ANTLR end "jsonObject"
+
+
+ // $ANTLR start "jsonArray"
+ // JSONWalker.g:50:1: jsonArray returns [JSONArray r] : a= array ;
+ public final JSONArray jsonArray() throws RecognitionException {
+ JSONArray r = null;
+
+ JSONArray a = null;
+
+
+ try {
+ // JSONWalker.g:51:2: (a= array )
+ // JSONWalker.g:51:4: a= array
+ {
+ pushFollow(FOLLOW_array_in_jsonArray101);
+ a=array();
+
+ state._fsp--;
+
+ r = a;
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return r;
+ }
+ // $ANTLR end "jsonArray"
+
+
+ // $ANTLR start "object"
+ // JSONWalker.g:55:1: object returns [JSONObject v] : ^( OBJECT ( objectElement )* ) ;
+ public final JSONObject object() throws RecognitionException {
+ ObjectLayer_stack.push(new ObjectLayer_scope());
+
+ JSONObject v = null;
+
+
+ ((ObjectLayer_scope)ObjectLayer_stack.peek()).elems = new ArrayList<JSONElement>();
+
+ try {
+ // JSONWalker.g:60:2: ( ^( OBJECT ( objectElement )* ) )
+ // JSONWalker.g:60:4: ^( OBJECT ( objectElement )* )
+ {
+ match(input,OBJECT,FOLLOW_OBJECT_in_object133);
+
+ if ( input.LA(1)==Token.DOWN ) {
+ match(input, Token.DOWN, null);
+ // JSONWalker.g:60:13: ( objectElement )*
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==ELEMENT) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // JSONWalker.g:60:13: objectElement
+ {
+ pushFollow(FOLLOW_objectElement_in_object135);
+ objectElement();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop1;
+ }
+ } while (true);
+
+
+ match(input, Token.UP, null);
+ }
+ v = new JSONObject(((ObjectLayer_scope)ObjectLayer_stack.peek()).elems);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ ObjectLayer_stack.pop();
+
+ }
+ return v;
+ }
+ // $ANTLR end "object"
+
+
+ // $ANTLR start "objectElement"
+ // JSONWalker.g:64:1: objectElement : ^( ELEMENT s= String v= value ) ;
+ public final void objectElement() throws RecognitionException {
+ CommonTree s=null;
+ JSONValue v = null;
+
+
+ try {
+ // JSONWalker.g:65:2: ( ^( ELEMENT s= String v= value ) )
+ // JSONWalker.g:65:4: ^( ELEMENT s= String v= value )
+ {
+ match(input,ELEMENT,FOLLOW_ELEMENT_in_objectElement155);
+
+ match(input, Token.DOWN, null);
+ s=(CommonTree)match(input,String,FOLLOW_String_in_objectElement159);
+ pushFollow(FOLLOW_value_in_objectElement163);
+ v=value();
+
+ state._fsp--;
+
+
+ match(input, Token.UP, null);
+ ((ObjectLayer_scope)ObjectLayer_stack.peek()).elems.add(new JSONElement(unquote((s!=null?s.getText():null)), v));
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "objectElement"
+
+
+ // $ANTLR start "array"
+ // JSONWalker.g:69:1: array returns [JSONArray v] : ^( ARRAY ( arrayElement )* ) ;
+ public final JSONArray array() throws RecognitionException {
+ ArrayLayer_stack.push(new ArrayLayer_scope());
+
+ JSONArray v = null;
+
+
+ ((ArrayLayer_scope)ArrayLayer_stack.peek()).elems = new ArrayList<JSONValue>();
+
+ try {
+ // JSONWalker.g:74:2: ( ^( ARRAY ( arrayElement )* ) )
+ // JSONWalker.g:74:4: ^( ARRAY ( arrayElement )* )
+ {
+ match(input,ARRAY,FOLLOW_ARRAY_in_array198);
+
+ if ( input.LA(1)==Token.DOWN ) {
+ match(input, Token.DOWN, null);
+ // JSONWalker.g:74:12: ( arrayElement )*
+ loop2:
+ do {
+ int alt2=2;
+ alt2 = dfa2.predict(input);
+ switch (alt2) {
+ case 1 :
+ // JSONWalker.g:74:12: arrayElement
+ {
+ pushFollow(FOLLOW_arrayElement_in_array200);
+ arrayElement();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ match(input, Token.UP, null);
+ }
+ v = new JSONArray(((ArrayLayer_scope)ArrayLayer_stack.peek()).elems);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ ArrayLayer_stack.pop();
+
+ }
+ return v;
+ }
+ // $ANTLR end "array"
+
+
+ // $ANTLR start "arrayElement"
+ // JSONWalker.g:78:1: arrayElement : v= value ;
+ public final void arrayElement() throws RecognitionException {
+ JSONValue v = null;
+
+
+ try {
+ // JSONWalker.g:79:2: (v= value )
+ // JSONWalker.g:79:4: v= value
+ {
+ pushFollow(FOLLOW_value_in_arrayElement223);
+ v=value();
+
+ state._fsp--;
+
+ ((ArrayLayer_scope)ArrayLayer_stack.peek()).elems.add(v);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "arrayElement"
+
+
+ // $ANTLR start "value"
+ // JSONWalker.g:83:1: value returns [JSONValue v] : ( ^( STRING s= String ) | ^( INTEGER n= Integer ) | ^( DOUBLE n= Double ) | o= object | a= array | TRUE | FALSE | NULL );
+ public final JSONValue value() throws RecognitionException {
+ JSONValue v = null;
+
+ CommonTree s=null;
+ CommonTree n=null;
+ JSONObject o = null;
+
+ JSONArray a = null;
+
+
+ try {
+ // JSONWalker.g:84:2: ( ^( STRING s= String ) | ^( INTEGER n= Integer ) | ^( DOUBLE n= Double ) | o= object | a= array | TRUE | FALSE | NULL )
+ int alt3=8;
+ switch ( input.LA(1) ) {
+ case STRING:
+ {
+ alt3=1;
+ }
+ break;
+ case INTEGER:
+ {
+ alt3=2;
+ }
+ break;
+ case DOUBLE:
+ {
+ alt3=3;
+ }
+ break;
+ case OBJECT:
+ {
+ alt3=4;
+ }
+ break;
+ case ARRAY:
+ {
+ alt3=5;
+ }
+ break;
+ case TRUE:
+ {
+ alt3=6;
+ }
+ break;
+ case FALSE:
+ {
+ alt3=7;
+ }
+ break;
+ case NULL:
+ {
+ alt3=8;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt3) {
+ case 1 :
+ // JSONWalker.g:84:4: ^( STRING s= String )
+ {
+ match(input,STRING,FOLLOW_STRING_in_value243);
+
+ match(input, Token.DOWN, null);
+ s=(CommonTree)match(input,String,FOLLOW_String_in_value247);
+
+ match(input, Token.UP, null);
+ v = new JSONString(unquote((s!=null?s.getText():null)));
+
+ }
+ break;
+ case 2 :
+ // JSONWalker.g:85:4: ^( INTEGER n= Integer )
+ {
+ match(input,INTEGER,FOLLOW_INTEGER_in_value256);
+
+ match(input, Token.DOWN, null);
+ n=(CommonTree)match(input,Integer,FOLLOW_Integer_in_value260);
+
+ match(input, Token.UP, null);
+ v = new JSONInteger((n!=null?n.getText():null));
+
+ }
+ break;
+ case 3 :
+ // JSONWalker.g:86:4: ^( DOUBLE n= Double )
+ {
+ match(input,DOUBLE,FOLLOW_DOUBLE_in_value269);
+
+ match(input, Token.DOWN, null);
+ n=(CommonTree)match(input,Double,FOLLOW_Double_in_value273);
+
+ match(input, Token.UP, null);
+ v = new JSONDouble((n!=null?n.getText():null));
+
+ }
+ break;
+ case 4 :
+ // JSONWalker.g:87:4: o= object
+ {
+ pushFollow(FOLLOW_object_in_value283);
+ o=object();
+
+ state._fsp--;
+
+ v = o;
+
+ }
+ break;
+ case 5 :
+ // JSONWalker.g:88:4: a= array
+ {
+ pushFollow(FOLLOW_array_in_value292);
+ a=array();
+
+ state._fsp--;
+
+ v = a;
+
+ }
+ break;
+ case 6 :
+ // JSONWalker.g:89:4: TRUE
+ {
+ match(input,TRUE,FOLLOW_TRUE_in_value301);
+ v = new JSONBoolean(true);
+
+ }
+ break;
+ case 7 :
+ // JSONWalker.g:90:4: FALSE
+ {
+ match(input,FALSE,FOLLOW_FALSE_in_value308);
+ v = new JSONBoolean(false);
+
+ }
+ break;
+ case 8 :
+ // JSONWalker.g:91:4: NULL
+ {
+ match(input,NULL,FOLLOW_NULL_in_value315);
+ v = new JSONNull();
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return v;
+ }
+ // $ANTLR end "value"
+
+ // Delegated rules
+
+
+ protected DFA2 dfa2 = new DFA2(this);
+ static final String DFA2_eotS =
+ "\12\uffff";
+ static final String DFA2_eofS =
+ "\12\uffff";
+ static final String DFA2_minS =
+ "\1\3\11\uffff";
+ static final String DFA2_maxS =
+ "\1\23\11\uffff";
+ static final String DFA2_acceptS =
+ "\1\uffff\1\2\1\1\7\uffff";
+ static final String DFA2_specialS =
+ "\12\uffff}>";
+ static final String[] DFA2_transitionS = {
+ "\1\1\1\2\1\uffff\4\2\7\uffff\3\2",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA2_eot = DFA.unpackEncodedString(DFA2_eotS);
+ static final short[] DFA2_eof = DFA.unpackEncodedString(DFA2_eofS);
+ static final char[] DFA2_min = DFA.unpackEncodedStringToUnsignedChars(DFA2_minS);
+ static final char[] DFA2_max = DFA.unpackEncodedStringToUnsignedChars(DFA2_maxS);
+ static final short[] DFA2_accept = DFA.unpackEncodedString(DFA2_acceptS);
+ static final short[] DFA2_special = DFA.unpackEncodedString(DFA2_specialS);
+ static final short[][] DFA2_transition;
+
+ static {
+ int numStates = DFA2_transitionS.length;
+ DFA2_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA2_transition[i] = DFA.unpackEncodedString(DFA2_transitionS[i]);
+ }
+ }
+
+ class DFA2 extends DFA {
+
+ public DFA2(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 2;
+ this.eot = DFA2_eot;
+ this.eof = DFA2_eof;
+ this.min = DFA2_min;
+ this.max = DFA2_max;
+ this.accept = DFA2_accept;
+ this.special = DFA2_special;
+ this.transition = DFA2_transition;
+ }
+ public String getDescription() {
+ return "()* loopback of 74:12: ( arrayElement )*";
+ }
+ }
+
+
+ public static final BitSet FOLLOW_object_in_jsonObject82 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_in_jsonArray101 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_OBJECT_in_object133 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_objectElement_in_object135 = new BitSet(new long[]{0x0000000000000028L});
+ public static final BitSet FOLLOW_ELEMENT_in_objectElement155 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_String_in_objectElement159 = new BitSet(new long[]{0x00000000000E03D0L});
+ public static final BitSet FOLLOW_value_in_objectElement163 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_ARRAY_in_array198 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_arrayElement_in_array200 = new BitSet(new long[]{0x00000000000E03D8L});
+ public static final BitSet FOLLOW_value_in_arrayElement223 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_STRING_in_value243 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_String_in_value247 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_INTEGER_in_value256 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_Integer_in_value260 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_DOUBLE_in_value269 = new BitSet(new long[]{0x0000000000000004L});
+ public static final BitSet FOLLOW_Double_in_value273 = new BitSet(new long[]{0x0000000000000008L});
+ public static final BitSet FOLLOW_object_in_value283 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_array_in_value292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_TRUE_in_value301 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FALSE_in_value308 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NULL_in_value315 = new BitSet(new long[]{0x0000000000000002L});
+
}
\ No newline at end of file
-OBJECT=4\r
-ELEMENT=5\r
-RBrace=13\r
-ARRAY=6\r
-LBracket=14\r
-Digit=20\r
-Frac=26\r
-HexDigit=21\r
-DOUBLE=9\r
-Exp=27\r
-STRING=7\r
-Int=25\r
-FALSE=18\r
-UnicodeChar=22\r
-StringChar=24\r
-String=29\r
-INTEGER=8\r
-Comma=11\r
-Dot=16\r
-EscapeSequence=23\r
-NULL=19\r
-Integer=30\r
-LBrace=12\r
-Double=31\r
-RBracket=15\r
-WhiteSpace=28\r
-TRUE=17\r
-Colon=10\r
+OBJECT=4
+ELEMENT=5
+RBrace=13
+ARRAY=6
+LBracket=14
+Digit=20
+Frac=26
+HexDigit=21
+DOUBLE=9
+Exp=27
+STRING=7
+Int=25
+FALSE=18
+UnicodeChar=22
+StringChar=24
+String=29
+INTEGER=8
+Comma=11
+Dot=16
+EscapeSequence=23
+NULL=19
+Integer=30
+LBrace=12
+Double=31
+RBracket=15
+WhiteSpace=28
+TRUE=17
+Colon=10
-RBrace=20\r
-LBracket=21\r
-T__23=23\r
-Digit=5\r
-Frac=16\r
-HexDigit=7\r
-Exp=17\r
-UnicodeChar=8\r
-StringChar=10\r
-String=12\r
-Letter=6\r
-Comma=14\r
-EscapeSequence=9\r
-T__24=24\r
-StringChar_s=11\r
-Integer=15\r
-LBrace=19\r
-Double=18\r
-RBracket=22\r
-T__25=25\r
-WhiteSpace=4\r
-Colon=13\r
-'false'=24\r
-','=14\r
-'null'=25\r
-'true'=23\r
+RBrace=20
+LBracket=21
+T__23=23
+Digit=5
+Frac=16
+HexDigit=7
+Exp=17
+UnicodeChar=8
+StringChar=10
+String=12
+Letter=6
+Comma=14
+EscapeSequence=9
+T__24=24
+StringChar_s=11
+Integer=15
+LBrace=19
+Double=18
+RBracket=22
+T__25=25
+WhiteSpace=4
+Colon=13
+'false'=24
+','=14
+'null'=25
+'true'=23
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 InLineJSON.g 2009-07-03 16:06:11
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 InLineJSON.g 2009-07-07 22:05:15
//--------------------------------------
// XerialJ Project
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 InLineJSON.g 2009-07-03 16:06:11
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 InLineJSON.g 2009-07-07 22:05:15
//--------------------------------------
// XerialJ Project
-Key=14\r
-PlainUnsafeChar=44\r
-PlainSafeKey=45\r
-DataType=10\r
-SilkNode=5\r
-SilkLine=6\r
-LBracket=30\r
-NodeIndent=18\r
-Digit=33\r
-HexDigit=35\r
-PlainOneLine=50\r
-Plus=29\r
-Occurrence=9\r
-Argument=12\r
-Separation=52\r
-FlowIndicator=42\r
-Letter=34\r
-PlainSafeIn=46\r
-Comma=23\r
-TabSeq=26\r
-NonSpaceChar=48\r
-EscapeSequence=37\r
-PlainFirst=49\r
-WhiteSpace=15\r
-PlainSafeOut=47\r
-JSON=51\r
-Question=32\r
-LineComment=17\r
-Colon=24\r
-At=28\r
-KeyValuePair=13\r
-Star=27\r
-Seq=25\r
-FunctionIndent=19\r
-RParen=22\r
-Indicator=43\r
-UnicodeChar=36\r
-Silk=4\r
-BlankLine=20\r
-StringChar=38\r
-Function=11\r
-Name=7\r
-LParen=21\r
-String=40\r
-LineBreakChar=16\r
-ScopeIndicator=41\r
-StringChar_s=39\r
-Value=8\r
-RBracket=31\r
+Key=14
+PlainUnsafeChar=44
+PlainSafeKey=45
+DataType=10
+SilkNode=5
+SilkLine=6
+LBracket=30
+NodeIndent=18
+Digit=33
+HexDigit=35
+PlainOneLine=50
+Plus=29
+Occurrence=9
+Argument=12
+Separation=52
+FlowIndicator=42
+Letter=34
+PlainSafeIn=46
+Comma=23
+TabSeq=26
+NonSpaceChar=48
+EscapeSequence=37
+PlainFirst=49
+WhiteSpace=15
+PlainSafeOut=47
+JSON=51
+Question=32
+LineComment=17
+Colon=24
+At=28
+KeyValuePair=13
+Star=27
+Seq=25
+FunctionIndent=19
+RParen=22
+Indicator=43
+UnicodeChar=36
+Silk=4
+BlankLine=20
+StringChar=38
+Function=11
+Name=7
+LParen=21
+String=40
+LineBreakChar=16
+ScopeIndicator=41
+StringChar_s=39
+Value=8
+RBracket=31
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-03 16:06:12
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-07 22:05:15
/*--------------------------------------------------------------------------
* Copyright 2009 Taro L. Saito
throw nvae;
}
}
- else if ( (LA13_0=='-') && (((( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ else if ( (LA13_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
int LA13_2 = input.LA(2);
if ( ((( isKey() )&&( isValue() ))) ) {
throw nvae;
}
}
- else if ( (LA13_0=='+') && (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {
+ else if ( (LA13_0=='+') && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
int LA13_3 = input.LA(2);
if ( ((( isKey() )&&( isValue() ))) ) {
throw nvae;
}
}
- else if ( (LA13_0==':'||LA13_0=='?') && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ else if ( (LA13_0==':'||LA13_0=='?') && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {
int LA13_4 = input.LA(2);
- if ( ((LA13_4>='\u0000' && LA13_4<='\b')||(LA13_4>='\n' && LA13_4<='\u001F')||LA13_4=='!'||(LA13_4>='#' && LA13_4<='[')||(LA13_4>=']' && LA13_4<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ if ( ((LA13_4>='\u0000' && LA13_4<='\b')||(LA13_4>='\n' && LA13_4<='\u001F')||LA13_4=='!'||(LA13_4>='#' && LA13_4<='[')||(LA13_4>=']' && LA13_4<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
int LA13_8 = input.LA(3);
if ( ((( isKey() )&&( isValue() ))) ) {
static final String DFA16_eofS =
"\46\uffff";
static final String DFA16_minS =
- "\1\0\1\uffff\1\11\2\0\1\11\4\uffff\1\0\3\uffff\2\0\1\uffff\1\0"+
- "\3\uffff\1\0\2\uffff\1\0\3\uffff\1\0\2\uffff\2\0\5\uffff";
+ "\1\0\1\uffff\1\11\2\0\1\11\4\uffff\1\0\3\uffff\2\0\1\uffff\1\0\3"+
+ "\uffff\1\0\2\uffff\1\0\3\uffff\1\0\2\uffff\2\0\5\uffff";
static final String DFA16_maxS =
"\1\uffff\1\uffff\1\100\1\uffff\1\0\1\40\4\uffff\1\uffff\3\uffff"+
"\1\uffff\1\0\1\uffff\1\uffff\3\uffff\1\0\2\uffff\1\0\3\uffff\1\0"+
"\23\1\17\1\uffff\1\20\35\23\1\24\1\14\1\uffff\uff82\23",
"",
"\1\5\26\uffff\1\2\14\uffff\1\26\22\uffff\1\27",
- "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1"+
- "\33\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
+ "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1\33"+
+ "\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
"\1\uffff",
"\1\5\26\uffff\1\5",
"",
"",
"",
"",
- "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1"+
- "\33\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
+ "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1\33"+
+ "\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
"\1\uffff",
"",
"\11\35\1\uffff\26\35\1\uffff\1\35\1\uffff\71\35\1\uffff\uffa3"+
int index16_3 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_3>='\u0000' && LA16_3<='!')||(LA16_3>='$' && LA16_3<='\'')||LA16_3=='+'||(LA16_3>='-' && LA16_3<='9')||(LA16_3>=';' && LA16_3<='=')||(LA16_3>='?' && LA16_3<='Z')||(LA16_3>='^' && LA16_3<='z')||(LA16_3>='~' && LA16_3<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 25;}
+ if ( ((LA16_3>='\u0000' && LA16_3<='!')||(LA16_3>='$' && LA16_3<='\'')||LA16_3=='+'||(LA16_3>='-' && LA16_3<='9')||(LA16_3>=';' && LA16_3<='=')||(LA16_3>='?' && LA16_3<='Z')||(LA16_3>='^' && LA16_3<='z')||(LA16_3>='~' && LA16_3<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {s = 25;}
else if ( ((LA16_3>='(' && LA16_3<=')')||LA16_3==',') && ((( isOutValue() )&&( isValue() )))) {s = 26;}
- else if ( (LA16_3=='*'||LA16_3==':'||LA16_3=='>'||LA16_3=='['||LA16_3==']'||(LA16_3>='{' && LA16_3<='}')) && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 27;}
+ else if ( (LA16_3=='*'||LA16_3==':'||LA16_3=='>'||LA16_3=='['||LA16_3==']'||(LA16_3>='{' && LA16_3<='}')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 27;}
else s = 24;
int index16_17 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_17>='\u0000' && LA16_17<='\b')||(LA16_17>='\n' && LA16_17<='\u001F')||LA16_17=='!'||(LA16_17>='#' && LA16_17<='[')||(LA16_17>=']' && LA16_17<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {s = 29;}
+ if ( ((LA16_17>='\u0000' && LA16_17<='\b')||(LA16_17>='\n' && LA16_17<='\u001F')||LA16_17=='!'||(LA16_17>='#' && LA16_17<='[')||(LA16_17>=']' && LA16_17<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 29;}
else s = 33;
s = -1;
if ( (( isHead() )) ) {s = 22;}
- else if ( (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() )))) ) {s = 29;}
+ else if ( (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() )))) ) {s = 29;}
input.seek(index16_24);
int index16_31 = input.index();
input.rewind();
s = -1;
- if ( (!((((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() )))))) ) {s = 36;}
+ if ( (!((((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() )))))) ) {s = 36;}
- else if ( (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() )))) ) {s = 29;}
+ else if ( (((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() )))) ) {s = 29;}
input.seek(index16_31);
int index16_10 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_10>='\u0000' && LA16_10<='\b')||(LA16_10>='\n' && LA16_10<='\u001F')||LA16_10=='!'||(LA16_10>='#' && LA16_10<='[')||(LA16_10>=']' && LA16_10<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {s = 29;}
+ if ( ((LA16_10>='\u0000' && LA16_10<='\b')||(LA16_10>='\n' && LA16_10<='\u001F')||LA16_10=='!'||(LA16_10>='#' && LA16_10<='[')||(LA16_10>=']' && LA16_10<='\uFFFF')) && (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 29;}
else s = 30;
else if ( (LA16_0==' ') && ((( !isHead() )||( isHead() )))) {s = 2;}
- else if ( (LA16_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||( isHead() )||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 3;}
+ else if ( (LA16_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||( isHead() )||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 3;}
else if ( (LA16_0=='@') ) {s = 4;}
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-03 16:06:12
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-07 22:05:15
/*--------------------------------------------------------------------------
* Copyright 2009 Taro L. Saito
// AST REWRITE
- // elements: NodeIndent, nodeItem
+ // elements: nodeItem, NodeIndent
// token labels:
// rule labels: retval
// token list labels:
// AST REWRITE
- // elements: nodeValue, NodeIndent, plural, attributeList
+ // elements: attributeList, NodeIndent, plural, nodeValue
// token labels:
// rule labels: retval
// token list labels:
// AST REWRITE
- // elements: attributeList, plural, nodeValue, dataType
+ // elements: dataType, attributeList, nodeValue, plural
// token labels:
// rule labels: retval
// token list labels:
// AST REWRITE
- // elements: NodeIndent, function_i
+ // elements: function_i, NodeIndent
// token labels:
// rule labels: retval
// token list labels:
}
}
+
+ private static ClassLoader getClassLoader()
+ {
+ return Thread.currentThread().getContextClassLoader();
+ }
/**
* A virtual file implementation for file resources contained in a JAR file
*/
public static List<VirtualFile> listResources(ResourceFilter resourceFilter)
{
- return listResources(FileResource.class.getClassLoader(), resourceFilter);
+ return listResources(getClassLoader(), resourceFilter);
}
/**
*/
public static List<VirtualFile> listResources(String basePackageName, ResourceFilter resourceFilter)
{
- return listResources(FileResource.class.getClassLoader(), basePackageName, resourceFilter);
+ return listResources(getClassLoader(), basePackageName, resourceFilter);
}
/**
resourcePath = "/" + resourcePath;
_logger.trace("search resource: " + resourcePath);
- return FileResource.class.getResource(resourcePath);
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ return cl.getResource(resourcePath);
}
/*