From 754d1b1c52c737a88f4080536c220b009cb770e2 Mon Sep 17 00:00:00 2001 From: leo Date: Mon, 30 Mar 2009 10:02:27 +0000 Subject: [PATCH] git-svn-id: http://www.xerial.org/svn/project/XerialJ/trunk/xerial-core@3152 ae02f08e-27ec-0310-ae8c-8ba02fe2eafd --- src/main/java/org/xerial/silk/impl/SilkLexer.java | 320 ++++++++++----------- src/main/java/org/xerial/silk/impl/SilkParser.java | 214 +++++++------- src/main/java/org/xerial/util/HashedChainMap.java | 57 ++++ src/main/java/org/xerial/util/SortedChainMap.java | 57 ++++ .../java/org/xerial/util/impl/ChainMapBase.java | 97 +++++++ src/main/java/org/xerial/util/tree/TreeEvent.java | 13 + .../org/xerial/util/tree/TreeStreamWalker.java | 38 +++ .../java/org/xerial/util/xml/XMLStreamWalker.java | 195 +++++++++++++ 8 files changed, 724 insertions(+), 267 deletions(-) create mode 100644 src/main/java/org/xerial/util/HashedChainMap.java create mode 100644 src/main/java/org/xerial/util/SortedChainMap.java create mode 100644 src/main/java/org/xerial/util/impl/ChainMapBase.java create mode 100644 src/main/java/org/xerial/util/tree/TreeStreamWalker.java create mode 100644 src/main/java/org/xerial/util/xml/XMLStreamWalker.java diff --git a/src/main/java/org/xerial/silk/impl/SilkLexer.java b/src/main/java/org/xerial/silk/impl/SilkLexer.java index f9e557d..0364655 100644 --- a/src/main/java/org/xerial/silk/impl/SilkLexer.java +++ b/src/main/java/org/xerial/silk/impl/SilkLexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.1.1 c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g 2009-02-24 01:57:29 +// $ANTLR 3.1.1 F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g 2009-03-30 17:06:15 /*-------------------------------------------------------------------------- * Copyright 2009 Taro L. Saito @@ -118,18 +118,18 @@ public class SilkLexer extends Lexer { super(input,state); } - public String getGrammarFileName() { return "c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g"; } + public String getGrammarFileName() { return "F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g"; } // $ANTLR start "LineComment" public final void mLineComment() throws RecognitionException { try { int _type = LineComment; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:12: ( '#' (~ ( '\\n' | '\\r' ) )* '\\r' '\\n' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:14: '#' (~ ( '\\n' | '\\r' ) )* '\\r' '\\n' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:12: ( '#' (~ ( '\\n' | '\\r' ) )* '\\r' '\\n' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:14: '#' (~ ( '\\n' | '\\r' ) )* '\\r' '\\n' { match('#'); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:18: (~ ( '\\n' | '\\r' ) )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:18: (~ ( '\\n' | '\\r' ) )* loop1: do { int alt1=2; @@ -142,7 +142,7 @@ public class SilkLexer extends Lexer { switch (alt1) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:18: ~ ( '\\n' | '\\r' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:133:18: ~ ( '\\n' | '\\r' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -181,11 +181,11 @@ public class SilkLexer extends Lexer { try { int _type = Preamble; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:9: ( '%' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:11: '%' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:9: ( '%' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:11: '%' (~ ( '\\n' | '\\r' ) )* ( '\\r' )? '\\n' { match('%'); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:15: (~ ( '\\n' | '\\r' ) )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:15: (~ ( '\\n' | '\\r' ) )* loop2: do { int alt2=2; @@ -198,7 +198,7 @@ public class SilkLexer extends Lexer { switch (alt2) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:15: ~ ( '\\n' | '\\r' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:15: ~ ( '\\n' | '\\r' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -218,7 +218,7 @@ public class SilkLexer extends Lexer { } } while (true); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:29: ( '\\r' )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:29: ( '\\r' )? int alt3=2; int LA3_0 = input.LA(1); @@ -227,7 +227,7 @@ public class SilkLexer extends Lexer { } switch (alt3) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:29: '\\r' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:134:29: '\\r' { match('\r'); @@ -251,8 +251,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "LineBreakChar" public final void mLineBreakChar() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:137:23: ( '\\n' | '\\r' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:137:23: ( '\\n' | '\\r' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) { input.consume(); @@ -277,10 +277,10 @@ public class SilkLexer extends Lexer { try { int _type = LineBreak; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:2: ( ( '\\r' '\\n' | '\\r' | '\\n' ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:4: ( '\\r' '\\n' | '\\r' | '\\n' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:2: ( ( '\\r' '\\n' | '\\r' | '\\n' ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:4: ( '\\r' '\\n' | '\\r' | '\\n' ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:4: ( '\\r' '\\n' | '\\r' | '\\n' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:4: ( '\\r' '\\n' | '\\r' | '\\n' ) int alt4=3; int LA4_0 = input.LA(1); @@ -304,7 +304,7 @@ public class SilkLexer extends Lexer { } switch (alt4) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:5: '\\r' '\\n' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:5: '\\r' '\\n' { match('\r'); match('\n'); @@ -312,14 +312,14 @@ public class SilkLexer extends Lexer { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:17: '\\r' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:17: '\\r' { match('\r'); } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:24: '\\n' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:140:24: '\\n' { match('\n'); @@ -345,13 +345,13 @@ public class SilkLexer extends Lexer { try { int _type = NodeIndent; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:11: ({...}? ( ' ' )* '-' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:13: {...}? ( ' ' )* '-' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:11: ({...}? ( ' ' )* '-' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:13: {...}? ( ' ' )* '-' { if ( !(( isHead() )) ) { throw new FailedPredicateException(input, "NodeIndent", " isHead() "); } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:27: ( ' ' )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:27: ( ' ' )* loop5: do { int alt5=2; @@ -364,7 +364,7 @@ public class SilkLexer extends Lexer { switch (alt5) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:28: ' ' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:145:28: ' ' { match(' '); @@ -394,13 +394,13 @@ public class SilkLexer extends Lexer { try { int _type = FunctionIndent; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:15: ({...}? => ( ' ' )* '@' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:17: {...}? => ( ' ' )* '@' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:15: ({...}? => ( ' ' )* '@' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:17: {...}? => ( ' ' )* '@' { if ( !(( isHead() )) ) { throw new FailedPredicateException(input, "FunctionIndent", " isHead() "); } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:34: ( ' ' )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:34: ( ' ' )* loop6: do { int alt6=2; @@ -413,7 +413,7 @@ public class SilkLexer extends Lexer { switch (alt6) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:35: ' ' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:146:35: ' ' { match(' '); @@ -443,13 +443,13 @@ public class SilkLexer extends Lexer { try { int _type = BlankLine; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:10: ({...}? ( WhiteSpace )* LineBreak ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:12: {...}? ( WhiteSpace )* LineBreak + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:10: ({...}? ( WhiteSpace )* LineBreak ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:12: {...}? ( WhiteSpace )* LineBreak { if ( !(( isHead() )) ) { throw new FailedPredicateException(input, "BlankLine", " isHead() "); } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:26: ( WhiteSpace )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:26: ( WhiteSpace )* loop7: do { int alt7=2; @@ -462,7 +462,7 @@ public class SilkLexer extends Lexer { switch (alt7) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:26: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:147:26: WhiteSpace { mWhiteSpace(); @@ -489,8 +489,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "DataLineBody" public final void mDataLineBody() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:22: (~ ( '-' | '%' | '#' | '@' | WhiteSpace | LineBreakChar ) (~ ( '#' | '\\n' | '\\r' ) )* ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:24: ~ ( '-' | '%' | '#' | '@' | WhiteSpace | LineBreakChar ) (~ ( '#' | '\\n' | '\\r' ) )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:22: (~ ( '-' | '%' | '#' | '@' | WhiteSpace | LineBreakChar ) (~ ( '#' | '\\n' | '\\r' ) )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:24: ~ ( '-' | '%' | '#' | '@' | WhiteSpace | LineBreakChar ) (~ ( '#' | '\\n' | '\\r' ) )* { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||(input.LA(1)>='!' && input.LA(1)<='\"')||input.LA(1)=='$'||(input.LA(1)>='&' && input.LA(1)<=',')||(input.LA(1)>='.' && input.LA(1)<='?')||(input.LA(1)>='A' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -501,7 +501,7 @@ public class SilkLexer extends Lexer { recover(mse); throw mse;} - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:78: (~ ( '#' | '\\n' | '\\r' ) )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:78: (~ ( '#' | '\\n' | '\\r' ) )* loop8: do { int alt8=2; @@ -514,7 +514,7 @@ public class SilkLexer extends Lexer { switch (alt8) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:78: ~ ( '#' | '\\n' | '\\r' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:149:78: ~ ( '#' | '\\n' | '\\r' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\"')||(input.LA(1)>='$' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -550,13 +550,13 @@ public class SilkLexer extends Lexer { int _channel = DEFAULT_TOKEN_CHANNEL; Token DataLineBody1=null; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:150:9: ({...}? => ( WhiteSpace )* DataLineBody ( LineBreak | LineComment ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:150:11: {...}? => ( WhiteSpace )* DataLineBody ( LineBreak | LineComment ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:150:9: ({...}? => ( WhiteSpace )* DataLineBody ( LineBreak | LineComment ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:150:11: {...}? => ( WhiteSpace )* DataLineBody ( LineBreak | LineComment ) { if ( !(( isHead() )) ) { throw new FailedPredicateException(input, "DataLine", " isHead() "); } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:5: ( WhiteSpace )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:5: ( WhiteSpace )* loop9: do { int alt9=2; @@ -569,7 +569,7 @@ public class SilkLexer extends Lexer { switch (alt9) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:5: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:5: WhiteSpace { mWhiteSpace(); @@ -584,7 +584,7 @@ public class SilkLexer extends Lexer { int DataLineBody1Start229 = getCharIndex(); mDataLineBody(); DataLineBody1 = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, DataLineBody1Start229, getCharIndex()-1); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:30: ( LineBreak | LineComment ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:30: ( LineBreak | LineComment ) int alt10=2; int LA10_0 = input.LA(1); @@ -602,14 +602,14 @@ public class SilkLexer extends Lexer { } switch (alt10) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:31: LineBreak + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:31: LineBreak { mLineBreak(); } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:41: LineComment + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:151:41: LineComment { mLineComment(); @@ -635,8 +635,8 @@ public class SilkLexer extends Lexer { try { int _type = LParen; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:153:7: ( '(' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:153:9: '(' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:153:7: ( '(' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:153:9: '(' { match('('); transit(Symbol.EnterParen); @@ -656,8 +656,8 @@ public class SilkLexer extends Lexer { try { int _type = RParen; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:154:7: ( ')' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:154:9: ')' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:154:7: ( ')' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:154:9: ')' { match(')'); transit(Symbol.LeaveParen); @@ -677,8 +677,8 @@ public class SilkLexer extends Lexer { try { int _type = Comma; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:155:6: ( ',' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:155:9: ',' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:155:6: ( ',' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:155:9: ',' { match(','); @@ -697,8 +697,8 @@ public class SilkLexer extends Lexer { try { int _type = Colon; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:156:6: ( ':' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:156:8: ':' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:156:6: ( ':' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:156:8: ':' { match(':'); transit(Symbol.Colon); @@ -718,8 +718,8 @@ public class SilkLexer extends Lexer { try { int _type = Seq; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:157:4: ( '>' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:157:7: '>' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:157:4: ( '>' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:157:7: '>' { match('>'); @@ -738,8 +738,8 @@ public class SilkLexer extends Lexer { try { int _type = TabSeq; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:158:7: ( '|' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:158:9: '|' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:158:7: ( '|' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:158:9: '|' { match('|'); @@ -758,8 +758,8 @@ public class SilkLexer extends Lexer { try { int _type = Star; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:159:5: ( '*' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:159:8: '*' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:159:5: ( '*' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:159:8: '*' { match('*'); @@ -778,8 +778,8 @@ public class SilkLexer extends Lexer { try { int _type = At; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:160:3: ( '@' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:160:6: '@' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:160:3: ( '@' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:160:6: '@' { match('@'); transit(Symbol.At); @@ -799,8 +799,8 @@ public class SilkLexer extends Lexer { try { int _type = Plus; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:161:5: ( '+' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:161:7: '+' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:161:5: ( '+' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:161:7: '+' { match('+'); @@ -819,8 +819,8 @@ public class SilkLexer extends Lexer { try { int _type = LBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:162:9: ( '[' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:162:11: '[' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:162:9: ( '[' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:162:11: '[' { match('['); transit(Symbol.EnterParen); @@ -840,8 +840,8 @@ public class SilkLexer extends Lexer { try { int _type = RBracket; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:163:9: ( ']' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:163:11: ']' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:163:9: ( ']' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:163:11: ']' { match(']'); @@ -860,8 +860,8 @@ public class SilkLexer extends Lexer { try { int _type = Question; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:164:9: ( '?' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:164:11: '?' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:164:9: ( '?' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:164:11: '?' { match('?'); @@ -878,8 +878,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "Digit" public final void mDigit() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:166:15: ( '0' .. '9' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:166:17: '0' .. '9' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:166:15: ( '0' .. '9' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:166:17: '0' .. '9' { matchRange('0','9'); @@ -894,8 +894,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "Letter" public final void mLetter() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:167:16: ( 'A' .. 'F' | 'a' .. 'f' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:167:16: ( 'A' .. 'F' | 'a' .. 'f' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( (input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { input.consume(); @@ -918,8 +918,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "HexDigit" public final void mHexDigit() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:168:18: ( Digit | Letter ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:168:18: ( Digit | Letter ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { 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(); @@ -942,8 +942,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "UnicodeChar" public final void mUnicodeChar() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:169:21: (~ ( '\"' | '\\\\' | LineBreakChar ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:169:23: ~ ( '\"' | '\\\\' | LineBreakChar ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:169:21: (~ ( '\"' | '\\\\' | LineBreakChar ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:169:23: ~ ( '\"' | '\\\\' | LineBreakChar ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -966,11 +966,11 @@ public class SilkLexer extends Lexer { // $ANTLR start "EscapeSequence" public final void mEscapeSequence() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:2: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:4: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:2: ( '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:4: '\\\\' ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) { match('\\'); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:9: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:9: ( '\\\"' | '\\\\' | '/' | 'b' | 'f' | 'n' | 'r' | 't' | 'u' HexDigit HexDigit HexDigit HexDigit ) int alt11=9; switch ( input.LA(1) ) { case '\"': @@ -1027,63 +1027,63 @@ public class SilkLexer extends Lexer { switch (alt11) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:10: '\\\"' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:10: '\\\"' { match('\"'); } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:17: '\\\\' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:17: '\\\\' { match('\\'); } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:24: '/' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:24: '/' { match('/'); } break; case 4 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:30: 'b' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:30: 'b' { match('b'); } break; case 5 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:36: 'f' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:36: 'f' { match('f'); } break; case 6 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:42: 'n' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:42: 'n' { match('n'); } break; case 7 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:48: 'r' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:48: 'r' { match('r'); } break; case 8 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:54: 't' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:54: 't' { match('t'); } break; case 9 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:60: 'u' HexDigit HexDigit HexDigit HexDigit + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:171:60: 'u' HexDigit HexDigit HexDigit HexDigit { match('u'); mHexDigit(); @@ -1108,7 +1108,7 @@ public class SilkLexer extends Lexer { // $ANTLR start "StringChar" public final void mStringChar() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:21: ( UnicodeChar | EscapeSequence ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:21: ( UnicodeChar | EscapeSequence ) int alt12=2; int LA12_0 = input.LA(1); @@ -1126,14 +1126,14 @@ public class SilkLexer extends Lexer { } switch (alt12) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:24: UnicodeChar + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:24: UnicodeChar { mUnicodeChar(); } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:38: EscapeSequence + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:175:38: EscapeSequence { mEscapeSequence(); @@ -1150,8 +1150,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "NonSpaceChar" public final void mNonSpaceChar() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:176:22: (~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:176:24: ~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:176:22: (~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:176:24: ~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1174,10 +1174,10 @@ public class SilkLexer extends Lexer { // $ANTLR start "StringChar_s" public final void mStringChar_s() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:22: ( ( StringChar )* ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: ( StringChar )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:22: ( ( StringChar )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: ( StringChar )* { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: ( StringChar )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: ( StringChar )* loop13: do { int alt13=2; @@ -1190,7 +1190,7 @@ public class SilkLexer extends Lexer { switch (alt13) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: StringChar + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:178:24: StringChar { mStringChar(); @@ -1218,8 +1218,8 @@ public class SilkLexer extends Lexer { int _channel = DEFAULT_TOKEN_CHANNEL; Token s=null; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:179:7: ( '\"' s= StringChar_s '\"' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:179:9: '\"' s= StringChar_s '\"' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:179:7: ( '\"' s= StringChar_s '\"' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:179:9: '\"' s= StringChar_s '\"' { match('\"'); int sStart528 = getCharIndex(); @@ -1241,7 +1241,7 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainFirst" public final void mPlainFirst() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:183:2: (~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace | Indicator ) | {...}? => ( ':' | '?' ) NonSpaceChar ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:183:2: (~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace | Indicator ) | {...}? => ( ':' | '?' ) NonSpaceChar ) int alt14=2; int LA14_0 = input.LA(1); @@ -1268,7 +1268,7 @@ public class SilkLexer extends Lexer { } switch (alt14) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:183:4: ~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace | Indicator ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:183:4: ~ ( '\"' | '\\\\' | LineBreakChar | WhiteSpace | Indicator ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\u001F')||input.LA(1)=='!'||input.LA(1)=='$'||input.LA(1)=='&'||input.LA(1)=='+'||(input.LA(1)>='.' && input.LA(1)<='9')||(input.LA(1)>=';' && input.LA(1)<='=')||input.LA(1)=='?'||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='^' && input.LA(1)<='z')||(input.LA(1)>='~' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1283,7 +1283,7 @@ public class SilkLexer extends Lexer { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:184:4: {...}? => ( ':' | '?' ) NonSpaceChar + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:184:4: {...}? => ( ':' | '?' ) NonSpaceChar { if ( !(( isValue() )) ) { throw new FailedPredicateException(input, "PlainFirst", " isValue() "); @@ -1312,8 +1312,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "ScopeIndicator" public final void mScopeIndicator() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:187:24: ( '(' | ')' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:187:24: ( '(' | ')' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( (input.LA(1)>='(' && input.LA(1)<=')') ) { input.consume(); @@ -1336,8 +1336,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "FlowIndicator" public final void mFlowIndicator() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:188:23: ( '[' | ']' | '{' | '}' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:188:23: ( '[' | ']' | '{' | '}' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( input.LA(1)=='['||input.LA(1)==']'||input.LA(1)=='{'||input.LA(1)=='}' ) { input.consume(); @@ -1360,8 +1360,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "Indicator" public final void mIndicator() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:189:19: ( FlowIndicator | ScopeIndicator | ',' | '-' | ':' | '#' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:189:19: ( FlowIndicator | ScopeIndicator | ',' | '-' | ':' | '#' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( (input.LA(1)>='\"' && input.LA(1)<='#')||input.LA(1)=='%'||(input.LA(1)>='\'' && input.LA(1)<='*')||(input.LA(1)>=',' && input.LA(1)<='-')||input.LA(1)==':'||input.LA(1)=='>'||input.LA(1)=='@'||(input.LA(1)>='[' && input.LA(1)<=']')||(input.LA(1)>='{' && input.LA(1)<='}') ) { input.consume(); @@ -1384,8 +1384,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainUnsafeChar" public final void mPlainUnsafeChar() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:192:25: ( '\"' | '\\\\' | LineBreakChar | '#' ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:192:25: ( '\"' | '\\\\' | LineBreakChar | '#' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { if ( input.LA(1)=='\n'||input.LA(1)=='\r'||(input.LA(1)>='\"' && input.LA(1)<='#')||input.LA(1)=='\\' ) { input.consume(); @@ -1408,8 +1408,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainSafeKey" public final void mPlainSafeKey() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:194:22: (~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:194:24: ~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:194:22: (~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:194:24: ~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='$' && input.LA(1)<='\'')||input.LA(1)=='+'||(input.LA(1)>='-' && input.LA(1)<='9')||(input.LA(1)>=';' && input.LA(1)<='=')||(input.LA(1)>='?' && input.LA(1)<='Z')||(input.LA(1)>='^' && input.LA(1)<='z')||input.LA(1)=='|'||(input.LA(1)>='~' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1432,8 +1432,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainSafeIn" public final void mPlainSafeIn() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:195:21: (~ ( PlainUnsafeChar | ScopeIndicator | ',' ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:195:23: ~ ( PlainUnsafeChar | ScopeIndicator | ',' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:195:21: (~ ( PlainUnsafeChar | ScopeIndicator | ',' ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:195:23: ~ ( PlainUnsafeChar | ScopeIndicator | ',' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='$' && input.LA(1)<='\'')||(input.LA(1)>='*' && input.LA(1)<='+')||(input.LA(1)>='-' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1456,8 +1456,8 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainSafeOut" public final void mPlainSafeOut() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:196:22: (~ ( PlainUnsafeChar ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:196:24: ~ ( PlainUnsafeChar ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:196:22: (~ ( PlainUnsafeChar ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:196:24: ~ ( PlainUnsafeChar ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='!')||(input.LA(1)>='$' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { input.consume(); @@ -1480,7 +1480,7 @@ public class SilkLexer extends Lexer { // $ANTLR start "PlainSafe" public final void mPlainSafe() throws RecognitionException { try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:200:2: ({...}? => PlainSafeKey | {...}? => PlainSafeIn | {...}? => PlainSafeOut ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:200:2: ({...}? => PlainSafeKey | {...}? => PlainSafeIn | {...}? => PlainSafeOut ) int alt15=3; int LA15_0 = input.LA(1); @@ -1530,7 +1530,7 @@ public class SilkLexer extends Lexer { } switch (alt15) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:200:4: {...}? => PlainSafeKey + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:200:4: {...}? => PlainSafeKey { if ( !(( isKey() )) ) { throw new FailedPredicateException(input, "PlainSafe", " isKey() "); @@ -1540,7 +1540,7 @@ public class SilkLexer extends Lexer { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:201:4: {...}? => PlainSafeIn + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:201:4: {...}? => PlainSafeIn { if ( !(( isInValue() )) ) { throw new FailedPredicateException(input, "PlainSafe", " isInValue() "); @@ -1550,7 +1550,7 @@ public class SilkLexer extends Lexer { } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:202:4: {...}? => PlainSafeOut + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:202:4: {...}? => PlainSafeOut { if ( !(( isOutValue() )) ) { throw new FailedPredicateException(input, "PlainSafe", " isOutValue() "); @@ -1572,11 +1572,11 @@ public class SilkLexer extends Lexer { try { int _type = PlainOneLine; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:13: ( PlainFirst ( ( WhiteSpace )* PlainSafe )* ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:15: PlainFirst ( ( WhiteSpace )* PlainSafe )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:13: ( PlainFirst ( ( WhiteSpace )* PlainSafe )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:15: PlainFirst ( ( WhiteSpace )* PlainSafe )* { mPlainFirst(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:26: ( ( WhiteSpace )* PlainSafe )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:26: ( ( WhiteSpace )* PlainSafe )* loop17: do { int alt17=2; @@ -1598,15 +1598,15 @@ public class SilkLexer extends Lexer { switch (alt17) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: ( WhiteSpace )* PlainSafe + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: ( WhiteSpace )* PlainSafe { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: ( WhiteSpace )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: ( WhiteSpace )* loop16: do { int alt16=2; int LA16_0 = input.LA(1); - if ( (LA16_0=='\t'||LA16_0==' ') && ((!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isOutValue() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isInValue() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isKey() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))))) { + if ( (LA16_0=='\t'||LA16_0==' ') && ((!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isOutValue() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isInValue() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||( isKey() )||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))||!(((( isInValue() )||( isOutValue() )||( isKey() ))))))) { int LA16_1 = input.LA(2); if ( (!(((( isInValue() )||( isOutValue() )||( isKey() ))))) ) { @@ -1619,7 +1619,7 @@ public class SilkLexer extends Lexer { switch (alt16) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:205:27: WhiteSpace { mWhiteSpace(); @@ -1658,7 +1658,7 @@ public class SilkLexer extends Lexer { try { int _type = JSON; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:209:2: ({...}? => '{' | {...}? => '[' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:209:2: ({...}? => '{' | {...}? => '[' ) int alt18=2; int LA18_0 = input.LA(1); @@ -1676,7 +1676,7 @@ public class SilkLexer extends Lexer { } switch (alt18) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:209:4: {...}? => '{' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:209:4: {...}? => '{' { if ( !(( isValue() )) ) { throw new FailedPredicateException(input, "JSON", " isValue() "); @@ -1696,7 +1696,7 @@ public class SilkLexer extends Lexer { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:220:4: {...}? => '[' + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:220:4: {...}? => '[' { if ( !(( isValue() )) ) { throw new FailedPredicateException(input, "JSON", " isValue() "); @@ -1730,13 +1730,13 @@ public class SilkLexer extends Lexer { try { int _type = Separation; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:11: ({...}? ( WhiteSpace )+ ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:13: {...}? ( WhiteSpace )+ + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:11: ({...}? ( WhiteSpace )+ ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:13: {...}? ( WhiteSpace )+ { if ( !(( !isHead() )) ) { throw new FailedPredicateException(input, "Separation", " !isHead() "); } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:28: ( WhiteSpace )+ + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:28: ( WhiteSpace )+ int cnt19=0; loop19: do { @@ -1750,7 +1750,7 @@ public class SilkLexer extends Lexer { switch (alt19) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:28: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:233:28: WhiteSpace { mWhiteSpace(); @@ -1783,8 +1783,8 @@ public class SilkLexer extends Lexer { try { int _type = WhiteSpace; int _channel = DEFAULT_TOKEN_CHANNEL; - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:236:2: ( ( ' ' | '\\t' ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:236:4: ( ' ' | '\\t' ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:236:2: ( ( ' ' | '\\t' ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:236:4: ( ' ' | '\\t' ) { if ( input.LA(1)=='\t'||input.LA(1)==' ' ) { input.consume(); @@ -1807,173 +1807,173 @@ public class SilkLexer extends Lexer { // $ANTLR end "WhiteSpace" public void mTokens() throws RecognitionException { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:8: ( LineComment | Preamble | LineBreak | NodeIndent | FunctionIndent | BlankLine | DataLine | LParen | RParen | Comma | Colon | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation | WhiteSpace ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:8: ( LineComment | Preamble | LineBreak | NodeIndent | FunctionIndent | BlankLine | DataLine | LParen | RParen | Comma | Colon | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation | WhiteSpace ) int alt20=24; alt20 = dfa20.predict(input); switch (alt20) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:10: LineComment + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:10: LineComment { mLineComment(); } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:22: Preamble + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:22: Preamble { mPreamble(); } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:31: LineBreak + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:31: LineBreak { mLineBreak(); } break; case 4 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:41: NodeIndent + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:41: NodeIndent { mNodeIndent(); } break; case 5 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:52: FunctionIndent + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:52: FunctionIndent { mFunctionIndent(); } break; case 6 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:67: BlankLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:67: BlankLine { mBlankLine(); } break; case 7 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:77: DataLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:77: DataLine { mDataLine(); } break; case 8 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:86: LParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:86: LParen { mLParen(); } break; case 9 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:93: RParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:93: RParen { mRParen(); } break; case 10 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:100: Comma + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:100: Comma { mComma(); } break; case 11 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:106: Colon + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:106: Colon { mColon(); } break; case 12 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:112: Seq + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:112: Seq { mSeq(); } break; case 13 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:116: TabSeq + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:116: TabSeq { mTabSeq(); } break; case 14 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:123: Star + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:123: Star { mStar(); } break; case 15 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:128: At + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:128: At { mAt(); } break; case 16 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:131: Plus + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:131: Plus { mPlus(); } break; case 17 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:136: LBracket + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:136: LBracket { mLBracket(); } break; case 18 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:145: RBracket + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:145: RBracket { mRBracket(); } break; case 19 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:154: Question + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:154: Question { mQuestion(); } break; case 20 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:163: String + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:163: String { mString(); } break; case 21 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:170: PlainOneLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:170: PlainOneLine { mPlainOneLine(); } break; case 22 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:183: JSON + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:183: JSON { mJSON(); } break; case 23 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:188: Separation + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:188: Separation { mSeparation(); } break; case 24 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:199: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:1:199: WhiteSpace { mWhiteSpace(); diff --git a/src/main/java/org/xerial/silk/impl/SilkParser.java b/src/main/java/org/xerial/silk/impl/SilkParser.java index 8d81351..67f0986 100644 --- a/src/main/java/org/xerial/silk/impl/SilkParser.java +++ b/src/main/java/org/xerial/silk/impl/SilkParser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.1.1 c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g 2009-02-24 01:57:28 +// $ANTLR 3.1.1 F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g 2009-03-30 17:06:14 /*-------------------------------------------------------------------------- * Copyright 2009 Taro L. Saito @@ -115,7 +115,7 @@ public class SilkParser extends Parser { } public String[] getTokenNames() { return SilkParser.tokenNames; } - public String getGrammarFileName() { return "c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g"; } + public String getGrammarFileName() { return "F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g"; } public static class silkFile_return extends ParserRuleReturnScope { @@ -124,7 +124,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "silkFile" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:1: silkFile : ( silkLine )* -> ^( Silk ( silkLine )* ) ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:1: silkFile : ( silkLine )* -> ^( Silk ( silkLine )* ) ; public final SilkParser.silkFile_return silkFile() throws RecognitionException { SilkParser.silkFile_return retval = new SilkParser.silkFile_return(); retval.start = input.LT(1); @@ -136,10 +136,10 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_silkLine=new RewriteRuleSubtreeStream(adaptor,"rule silkLine"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:9: ( ( silkLine )* -> ^( Silk ( silkLine )* ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: ( silkLine )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:9: ( ( silkLine )* -> ^( Silk ( silkLine )* ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: ( silkLine )* { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: ( silkLine )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: ( silkLine )* loop1: do { int alt1=2; @@ -152,7 +152,7 @@ public class SilkParser extends Parser { switch (alt1) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: silkLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:11: silkLine { pushFollow(FOLLOW_silkLine_in_silkFile962); silkLine1=silkLine(); @@ -183,12 +183,12 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 243:21: -> ^( Silk ( silkLine )* ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:24: ^( Silk ( silkLine )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:24: ^( Silk ( silkLine )* ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Silk, "Silk"), root_1); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:31: ( silkLine )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:243:31: ( silkLine )* while ( stream_silkLine.hasNext() ) { adaptor.addChild(root_1, stream_silkLine.nextTree()); @@ -227,7 +227,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "silkLine" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:246:1: silkLine : ( NodeIndent nodeItem -> ^( SilkNode NodeIndent nodeItem ) | noNameNode | function | Preamble | DataLine | BlankLine | WhiteSpace -> BlankLine ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:246:1: silkLine : ( NodeIndent nodeItem -> ^( SilkNode NodeIndent nodeItem ) | noNameNode | function | Preamble | DataLine | BlankLine | WhiteSpace -> BlankLine ); public final SilkParser.silkLine_return silkLine() throws RecognitionException { SilkParser.silkLine_return retval = new SilkParser.silkLine_return(); retval.start = input.LT(1); @@ -255,12 +255,12 @@ public class SilkParser extends Parser { RewriteRuleTokenStream stream_NodeIndent=new RewriteRuleTokenStream(adaptor,"token NodeIndent"); RewriteRuleSubtreeStream stream_nodeItem=new RewriteRuleSubtreeStream(adaptor,"rule nodeItem"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:2: ( NodeIndent nodeItem -> ^( SilkNode NodeIndent nodeItem ) | noNameNode | function | Preamble | DataLine | BlankLine | WhiteSpace -> BlankLine ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:2: ( NodeIndent nodeItem -> ^( SilkNode NodeIndent nodeItem ) | noNameNode | function | Preamble | DataLine | BlankLine | WhiteSpace -> BlankLine ) int alt2=7; alt2 = dfa2.predict(input); switch (alt2) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:4: NodeIndent nodeItem + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:4: NodeIndent nodeItem { NodeIndent2=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_silkLine983); stream_NodeIndent.add(NodeIndent2); @@ -285,7 +285,7 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 247:24: -> ^( SilkNode NodeIndent nodeItem ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:27: ^( SilkNode NodeIndent nodeItem ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:247:27: ^( SilkNode NodeIndent nodeItem ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SilkNode, "SilkNode"), root_1); @@ -302,7 +302,7 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:248:4: noNameNode + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:248:4: noNameNode { root_0 = (Object)adaptor.nil(); @@ -316,7 +316,7 @@ public class SilkParser extends Parser { } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:249:4: function + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:249:4: function { root_0 = (Object)adaptor.nil(); @@ -330,7 +330,7 @@ public class SilkParser extends Parser { } break; case 4 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:250:4: Preamble + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:250:4: Preamble { root_0 = (Object)adaptor.nil(); @@ -342,7 +342,7 @@ public class SilkParser extends Parser { } break; case 5 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:251:4: DataLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:251:4: DataLine { root_0 = (Object)adaptor.nil(); @@ -354,7 +354,7 @@ public class SilkParser extends Parser { } break; case 6 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:252:4: BlankLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:252:4: BlankLine { root_0 = (Object)adaptor.nil(); @@ -366,7 +366,7 @@ public class SilkParser extends Parser { } break; case 7 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:253:4: WhiteSpace + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:253:4: WhiteSpace { WhiteSpace9=(Token)match(input,WhiteSpace,FOLLOW_WhiteSpace_in_silkLine1026); stream_WhiteSpace.add(WhiteSpace9); @@ -418,7 +418,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "nodeName" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:256:1: fragment nodeName : ( PlainOneLine | String ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:256:1: fragment nodeName : ( PlainOneLine | String ); public final SilkParser.nodeName_return nodeName() throws RecognitionException { SilkParser.nodeName_return retval = new SilkParser.nodeName_return(); retval.start = input.LT(1); @@ -430,8 +430,8 @@ public class SilkParser extends Parser { Object set10_tree=null; try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:257:9: ( PlainOneLine | String ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:257:9: ( PlainOneLine | String ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g: { root_0 = (Object)adaptor.nil(); @@ -473,7 +473,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "nodeValue" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:259:1: fragment nodeValue : ( function_i -> ^( Function function_i ) | ( PlainOneLine | String ) -> Value[$nodeValue.text] | JSON ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:259:1: fragment nodeValue : ( function_i -> ^( Function function_i ) | ( PlainOneLine | String ) -> Value[$nodeValue.text] | JSON ); public final SilkParser.nodeValue_return nodeValue() throws RecognitionException { SilkParser.nodeValue_return retval = new SilkParser.nodeValue_return(); retval.start = input.LT(1); @@ -493,7 +493,7 @@ public class SilkParser extends Parser { RewriteRuleTokenStream stream_PlainOneLine=new RewriteRuleTokenStream(adaptor,"token PlainOneLine"); RewriteRuleSubtreeStream stream_function_i=new RewriteRuleSubtreeStream(adaptor,"rule function_i"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:2: ( function_i -> ^( Function function_i ) | ( PlainOneLine | String ) -> Value[$nodeValue.text] | JSON ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:2: ( function_i -> ^( Function function_i ) | ( PlainOneLine | String ) -> Value[$nodeValue.text] | JSON ) int alt4=3; switch ( input.LA(1) ) { case At: @@ -521,7 +521,7 @@ public class SilkParser extends Parser { switch (alt4) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:4: function_i + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:4: function_i { pushFollow(FOLLOW_function_i_in_nodeValue1056); function_i11=function_i(); @@ -543,7 +543,7 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 261:15: -> ^( Function function_i ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:18: ^( Function function_i ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:261:18: ^( Function function_i ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Function, "Function"), root_1); @@ -559,9 +559,9 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:4: ( PlainOneLine | String ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:4: ( PlainOneLine | String ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:4: ( PlainOneLine | String ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:4: ( PlainOneLine | String ) int alt3=2; int LA3_0 = input.LA(1); @@ -579,7 +579,7 @@ public class SilkParser extends Parser { } switch (alt3) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:5: PlainOneLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:5: PlainOneLine { PlainOneLine12=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_nodeValue1070); stream_PlainOneLine.add(PlainOneLine12); @@ -588,7 +588,7 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:20: String + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:262:20: String { String13=(Token)match(input,String,FOLLOW_String_in_nodeValue1074); stream_String.add(String13); @@ -621,7 +621,7 @@ public class SilkParser extends Parser { } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:263:4: JSON + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:263:4: JSON { root_0 = (Object)adaptor.nil(); @@ -658,7 +658,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "noNameNode" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:267:1: fragment noNameNode : NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:267:1: fragment noNameNode : NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) ; public final SilkParser.noNameNode_return noNameNode() throws RecognitionException { SilkParser.noNameNode_return retval = new SilkParser.noNameNode_return(); retval.start = input.LT(1); @@ -688,18 +688,18 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_plural=new RewriteRuleSubtreeStream(adaptor,"rule plural"); RewriteRuleSubtreeStream stream_nodeValue=new RewriteRuleSubtreeStream(adaptor,"rule nodeValue"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:11: ( NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:13: NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:11: ( NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:13: NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? { NodeIndent15=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_noNameNode1099); stream_NodeIndent.add(NodeIndent15); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:24: ( LParen attributeList RParen )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:24: ( LParen attributeList RParen )? int alt5=2; alt5 = dfa5.predict(input); switch (alt5) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:25: LParen attributeList RParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:25: LParen attributeList RParen { LParen16=(Token)match(input,LParen,FOLLOW_LParen_in_noNameNode1102); stream_LParen.add(LParen16); @@ -719,12 +719,12 @@ public class SilkParser extends Parser { } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:55: ( plural )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:55: ( plural )? int alt6=2; alt6 = dfa6.predict(input); switch (alt6) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:55: plural + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:55: plural { pushFollow(FOLLOW_plural_in_noNameNode1110); plural19=plural(); @@ -738,7 +738,7 @@ public class SilkParser extends Parser { } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:63: ( Colon nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:63: ( Colon nodeValue )? int alt7=2; int LA7_0 = input.LA(1); @@ -747,7 +747,7 @@ public class SilkParser extends Parser { } switch (alt7) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:64: Colon nodeValue + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:268:64: Colon nodeValue { Colon20=(Token)match(input,Colon,FOLLOW_Colon_in_noNameNode1114); stream_Colon.add(Colon20); @@ -767,7 +767,7 @@ public class SilkParser extends Parser { // AST REWRITE - // elements: plural, attributeList, nodeValue, NodeIndent + // elements: attributeList, NodeIndent, nodeValue, plural // token labels: // rule labels: retval // token list labels: @@ -778,25 +778,25 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 269:2: -> ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:5: ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:5: ^( SilkNode NodeIndent ( attributeList )? ( plural )? ( nodeValue )? ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SilkNode, "SilkNode"), root_1); adaptor.addChild(root_1, stream_NodeIndent.nextNode()); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:27: ( attributeList )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:27: ( attributeList )? if ( stream_attributeList.hasNext() ) { adaptor.addChild(root_1, stream_attributeList.nextTree()); } stream_attributeList.reset(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:42: ( plural )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:42: ( plural )? if ( stream_plural.hasNext() ) { adaptor.addChild(root_1, stream_plural.nextTree()); } stream_plural.reset(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:50: ( nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:269:50: ( nodeValue )? if ( stream_nodeValue.hasNext() ) { adaptor.addChild(root_1, stream_nodeValue.nextTree()); @@ -835,7 +835,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "nodeItem" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:272:1: fragment nodeItem : nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:272:1: fragment nodeItem : nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? ; public final SilkParser.nodeItem_return nodeItem() throws RecognitionException { SilkParser.nodeItem_return retval = new SilkParser.nodeItem_return(); retval.start = input.LT(1); @@ -868,8 +868,8 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_plural=new RewriteRuleSubtreeStream(adaptor,"rule plural"); RewriteRuleSubtreeStream stream_nodeValue=new RewriteRuleSubtreeStream(adaptor,"rule nodeValue"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:9: ( nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:11: nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:9: ( nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:11: nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? { pushFollow(FOLLOW_nodeName_in_nodeItem1149); nodeName22=nodeName(); @@ -877,12 +877,12 @@ public class SilkParser extends Parser { state._fsp--; stream_nodeName.add(nodeName22.getTree()); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:20: ( dataType )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:20: ( dataType )? int alt8=2; alt8 = dfa8.predict(input); switch (alt8) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:20: dataType + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:20: dataType { pushFollow(FOLLOW_dataType_in_nodeItem1151); dataType23=dataType(); @@ -896,12 +896,12 @@ public class SilkParser extends Parser { } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:31: ( LParen attributeList RParen )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:31: ( LParen attributeList RParen )? int alt9=2; alt9 = dfa9.predict(input); switch (alt9) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:32: LParen attributeList RParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:32: LParen attributeList RParen { LParen24=(Token)match(input,LParen,FOLLOW_LParen_in_nodeItem1156); stream_LParen.add(LParen24); @@ -921,12 +921,12 @@ public class SilkParser extends Parser { } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:62: ( plural )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:62: ( plural )? int alt10=2; alt10 = dfa10.predict(input); switch (alt10) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:62: plural + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:62: plural { pushFollow(FOLLOW_plural_in_nodeItem1164); plural27=plural(); @@ -940,12 +940,12 @@ public class SilkParser extends Parser { } - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:70: ( Colon nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:70: ( Colon nodeValue )? int alt11=2; alt11 = dfa11.predict(input); switch (alt11) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:71: Colon nodeValue + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:273:71: Colon nodeValue { Colon28=(Token)match(input,Colon,FOLLOW_Colon_in_nodeItem1168); stream_Colon.add(Colon28); @@ -965,7 +965,7 @@ public class SilkParser extends Parser { // AST REWRITE - // elements: dataType, nodeValue, attributeList, plural + // elements: nodeValue, plural, dataType, attributeList // token labels: // rule labels: retval // token list labels: @@ -977,25 +977,25 @@ public class SilkParser extends Parser { // 274:2: -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? { adaptor.addChild(root_0, (Object)adaptor.create(Name, (nodeName22!=null?input.toString(nodeName22.start,nodeName22.stop):null).trim())); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:33: ( dataType )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:33: ( dataType )? if ( stream_dataType.hasNext() ) { adaptor.addChild(root_0, stream_dataType.nextTree()); } stream_dataType.reset(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:43: ( attributeList )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:43: ( attributeList )? if ( stream_attributeList.hasNext() ) { adaptor.addChild(root_0, stream_attributeList.nextTree()); } stream_attributeList.reset(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:58: ( plural )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:58: ( plural )? if ( stream_plural.hasNext() ) { adaptor.addChild(root_0, stream_plural.nextTree()); } stream_plural.reset(); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:66: ( nodeValue )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:274:66: ( nodeValue )? if ( stream_nodeValue.hasNext() ) { adaptor.addChild(root_0, stream_nodeValue.nextTree()); @@ -1031,7 +1031,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "dataType" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:277:1: fragment dataType : LBracket dataTypeName RBracket ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:277:1: fragment dataType : LBracket dataTypeName RBracket ; public final SilkParser.dataType_return dataType() throws RecognitionException { SilkParser.dataType_return retval = new SilkParser.dataType_return(); retval.start = input.LT(1); @@ -1047,8 +1047,8 @@ public class SilkParser extends Parser { Object RBracket32_tree=null; try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:278:9: ( LBracket dataTypeName RBracket ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:278:11: LBracket dataTypeName RBracket + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:278:9: ( LBracket dataTypeName RBracket ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:278:11: LBracket dataTypeName RBracket { root_0 = (Object)adaptor.nil(); @@ -1087,7 +1087,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "dataTypeName" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:281:1: fragment dataTypeName : PlainOneLine -> DataType[$dataTypeName.text] ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:281:1: fragment dataTypeName : PlainOneLine -> DataType[$dataTypeName.text] ; public final SilkParser.dataTypeName_return dataTypeName() throws RecognitionException { SilkParser.dataTypeName_return retval = new SilkParser.dataTypeName_return(); retval.start = input.LT(1); @@ -1100,8 +1100,8 @@ public class SilkParser extends Parser { RewriteRuleTokenStream stream_PlainOneLine=new RewriteRuleTokenStream(adaptor,"token PlainOneLine"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:282:13: ( PlainOneLine -> DataType[$dataTypeName.text] ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:282:15: PlainOneLine + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:282:13: ( PlainOneLine -> DataType[$dataTypeName.text] ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:282:15: PlainOneLine { PlainOneLine33=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_dataTypeName1221); stream_PlainOneLine.add(PlainOneLine33); @@ -1151,7 +1151,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "attributeList" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:286:1: fragment attributeList : attributeItem ( Comma attributeItem )* ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:286:1: fragment attributeList : attributeItem ( Comma attributeItem )* ; public final SilkParser.attributeList_return attributeList() throws RecognitionException { SilkParser.attributeList_return retval = new SilkParser.attributeList_return(); retval.start = input.LT(1); @@ -1167,8 +1167,8 @@ public class SilkParser extends Parser { Object Comma35_tree=null; try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:14: ( attributeItem ( Comma attributeItem )* ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:16: attributeItem ( Comma attributeItem )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:14: ( attributeItem ( Comma attributeItem )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:16: attributeItem ( Comma attributeItem )* { root_0 = (Object)adaptor.nil(); @@ -1178,7 +1178,7 @@ public class SilkParser extends Parser { state._fsp--; adaptor.addChild(root_0, attributeItem34.getTree()); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:30: ( Comma attributeItem )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:30: ( Comma attributeItem )* loop12: do { int alt12=2; @@ -1191,7 +1191,7 @@ public class SilkParser extends Parser { switch (alt12) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:31: Comma attributeItem + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:287:31: Comma attributeItem { Comma35=(Token)match(input,Comma,FOLLOW_Comma_in_attributeList1244); pushFollow(FOLLOW_attributeItem_in_attributeList1247); @@ -1236,7 +1236,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "attributeItem" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:289:1: fragment attributeItem : nodeItem -> ^( SilkNode nodeItem ) ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:289:1: fragment attributeItem : nodeItem -> ^( SilkNode nodeItem ) ; public final SilkParser.attributeItem_return attributeItem() throws RecognitionException { SilkParser.attributeItem_return retval = new SilkParser.attributeItem_return(); retval.start = input.LT(1); @@ -1248,8 +1248,8 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_nodeItem=new RewriteRuleSubtreeStream(adaptor,"rule nodeItem"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:14: ( nodeItem -> ^( SilkNode nodeItem ) ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:16: nodeItem + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:14: ( nodeItem -> ^( SilkNode nodeItem ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:16: nodeItem { pushFollow(FOLLOW_nodeItem_in_attributeItem1260); nodeItem37=nodeItem(); @@ -1271,7 +1271,7 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 290:25: -> ^( SilkNode nodeItem ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:28: ^( SilkNode nodeItem ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:290:28: ^( SilkNode nodeItem ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(SilkNode, "SilkNode"), root_1); @@ -1310,7 +1310,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "plural" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:292:1: fragment plural : ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:292:1: fragment plural : ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] ); public final SilkParser.plural_return plural() throws RecognitionException { SilkParser.plural_return retval = new SilkParser.plural_return(); retval.start = input.LT(1); @@ -1335,7 +1335,7 @@ public class SilkParser extends Parser { RewriteRuleTokenStream stream_Seq=new RewriteRuleTokenStream(adaptor,"token Seq"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:294:2: ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:294:2: ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] ) int alt13=5; switch ( input.LA(1) ) { case Star: @@ -1372,7 +1372,7 @@ public class SilkParser extends Parser { switch (alt13) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:294:4: Star + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:294:4: Star { Star38=(Token)match(input,Star,FOLLOW_Star_in_plural1279); stream_Star.add(Star38); @@ -1399,7 +1399,7 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:295:4: Plus + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:295:4: Plus { Plus39=(Token)match(input,Plus,FOLLOW_Plus_in_plural1289); stream_Plus.add(Plus39); @@ -1426,7 +1426,7 @@ public class SilkParser extends Parser { } break; case 3 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:296:4: Question + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:296:4: Question { Question40=(Token)match(input,Question,FOLLOW_Question_in_plural1299); stream_Question.add(Question40); @@ -1453,7 +1453,7 @@ public class SilkParser extends Parser { } break; case 4 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:297:4: Seq + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:297:4: Seq { Seq41=(Token)match(input,Seq,FOLLOW_Seq_in_plural1309); stream_Seq.add(Seq41); @@ -1480,7 +1480,7 @@ public class SilkParser extends Parser { } break; case 5 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:298:4: TabSeq + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:298:4: TabSeq { TabSeq42=(Token)match(input,TabSeq,FOLLOW_TabSeq_in_plural1319); stream_TabSeq.add(TabSeq42); @@ -1532,7 +1532,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "function" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:301:1: function : ( NodeIndent function_i -> ^( Function NodeIndent function_i ) | FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:301:1: function : ( NodeIndent function_i -> ^( Function NodeIndent function_i ) | FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) ); public final SilkParser.function_return function() throws RecognitionException { SilkParser.function_return retval = new SilkParser.function_return(); retval.start = input.LT(1); @@ -1567,7 +1567,7 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_function_i=new RewriteRuleSubtreeStream(adaptor,"rule function_i"); RewriteRuleSubtreeStream stream_functionArg=new RewriteRuleSubtreeStream(adaptor,"rule functionArg"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:302:2: ( NodeIndent function_i -> ^( Function NodeIndent function_i ) | FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:302:2: ( NodeIndent function_i -> ^( Function NodeIndent function_i ) | FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) ) int alt16=2; int LA16_0 = input.LA(1); @@ -1585,7 +1585,7 @@ public class SilkParser extends Parser { } switch (alt16) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:302:4: NodeIndent function_i + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:302:4: NodeIndent function_i { NodeIndent43=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_function1335); stream_NodeIndent.add(NodeIndent43); @@ -1610,7 +1610,7 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 303:2: -> ^( Function NodeIndent function_i ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:303:5: ^( Function NodeIndent function_i ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:303:5: ^( Function NodeIndent function_i ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Function, "Function"), root_1); @@ -1627,7 +1627,7 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:4: FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:4: FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen { FunctionIndent45=(Token)match(input,FunctionIndent,FOLLOW_FunctionIndent_in_function1353); stream_FunctionIndent.add(FunctionIndent45); @@ -1638,7 +1638,7 @@ public class SilkParser extends Parser { LParen47=(Token)match(input,LParen,FOLLOW_LParen_in_function1357); stream_LParen.add(LParen47); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:39: ( functionArg ( Comma functionArg )* )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:39: ( functionArg ( Comma functionArg )* )? int alt15=2; int LA15_0 = input.LA(1); @@ -1647,7 +1647,7 @@ public class SilkParser extends Parser { } switch (alt15) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:40: functionArg ( Comma functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:40: functionArg ( Comma functionArg )* { pushFollow(FOLLOW_functionArg_in_function1360); functionArg48=functionArg(); @@ -1655,7 +1655,7 @@ public class SilkParser extends Parser { state._fsp--; stream_functionArg.add(functionArg48.getTree()); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:52: ( Comma functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:52: ( Comma functionArg )* loop14: do { int alt14=2; @@ -1668,7 +1668,7 @@ public class SilkParser extends Parser { switch (alt14) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:53: Comma functionArg + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:304:53: Comma functionArg { Comma49=(Token)match(input,Comma,FOLLOW_Comma_in_function1363); stream_Comma.add(Comma49); @@ -1711,14 +1711,14 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 305:2: -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:305:5: ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:305:5: ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Function, "Function"), root_1); adaptor.addChild(root_1, (Object)adaptor.create(NodeIndent, (FunctionIndent45!=null?FunctionIndent45.getText():null))); adaptor.addChild(root_1, (Object)adaptor.create(Name, (PlainOneLine46!=null?PlainOneLine46.getText():null).trim())); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:305:81: ( functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:305:81: ( functionArg )* while ( stream_functionArg.hasNext() ) { adaptor.addChild(root_1, stream_functionArg.nextTree()); @@ -1759,7 +1759,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "function_i" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:308:1: fragment function_i : At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ; + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:308:1: fragment function_i : At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ; public final SilkParser.function_i_return function_i() throws RecognitionException { SilkParser.function_i_return retval = new SilkParser.function_i_return(); retval.start = input.LT(1); @@ -1788,8 +1788,8 @@ public class SilkParser extends Parser { RewriteRuleTokenStream stream_LParen=new RewriteRuleTokenStream(adaptor,"token LParen"); RewriteRuleSubtreeStream stream_functionArg=new RewriteRuleSubtreeStream(adaptor,"rule functionArg"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:11: ( At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ) - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:13: At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:11: ( At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:13: At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen { At52=(Token)match(input,At,FOLLOW_At_in_function_i1398); stream_At.add(At52); @@ -1800,7 +1800,7 @@ public class SilkParser extends Parser { LParen54=(Token)match(input,LParen,FOLLOW_LParen_in_function_i1402); stream_LParen.add(LParen54); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:36: ( functionArg ( Comma functionArg )* )? + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:36: ( functionArg ( Comma functionArg )* )? int alt18=2; int LA18_0 = input.LA(1); @@ -1809,7 +1809,7 @@ public class SilkParser extends Parser { } switch (alt18) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:37: functionArg ( Comma functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:37: functionArg ( Comma functionArg )* { pushFollow(FOLLOW_functionArg_in_function_i1405); functionArg55=functionArg(); @@ -1817,7 +1817,7 @@ public class SilkParser extends Parser { state._fsp--; stream_functionArg.add(functionArg55.getTree()); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:49: ( Comma functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:49: ( Comma functionArg )* loop17: do { int alt17=2; @@ -1830,7 +1830,7 @@ public class SilkParser extends Parser { switch (alt17) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:50: Comma functionArg + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:309:50: Comma functionArg { Comma56=(Token)match(input,Comma,FOLLOW_Comma_in_function_i1408); stream_Comma.add(Comma56); @@ -1874,7 +1874,7 @@ public class SilkParser extends Parser { // 310:2: -> Name[$PlainOneLine.text.trim()] ( functionArg )* { adaptor.addChild(root_0, (Object)adaptor.create(Name, (PlainOneLine53!=null?PlainOneLine53.getText():null).trim())); - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:310:37: ( functionArg )* + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:310:37: ( functionArg )* while ( stream_functionArg.hasNext() ) { adaptor.addChild(root_0, stream_functionArg.nextTree()); @@ -1910,7 +1910,7 @@ public class SilkParser extends Parser { }; // $ANTLR start "functionArg" - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:313:1: fragment functionArg : ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) ); + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:313:1: fragment functionArg : ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) ); public final SilkParser.functionArg_return functionArg() throws RecognitionException { SilkParser.functionArg_return retval = new SilkParser.functionArg_return(); retval.start = input.LT(1); @@ -1930,12 +1930,12 @@ public class SilkParser extends Parser { RewriteRuleSubtreeStream stream_nodeName=new RewriteRuleSubtreeStream(adaptor,"rule nodeName"); RewriteRuleSubtreeStream stream_nodeValue=new RewriteRuleSubtreeStream(adaptor,"rule nodeValue"); try { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:315:2: ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:315:2: ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) ) int alt19=2; alt19 = dfa19.predict(input); switch (alt19) { case 1 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:315:4: nodeValue + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:315:4: nodeValue { pushFollow(FOLLOW_nodeValue_in_functionArg1438); nodeValue59=nodeValue(); @@ -1965,7 +1965,7 @@ public class SilkParser extends Parser { } break; case 2 : - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:316:4: nodeName Colon nodeValue + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:316:4: nodeName Colon nodeValue { pushFollow(FOLLOW_nodeName_in_functionArg1448); nodeName60=nodeName(); @@ -1996,7 +1996,7 @@ public class SilkParser extends Parser { root_0 = (Object)adaptor.nil(); // 316:29: -> ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) { - // c:\\Users\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:316:32: ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) + // F:\\cygwin\\home\\leo\\work\\eclipse\\workspace\\xerial\\xerial-core\\src\\main\\java\\org\\xerial\\silk\\impl\\Silk.g:316:32: ^( KeyValuePair Name[$nodeName.text.trim()] nodeValue ) { Object root_1 = (Object)adaptor.nil(); root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(KeyValuePair, "KeyValuePair"), root_1); diff --git a/src/main/java/org/xerial/util/HashedChainMap.java b/src/main/java/org/xerial/util/HashedChainMap.java new file mode 100644 index 0000000..d1d7700 --- /dev/null +++ b/src/main/java/org/xerial/util/HashedChainMap.java @@ -0,0 +1,57 @@ +/*-------------------------------------------------------------------------- + * Copyright 2009 Taro L. Saito + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *--------------------------------------------------------------------------*/ +//-------------------------------------- +// XerialJ +// +// ChainMap.java +// Since: Mar 30, 2009 6:38:46 PM +// +// $URL$ +// $Author$ +//-------------------------------------- +package org.xerial.util; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.xerial.util.impl.ChainMapBase; + +/** + * Map structure key -> [value1, value2, ...] + * + * + * @author leo + * + */ +public class HashedChainMap extends ChainMapBase +{ + private Map> map = new HashMap>(); + + @Override + protected Map> newMap() + { + return new HashMap>(); + } + + @Override + protected List newValueList() + { + return new ArrayList(); + } + +} diff --git a/src/main/java/org/xerial/util/SortedChainMap.java b/src/main/java/org/xerial/util/SortedChainMap.java new file mode 100644 index 0000000..3ab5db1 --- /dev/null +++ b/src/main/java/org/xerial/util/SortedChainMap.java @@ -0,0 +1,57 @@ +/*-------------------------------------------------------------------------- + * Copyright 2009 Taro L. Saito + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *--------------------------------------------------------------------------*/ +//-------------------------------------- +// XerialJ +// +// SortedChainMap.java +// Since: Mar 30, 2009 6:55:18 PM +// +// $URL$ +// $Author$ +//-------------------------------------- +package org.xerial.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +import org.xerial.util.impl.ChainMapBase; + +/** + * sorted key -> [value1, value2, .. ] + * + * + * @author leo + * + * @param + * @param + */ +public class SortedChainMap, Value> extends ChainMapBase +{ + + @Override + protected Map> newMap() + { + return new TreeMap>(); + } + + @Override + protected List newValueList() + { + return new ArrayList(); + } +} diff --git a/src/main/java/org/xerial/util/impl/ChainMapBase.java b/src/main/java/org/xerial/util/impl/ChainMapBase.java new file mode 100644 index 0000000..10c8a4e --- /dev/null +++ b/src/main/java/org/xerial/util/impl/ChainMapBase.java @@ -0,0 +1,97 @@ +/*-------------------------------------------------------------------------- + * Copyright 2009 Taro L. Saito + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *--------------------------------------------------------------------------*/ +//-------------------------------------- +// XerialJ +// +// ChainMapBase.java +// Since: Mar 30, 2009 6:47:58 PM +// +// $URL$ +// $Author$ +//-------------------------------------- +package org.xerial.util.impl; + +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.xerial.util.HashedChainMap; + +/** + * A base implementation of {@link HashedChainMap} + * + * @author leo + * + * @param + * @param + */ +public abstract class ChainMapBase +{ + private Map> map; + + protected abstract Map> newMap(); + + protected abstract List newValueList(); + + public ChainMapBase() + { + map = newMap(); + } + + public boolean containsKey(Key key) + { + return map.containsKey(key); + } + + public List put(Key key, Value value) + { + List target = map.get(key); + if (target == null) + { + target = newValueList(); + map.put(key, target); + } + target.add(value); + + return target; + } + + public List remove(Key key) + { + return map.remove(key); + } + + public int size() + { + return map.size(); + } + + public List get(Key key) + { + return map.get(key); + } + + public Set keySet() + { + return map.keySet(); + } + + public Collection> values() + { + return map.values(); + } +} diff --git a/src/main/java/org/xerial/util/tree/TreeEvent.java b/src/main/java/org/xerial/util/tree/TreeEvent.java index 138b13d..44aa9c2 100644 --- a/src/main/java/org/xerial/util/tree/TreeEvent.java +++ b/src/main/java/org/xerial/util/tree/TreeEvent.java @@ -40,6 +40,19 @@ public class TreeEvent public final String nodeName; public final String nodeValue; + private static final TreeEvent FINISH_EVENT = new TreeEvent(EventType.FINISH, null, null); + private static final TreeEvent INIT_EVENT = new TreeEvent(EventType.FINISH, null, null); + + public static TreeEvent getFinishEvent() + { + return FINISH_EVENT; + } + + public static TreeEvent getInitEvent() + { + return INIT_EVENT; + } + public static TreeEvent newVisitEvent(String nodeName, String value) { return new TreeEvent(EventType.VISIT, nodeName, value); diff --git a/src/main/java/org/xerial/util/tree/TreeStreamWalker.java b/src/main/java/org/xerial/util/tree/TreeStreamWalker.java new file mode 100644 index 0000000..3315b57 --- /dev/null +++ b/src/main/java/org/xerial/util/tree/TreeStreamWalker.java @@ -0,0 +1,38 @@ +/*-------------------------------------------------------------------------- + * Copyright 2009 Taro L. Saito + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *--------------------------------------------------------------------------*/ +//-------------------------------------- +// XerialJ +// +// TreeStreamWalker.java +// Since: Mar 30, 2009 5:22:24 PM +// +// $URL$ +// $Author$ +//-------------------------------------- +package org.xerial.util.tree; + +import org.xerial.core.XerialException; + +/** + * A common interface for the stream parser of structured data. + * + * @author leo + * + */ +public interface TreeStreamWalker +{ + public TreeEvent next() throws XerialException; +} diff --git a/src/main/java/org/xerial/util/xml/XMLStreamWalker.java b/src/main/java/org/xerial/util/xml/XMLStreamWalker.java new file mode 100644 index 0000000..a17f5ac --- /dev/null +++ b/src/main/java/org/xerial/util/xml/XMLStreamWalker.java @@ -0,0 +1,195 @@ +/*-------------------------------------------------------------------------- + * Copyright 2009 Taro L. Saito + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + *--------------------------------------------------------------------------*/ +//-------------------------------------- +// XerialJ +// +// XMLStreamWalker.java +// Since: Mar 30, 2009 5:27:15 PM +// +// $URL$ +// $Author$ +//-------------------------------------- +package org.xerial.util.xml; + +import static org.xmlpull.v1.XmlPullParser.END_DOCUMENT; +import static org.xmlpull.v1.XmlPullParser.END_TAG; +import static org.xmlpull.v1.XmlPullParser.START_DOCUMENT; +import static org.xmlpull.v1.XmlPullParser.START_TAG; +import static org.xmlpull.v1.XmlPullParser.TEXT; + +import java.io.IOException; +import java.io.Reader; + +import org.xerial.core.XerialErrorCode; +import org.xerial.core.XerialException; +import org.xerial.util.ArrayDeque; +import org.xerial.util.Deque; +import org.xerial.util.tree.TreeEvent; +import org.xerial.util.tree.TreeStreamWalker; +import org.xerial.util.tree.TreeEvent.EventType; +import org.xerial.util.xml.pullparser.PullParserUtil; +import org.xmlpull.v1.XmlPullParser; +import org.xmlpull.v1.XmlPullParserException; + +/** + * {@link TreeStreamWalker} of XML data + * + * @author leo + * + */ +public class XMLStreamWalker implements TreeStreamWalker +{ + private final XmlPullParser pullParser; + private final Deque textStack = new ArrayDeque(); + private final static StringBuilder EMPTY_STRING = new StringBuilder(0); + private int TEXT_BUFFER_MAX = 8192; + + private int parseState = START_DOCUMENT; + private Deque eventQueue = new ArrayDeque(); + + public XMLStreamWalker(Reader reader) + { + if (reader == null) + throw new IllegalArgumentException("XML reader is null"); + + pullParser = PullParserUtil.newParser(reader); + + } + + public TreeEvent next() throws XerialException + { + if (parseState == END_DOCUMENT) + return TreeEvent.getFinishEvent(); + + if (!eventQueue.isEmpty()) + return eventQueue.removeFirst(); + + try + { + parseState = pullParser.next(); + + switch (parseState) + { + case START_DOCUMENT: + eventQueue.add(TreeEvent.getInitEvent()); + break; + case START_TAG: + { + textStack.addLast(EMPTY_STRING); + String tagName = pullParser.getName(); + String immediateNodeValue = null; + + Deque startEventQueue = new ArrayDeque(pullParser.getAttributeCount() + 1); + // read attributes + for (int i = 0; i < pullParser.getAttributeCount(); i++) + { + String attributeName = pullParser.getAttributeName(i); + String attributeValue = pullParser.getAttributeValue(i); + + // assign the value attribute as a node value of the start tag + if (attributeName.equals("value")) + { + immediateNodeValue = attributeValue; + continue; + } + + startEventQueue.addLast(TreeEvent.newVisitEvent(attributeName, attributeValue)); + startEventQueue.addLast(TreeEvent.newLeaveEvent(attributeName)); + } + + // push a new start tag event to the front of the queue + startEventQueue.addFirst(TreeEvent.newVisitEvent(tagName, immediateNodeValue)); + eventQueue.addAll(startEventQueue); + } + break; + case END_TAG: + { + if (textStack.getLast() == EMPTY_STRING) + { + eventQueue.add(TreeEvent.newLeaveEvent(pullParser.getName())); + } + else + { + if (!eventQueue.isEmpty() && eventQueue.getLast().event == EventType.VISIT) + { + eventQueue.removeLast(); + eventQueue.add(TreeEvent.newVisitEvent(pullParser.getName(), createTextEvent(textStack + .getLast()).nodeValue)); + } + else + eventQueue.add(createTextEvent(textStack.getLast())); + eventQueue.add(TreeEvent.newLeaveEvent(pullParser.getName())); + } + textStack.removeLast(); + } + break; + case TEXT: + { + String textData = pullParser.getText(); + StringBuilder textBuffer = textStack.getLast(); + + if (textBuffer == EMPTY_STRING) + { + textStack.removeLast(); + textBuffer = new StringBuilder(); + textStack.addLast(textBuffer); + + if (textData.length() < TEXT_BUFFER_MAX) + textBuffer.append(textData); + else + eventQueue.add(createTextEvent(textBuffer)); + } + else + { + if (textBuffer.length() + textData.length() > TEXT_BUFFER_MAX) + { + // add the previous text data to the event queue + eventQueue.add(createTextEvent(textBuffer)); + + // replace the text buffer + textStack.removeLast(); + textBuffer = new StringBuilder(); + textStack.addLast(textBuffer); + } + + textBuffer.append(textData); + } + } + break; + default: + // do nothing + break; + } + + } + catch (XmlPullParserException e) + { + throw new XerialException(XMLErrorCode.PARSE_ERROR, e); + } + catch (IOException e) + { + throw new XerialException(XerialErrorCode.IO_EXCEPTION, e); + } + + return next(); + } + + private TreeEvent createTextEvent(StringBuilder buffer) + { + return TreeEvent.newTextEvent(buffer.toString().trim()); + } + +} -- 2.11.0