-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-07 22:05:15
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-10-13 17:21:59
/*--------------------------------------------------------------------------
* Copyright 2009 Taro L. Saito
public class SilkLineLexer extends Lexer {
public static final int Key=14;
- public static final int PlainUnsafeChar=44;
- public static final int PlainSafeKey=45;
+ public static final int PlainUnsafeChar=45;
+ public static final int PlainSafeKey=46;
public static final int DataType=10;
+ public static final int EqEq=25;
public static final int SilkNode=5;
public static final int SilkLine=6;
- public static final int LBracket=30;
- public static final int Digit=33;
+ public static final int LBracket=31;
+ public static final int Digit=34;
public static final int NodeIndent=18;
- public static final int HexDigit=35;
- public static final int PlainOneLine=50;
- public static final int Plus=29;
+ public static final int HexDigit=36;
+ public static final int PlainOneLine=51;
+ public static final int Plus=30;
public static final int Occurrence=9;
public static final int Argument=12;
- public static final int FlowIndicator=42;
- public static final int Separation=52;
- public static final int Letter=34;
- public static final int PlainSafeIn=46;
+ public static final int Separation=53;
+ public static final int FlowIndicator=43;
+ public static final int Letter=35;
+ public static final int PlainSafeIn=47;
public static final int Comma=23;
- public static final int TabSeq=26;
- public static final int NonSpaceChar=48;
- public static final int EscapeSequence=37;
- public static final int PlainFirst=49;
+ public static final int TabSeq=27;
+ public static final int NonSpaceChar=49;
+ public static final int EscapeSequence=38;
+ public static final int PlainFirst=50;
public static final int WhiteSpace=15;
- public static final int PlainSafeOut=47;
- public static final int JSON=51;
- public static final int Question=32;
+ public static final int PlainSafeOut=48;
+ public static final int JSON=52;
+ public static final int Question=33;
public static final int LineComment=17;
public static final int Colon=24;
- public static final int At=28;
+ public static final int At=29;
public static final int KeyValuePair=13;
- public static final int Star=27;
- public static final int Seq=25;
+ public static final int Star=28;
+ public static final int Seq=26;
public static final int FunctionIndent=19;
+ public static final int Indicator=44;
public static final int RParen=22;
- public static final int Indicator=43;
- public static final int UnicodeChar=36;
+ public static final int UnicodeChar=37;
+ public static final int StringChar=39;
public static final int Silk=4;
public static final int BlankLine=20;
- public static final int StringChar=38;
public static final int Name=7;
public static final int Function=11;
public static final int LParen=21;
- public static final int String=40;
+ public static final int String=41;
public static final int LineBreakChar=16;
- public static final int ScopeIndicator=41;
+ public static final int ScopeIndicator=42;
public static final int EOF=-1;
- public static final int StringChar_s=39;
+ public static final int StringChar_s=40;
public static final int Value=8;
- public static final int RBracket=31;
+ public static final int RBracket=32;
private static Logger _logger = Logger.getLogger(SilkLineLexer.class);
}
// $ANTLR end "Colon"
+ // $ANTLR start "EqEq"
+ public final void mEqEq() throws RecognitionException {
+ try {
+ int _type = EqEq;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // SilkLine.g:188:5: ( '==' )
+ // SilkLine.g:188:7: '=='
+ {
+ match("==");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "EqEq"
+
// $ANTLR start "Seq"
public final void mSeq() throws RecognitionException {
try {
// SilkLine.g:207:9: '\"' s= StringChar_s '\"'
{
match('\"');
- int sStart408 = getCharIndex();
+ int sStart413 = getCharIndex();
mStringChar_s();
- s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart408, getCharIndex()-1);
+ s = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, sStart413, getCharIndex()-1);
match('\"');
setText((s!=null?s.getText():null)); transit(Symbol.LeaveValue);
// $ANTLR start "Indicator"
public final void mIndicator() throws RecognitionException {
try {
- // SilkLine.g:212:19: ( FlowIndicator | ScopeIndicator | ',' | ':' | '#' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' )
+ // SilkLine.g:212:19: ( FlowIndicator | ScopeIndicator | ',' | ':' | '#' | '>' | '|' | '*' | '\\'' | '\"' | '@' | '%' | '\\\\' | '=' )
// SilkLine.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)<='}') ) {
+ 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();
}
// $ANTLR start "PlainSafeKey"
public final void mPlainSafeKey() throws RecognitionException {
try {
- // SilkLine.g:217:22: (~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' | '|' ) )
- // SilkLine.g:217:24: ~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' | '|' )
+ // SilkLine.g:217:22: (~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' | '|' | '=' ) )
+ // SilkLine.g:217:24: ~ ( PlainUnsafeChar | ScopeIndicator | FlowIndicator | ',' | ':' | '>' | '*' | '|' | '=' )
{
- if ( (input.LA(1)>='\u0000' && 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)<='\uFFFF') ) {
+ if ( (input.LA(1)>='\u0000' && 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)<='\uFFFF') ) {
input.consume();
}
int alt9=2;
int LA9_0 = input.LA(1);
- if ( ((LA9_0>='\u0000' && LA9_0<='\b')||(LA9_0>='\n' && LA9_0<='\u001F')||LA9_0=='!'||LA9_0=='$'||LA9_0=='&'||(LA9_0>='.' && LA9_0<='9')||(LA9_0>=';' && LA9_0<='=')||(LA9_0>='A' && LA9_0<='Z')||(LA9_0>='^' && LA9_0<='z')||(LA9_0>='~' && LA9_0<='\uFFFF')) ) {
+ if ( ((LA9_0>='\u0000' && LA9_0<='\b')||(LA9_0>='\n' && LA9_0<='\u001F')||LA9_0=='!'||LA9_0=='$'||LA9_0=='&'||(LA9_0>='.' && LA9_0<='9')||(LA9_0>=';' && LA9_0<='<')||(LA9_0>='A' && LA9_0<='Z')||(LA9_0>='^' && LA9_0<='z')||(LA9_0>='~' && LA9_0<='\uFFFF')) ) {
alt9=1;
}
else if ( (LA9_0=='+'||LA9_0=='-'||LA9_0==':'||LA9_0=='?') && (( isValue() ))) {
case 1 :
// SilkLine.g:223:5: ~ ( '-' | '+' | '?' | PlainUnsafeChar | WhiteSpace | Indicator )
{
- if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\n' && input.LA(1)<='\u001F')||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)>='A' && input.LA(1)<='Z')||(input.LA(1)>='^' && input.LA(1)<='z')||(input.LA(1)>='~' && input.LA(1)<='\uFFFF') ) {
+ if ( (input.LA(1)>='\u0000' && input.LA(1)<='\b')||(input.LA(1)>='\n' && input.LA(1)<='\u001F')||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)>='A' && input.LA(1)<='Z')||(input.LA(1)>='^' && input.LA(1)<='z')||(input.LA(1)>='~' && input.LA(1)<='\uFFFF') ) {
input.consume();
}
int alt13=3;
int LA13_0 = input.LA(1);
- if ( ((LA13_0>='\u0000' && LA13_0<='\b')||(LA13_0>='\n' && LA13_0<='\u001F')||LA13_0=='!'||LA13_0=='$'||LA13_0=='&'||(LA13_0>='.' && LA13_0<='9')||(LA13_0>=';' && LA13_0<='=')||(LA13_0>='A' && LA13_0<='Z')||(LA13_0>='^' && LA13_0<='z')||(LA13_0>='~' && LA13_0<='\uFFFF')) && ((( isInValue() )||( isOutValue() )||( isKey() )))) {
+ if ( ((LA13_0>='\u0000' && LA13_0<='\b')||(LA13_0>='\n' && LA13_0<='\u001F')||LA13_0=='!'||LA13_0=='$'||LA13_0=='&'||(LA13_0>='.' && LA13_0<='9')||(LA13_0>=';' && LA13_0<='<')||(LA13_0>='A' && LA13_0<='Z')||(LA13_0>='^' && LA13_0<='z')||(LA13_0>='~' && LA13_0<='\uFFFF')) && ((( isInValue() )||( isOutValue() )||( isKey() )))) {
int LA13_1 = input.LA(2);
if ( (( isKey() )) ) {
throw nvae;
}
}
- else if ( (LA13_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ else if ( (LA13_0=='-') && (((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {
int LA13_2 = input.LA(2);
if ( ((( isKey() )&&( isValue() ))) ) {
throw nvae;
}
}
- else if ( (LA13_0=='+') && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ else if ( (LA13_0=='+') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {
int LA13_3 = input.LA(2);
if ( ((( isKey() )&&( isValue() ))) ) {
throw nvae;
}
}
- else if ( (LA13_0==':'||LA13_0=='?') && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {
+ else if ( (LA13_0==':'||LA13_0=='?') && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
int LA13_4 = input.LA(2);
- if ( ((LA13_4>='\u0000' && LA13_4<='\b')||(LA13_4>='\n' && LA13_4<='\u001F')||LA13_4=='!'||(LA13_4>='#' && LA13_4<='[')||(LA13_4>=']' && LA13_4<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {
+ if ( ((LA13_4>='\u0000' && LA13_4<='\b')||(LA13_4>='\n' && LA13_4<='\u001F')||LA13_4=='!'||(LA13_4>='#' && LA13_4<='[')||(LA13_4>=']' && LA13_4<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {
int LA13_8 = input.LA(3);
if ( ((( isKey() )&&( isValue() ))) ) {
int alt10=2;
int LA10_0 = input.LA(1);
- if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='$' && LA10_0<='\'')||LA10_0=='+'||(LA10_0>='-' && LA10_0<='9')||(LA10_0>=';' && LA10_0<='=')||(LA10_0>='?' && LA10_0<='Z')||(LA10_0>='^' && LA10_0<='z')||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {
+ if ( ((LA10_0>='\u0000' && LA10_0<='!')||(LA10_0>='$' && LA10_0<='\'')||LA10_0=='+'||(LA10_0>='-' && LA10_0<='9')||(LA10_0>=';' && LA10_0<='<')||(LA10_0>='?' && LA10_0<='Z')||(LA10_0>='^' && LA10_0<='z')||(LA10_0>='~' && LA10_0<='\uFFFF')) ) {
alt10=1;
}
// $ANTLR end "Separation"
public void mTokens() throws RecognitionException {
- // SilkLine.g:1:8: ( LineComment | NodeIndent | FunctionIndent | BlankLine | LParen | RParen | Comma | Colon | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation )
- int alt16=20;
+ // SilkLine.g:1:8: ( LineComment | NodeIndent | FunctionIndent | BlankLine | LParen | RParen | Comma | Colon | EqEq | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation )
+ int alt16=21;
alt16 = dfa16.predict(input);
switch (alt16) {
case 1 :
}
break;
case 9 :
- // SilkLine.g:1:84: Seq
+ // SilkLine.g:1:84: EqEq
{
- mSeq();
+ mEqEq();
}
break;
case 10 :
- // SilkLine.g:1:88: TabSeq
+ // SilkLine.g:1:89: Seq
{
- mTabSeq();
+ mSeq();
}
break;
case 11 :
- // SilkLine.g:1:95: Star
+ // SilkLine.g:1:93: TabSeq
{
- mStar();
+ mTabSeq();
}
break;
case 12 :
- // SilkLine.g:1:100: At
+ // SilkLine.g:1:100: Star
{
- mAt();
+ mStar();
}
break;
case 13 :
- // SilkLine.g:1:103: Plus
+ // SilkLine.g:1:105: At
{
- mPlus();
+ mAt();
}
break;
case 14 :
- // SilkLine.g:1:108: LBracket
+ // SilkLine.g:1:108: Plus
{
- mLBracket();
+ mPlus();
}
break;
case 15 :
- // SilkLine.g:1:117: RBracket
+ // SilkLine.g:1:113: LBracket
{
- mRBracket();
+ mLBracket();
}
break;
case 16 :
- // SilkLine.g:1:126: Question
+ // SilkLine.g:1:122: RBracket
{
- mQuestion();
+ mRBracket();
}
break;
case 17 :
- // SilkLine.g:1:135: String
+ // SilkLine.g:1:131: Question
{
- mString();
+ mQuestion();
}
break;
case 18 :
- // SilkLine.g:1:142: PlainOneLine
+ // SilkLine.g:1:140: String
{
- mPlainOneLine();
+ mString();
}
break;
case 19 :
- // SilkLine.g:1:155: JSON
+ // SilkLine.g:1:147: PlainOneLine
{
- mJSON();
+ mPlainOneLine();
}
break;
case 20 :
- // SilkLine.g:1:160: Separation
+ // SilkLine.g:1:160: JSON
+ {
+ mJSON();
+
+ }
+ break;
+ case 21 :
+ // SilkLine.g:1:165: Separation
{
mSeparation();
protected DFA16 dfa16 = new DFA16(this);
static final String DFA16_eotS =
- "\1\6\1\uffff\1\25\1\30\1\34\1\25\4\uffff\1\36\3\uffff\1\37\1\40"+
- "\1\uffff\1\41\24\uffff";
+ "\1\6\1\uffff\1\26\1\31\1\35\1\26\4\uffff\1\37\4\uffff\1\40\1\41"+
+ "\1\uffff\1\42\24\uffff";
static final String DFA16_eofS =
- "\46\uffff";
+ "\47\uffff";
static final String DFA16_minS =
- "\1\0\1\uffff\1\11\2\0\1\11\4\uffff\1\0\3\uffff\2\0\1\uffff\1\0\3"+
- "\uffff\1\0\2\uffff\1\0\3\uffff\1\0\2\uffff\2\0\5\uffff";
+ "\1\0\1\uffff\1\11\2\0\1\11\4\uffff\1\0\4\uffff\2\0\1\uffff\1\0"+
+ "\3\uffff\1\0\2\uffff\1\0\3\uffff\1\0\2\uffff\2\0\5\uffff";
static final String DFA16_maxS =
- "\1\uffff\1\uffff\1\100\1\uffff\1\0\1\40\4\uffff\1\uffff\3\uffff"+
+ "\1\uffff\1\uffff\1\100\1\uffff\1\0\1\40\4\uffff\1\uffff\4\uffff"+
"\1\uffff\1\0\1\uffff\1\uffff\3\uffff\1\0\2\uffff\1\0\3\uffff\1\0"+
"\2\uffff\2\0\5\uffff";
static final String DFA16_acceptS =
- "\1\uffff\1\1\4\uffff\1\4\1\5\1\6\1\7\1\uffff\1\11\1\12\1\13\2\uffff"+
- "\1\17\1\uffff\1\21\1\22\1\23\1\uffff\1\2\1\3\1\uffff\3\22\1\uffff"+
- "\1\22\1\10\2\uffff\1\20\1\24\1\14\1\15\1\16";
+ "\1\uffff\1\1\4\uffff\1\4\1\5\1\6\1\7\1\uffff\1\11\1\12\1\13\1\14"+
+ "\2\uffff\1\20\1\uffff\1\22\1\23\1\24\1\uffff\1\2\1\3\1\uffff\3\23"+
+ "\1\uffff\1\23\1\10\2\uffff\1\21\1\25\1\15\1\16\1\17";
static final String DFA16_specialS =
- "\1\12\1\uffff\1\1\1\0\1\uffff\1\13\4\uffff\1\11\3\uffff\1\2\2\uffff"+
- "\1\4\3\uffff\1\10\2\uffff\1\5\3\uffff\1\3\2\uffff\1\7\1\6\5\uffff}>";
+ "\1\7\1\uffff\1\4\1\11\1\uffff\1\3\4\uffff\1\12\4\uffff\1\13\2\uffff"+
+ "\1\1\3\uffff\1\2\2\uffff\1\10\3\uffff\1\0\2\uffff\1\6\1\5\5\uffff}>";
static final String[] DFA16_transitionS = {
- "\11\23\1\5\26\23\1\2\1\23\1\22\1\1\1\23\1\uffff\1\23\1\uffff"+
- "\1\7\1\10\1\15\1\16\1\11\1\3\14\23\1\12\3\23\1\13\1\21\1\4\32"+
- "\23\1\17\1\uffff\1\20\35\23\1\24\1\14\1\uffff\uff82\23",
+ "\11\24\1\5\26\24\1\2\1\24\1\23\1\1\1\24\1\uffff\1\24\1\uffff"+
+ "\1\7\1\10\1\16\1\17\1\11\1\3\14\24\1\12\2\24\1\13\1\14\1\22"+
+ "\1\4\32\24\1\20\1\uffff\1\21\35\24\1\25\1\15\1\uffff\uff82\24",
"",
- "\1\5\26\uffff\1\2\14\uffff\1\26\22\uffff\1\27",
- "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1\33"+
- "\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
+ "\1\5\26\uffff\1\2\14\uffff\1\27\22\uffff\1\30",
+ "\42\32\2\uffff\4\32\2\34\1\33\1\32\1\34\15\32\1\33\2\32\2"+
+ "\33\34\32\1\33\1\uffff\1\33\35\32\3\33\uff82\32",
"\1\uffff",
"\1\5\26\uffff\1\5",
"",
"",
"",
"",
- "\11\35\1\uffff\26\35\1\uffff\1\35\1\uffff\71\35\1\uffff\uffa3"+
- "\35",
+ "\11\36\1\uffff\26\36\1\uffff\1\36\1\uffff\71\36\1\uffff\uffa3"+
+ "\36",
+ "",
"",
"",
"",
- "\42\31\2\uffff\4\31\2\32\1\33\1\31\1\32\15\31\1\33\3\31\1\33"+
- "\34\31\1\33\1\uffff\1\33\35\31\3\33\uff82\31",
+ "\42\32\2\uffff\4\32\2\34\1\33\1\32\1\34\15\32\1\33\2\32\2"+
+ "\33\34\32\1\33\1\uffff\1\33\35\32\3\33\uff82\32",
"\1\uffff",
"",
- "\11\35\1\uffff\26\35\1\uffff\1\35\1\uffff\71\35\1\uffff\uffa3"+
- "\35",
+ "\11\36\1\uffff\26\36\1\uffff\1\36\1\uffff\71\36\1\uffff\uffa3"+
+ "\36",
"",
"",
"",
this.transition = DFA16_transition;
}
public String getDescription() {
- return "1:1: Tokens : ( LineComment | NodeIndent | FunctionIndent | BlankLine | LParen | RParen | Comma | Colon | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation );";
+ return "1:1: Tokens : ( LineComment | NodeIndent | FunctionIndent | BlankLine | LParen | RParen | Comma | Colon | EqEq | Seq | TabSeq | Star | At | Plus | LBracket | RBracket | Question | String | PlainOneLine | JSON | Separation );";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
- int LA16_3 = input.LA(1);
+ int LA16_29 = input.LA(1);
- int index16_3 = input.index();
+ int index16_29 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_3>='\u0000' && LA16_3<='!')||(LA16_3>='$' && LA16_3<='\'')||LA16_3=='+'||(LA16_3>='-' && LA16_3<='9')||(LA16_3>=';' && LA16_3<='=')||(LA16_3>='?' && LA16_3<='Z')||(LA16_3>='^' && LA16_3<='z')||(LA16_3>='~' && LA16_3<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {s = 25;}
+ if ( (( isHead() )) ) {s = 24;}
- else if ( ((LA16_3>='(' && LA16_3<=')')||LA16_3==',') && ((( isOutValue() )&&( isValue() )))) {s = 26;}
-
- else if ( (LA16_3=='*'||LA16_3==':'||LA16_3=='>'||LA16_3=='['||LA16_3==']'||(LA16_3>='{' && LA16_3<='}')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 27;}
-
- else s = 24;
+ else if ( (true) ) {s = 36;}
- input.seek(index16_3);
+ input.seek(index16_29);
if ( s>=0 ) return s;
break;
case 1 :
- int LA16_2 = input.LA(1);
+ int LA16_18 = input.LA(1);
- int index16_2 = input.index();
+ int index16_18 = input.index();
input.rewind();
s = -1;
- if ( (LA16_2==' ') && ((( !isHead() )||( isHead() )))) {s = 2;}
-
- else if ( (LA16_2=='-') && (( isHead() ))) {s = 22;}
-
- else if ( (LA16_2=='\t') && ((( !isHead() )||( isHead() )))) {s = 5;}
-
- else if ( (LA16_2=='@') && (( isHead() ))) {s = 23;}
+ if ( ((LA16_18>='\u0000' && LA16_18<='\b')||(LA16_18>='\n' && LA16_18<='\u001F')||LA16_18=='!'||(LA16_18>='#' && LA16_18<='[')||(LA16_18>=']' && LA16_18<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))))) {s = 30;}
- else s = 21;
+ else s = 34;
- input.seek(index16_2);
+ input.seek(index16_18);
if ( s>=0 ) return s;
break;
case 2 :
- int LA16_14 = input.LA(1);
+ int LA16_22 = input.LA(1);
- int index16_14 = input.index();
+ int index16_22 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_14>='\u0000' && LA16_14<='!')||(LA16_14>='$' && LA16_14<='\'')||LA16_14=='+'||(LA16_14>='-' && LA16_14<='9')||(LA16_14>=';' && LA16_14<='=')||(LA16_14>='?' && LA16_14<='Z')||(LA16_14>='^' && LA16_14<='z')||(LA16_14>='~' && LA16_14<='\uFFFF')) && (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 25;}
-
- else if ( (LA16_14=='*'||LA16_14==':'||LA16_14=='>'||LA16_14=='['||LA16_14==']'||(LA16_14>='{' && LA16_14<='}')) && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 27;}
-
- else if ( ((LA16_14>='(' && LA16_14<=')')||LA16_14==',') && ((( isOutValue() )&&( isValue() )))) {s = 26;}
+ if ( (( isHead() )) ) {s = 6;}
- else s = 31;
+ else if ( (( !isHead() )) ) {s = 35;}
- input.seek(index16_14);
+ input.seek(index16_22);
if ( s>=0 ) return s;
break;
case 3 :
- int LA16_28 = input.LA(1);
+ int LA16_5 = input.LA(1);
- int index16_28 = input.index();
+ int index16_5 = input.index();
input.rewind();
s = -1;
- if ( (( isHead() )) ) {s = 23;}
+ if ( (LA16_5=='\t'||LA16_5==' ') && ((( !isHead() )||( isHead() )))) {s = 5;}
- else if ( (true) ) {s = 35;}
+ else s = 22;
- input.seek(index16_28);
+ input.seek(index16_5);
if ( s>=0 ) return s;
break;
case 4 :
- int LA16_17 = input.LA(1);
+ int LA16_2 = input.LA(1);
- int index16_17 = input.index();
+ int index16_2 = input.index();
input.rewind();
s = -1;
- if ( ((LA16_17>='\u0000' && LA16_17<='\b')||(LA16_17>='\n' && LA16_17<='\u001F')||LA16_17=='!'||(LA16_17>='#' && LA16_17<='[')||(LA16_17>=']' && LA16_17<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 29;}
+ if ( (LA16_2==' ') && ((( !isHead() )||( isHead() )))) {s = 2;}
- else s = 33;
+ else if ( (LA16_2=='-') && (( isHead() ))) {s = 23;}
+
+ else if ( (LA16_2=='\t') && ((( !isHead() )||( isHead() )))) {s = 5;}
+
+ else if ( (LA16_2=='@') && (( isHead() ))) {s = 24;}
+
+ else s = 22;
- input.seek(index16_17);
+ input.seek(index16_2);
if ( s>=0 ) return s;
break;
case 5 :
- int LA16_24 = input.LA(1);
+ int LA16_33 = input.LA(1);
- int index16_24 = input.index();
+ int index16_33 = input.index();
input.rewind();
s = -1;
- if ( (( isHead() )) ) {s = 22;}
+ if ( (!((( isValue() )))) ) {s = 38;}
- else if ( (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() )))) ) {s = 29;}
+ else if ( (( isValue() )) ) {s = 21;}
- input.seek(index16_24);
+ input.seek(index16_33);
if ( s>=0 ) return s;
break;
case 6 :
int index16_32 = input.index();
input.rewind();
s = -1;
- if ( (!((( isValue() )))) ) {s = 37;}
+ if ( (!((((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() )))))) ) {s = 37;}
- else if ( (( isValue() )) ) {s = 20;}
+ else if ( (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() )))) ) {s = 30;}
input.seek(index16_32);
if ( s>=0 ) return s;
break;
case 7 :
- int LA16_31 = input.LA(1);
-
-
- int index16_31 = input.index();
- input.rewind();
- s = -1;
- if ( (!((((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() )))))) ) {s = 36;}
-
- else if ( (((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() )))) ) {s = 29;}
-
-
- input.seek(index16_31);
- if ( s>=0 ) return s;
- break;
- case 8 :
- int LA16_21 = input.LA(1);
-
-
- int index16_21 = input.index();
- input.rewind();
- s = -1;
- if ( (( isHead() )) ) {s = 6;}
-
- else if ( (( !isHead() )) ) {s = 34;}
-
-
- input.seek(index16_21);
- if ( s>=0 ) return s;
- break;
- case 9 :
- int LA16_10 = input.LA(1);
-
-
- int index16_10 = input.index();
- input.rewind();
- s = -1;
- if ( ((LA16_10>='\u0000' && LA16_10<='\b')||(LA16_10>='\n' && LA16_10<='\u001F')||LA16_10=='!'||(LA16_10>='#' && LA16_10<='[')||(LA16_10>=']' && LA16_10<='\uFFFF')) && (((( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 29;}
-
- else s = 30;
-
-
- input.seek(index16_10);
- if ( s>=0 ) return s;
- break;
- case 10 :
int LA16_0 = input.LA(1);
else if ( (LA16_0==' ') && ((( !isHead() )||( isHead() )))) {s = 2;}
- else if ( (LA16_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||( isHead() )||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 3;}
+ else if ( (LA16_0=='-') && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||( isHead() )||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 3;}
else if ( (LA16_0=='@') ) {s = 4;}
else if ( (LA16_0==':') ) {s = 10;}
- else if ( (LA16_0=='>') ) {s = 11;}
+ else if ( (LA16_0=='=') ) {s = 11;}
- else if ( (LA16_0=='|') ) {s = 12;}
+ else if ( (LA16_0=='>') ) {s = 12;}
- else if ( (LA16_0=='*') ) {s = 13;}
+ else if ( (LA16_0=='|') ) {s = 13;}
- else if ( (LA16_0=='+') ) {s = 14;}
+ else if ( (LA16_0=='*') ) {s = 14;}
- else if ( (LA16_0=='[') ) {s = 15;}
+ else if ( (LA16_0=='+') ) {s = 15;}
- else if ( (LA16_0==']') ) {s = 16;}
+ else if ( (LA16_0=='[') ) {s = 16;}
- else if ( (LA16_0=='?') ) {s = 17;}
+ else if ( (LA16_0==']') ) {s = 17;}
- else if ( (LA16_0=='\"') ) {s = 18;}
+ else if ( (LA16_0=='?') ) {s = 18;}
- else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\n' && LA16_0<='\u001F')||LA16_0=='!'||LA16_0=='$'||LA16_0=='&'||(LA16_0>='.' && LA16_0<='9')||(LA16_0>=';' && LA16_0<='=')||(LA16_0>='A' && LA16_0<='Z')||(LA16_0>='^' && LA16_0<='z')||(LA16_0>='~' && LA16_0<='\uFFFF')) && ((( isInValue() )||( isOutValue() )||( isKey() )))) {s = 19;}
+ else if ( (LA16_0=='\"') ) {s = 19;}
- else if ( (LA16_0=='{') && (( isValue() ))) {s = 20;}
+ else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\n' && LA16_0<='\u001F')||LA16_0=='!'||LA16_0=='$'||LA16_0=='&'||(LA16_0>='.' && LA16_0<='9')||(LA16_0>=';' && LA16_0<='<')||(LA16_0>='A' && LA16_0<='Z')||(LA16_0>='^' && LA16_0<='z')||(LA16_0>='~' && LA16_0<='\uFFFF')) && ((( isInValue() )||( isOutValue() )||( isKey() )))) {s = 20;}
+
+ else if ( (LA16_0=='{') && (( isValue() ))) {s = 21;}
else s = 6;
input.seek(index16_0);
if ( s>=0 ) return s;
break;
+ case 8 :
+ int LA16_25 = input.LA(1);
+
+
+ int index16_25 = input.index();
+ input.rewind();
+ s = -1;
+ if ( (( isHead() )) ) {s = 23;}
+
+ else if ( (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() )))) ) {s = 30;}
+
+
+ input.seek(index16_25);
+ if ( s>=0 ) return s;
+ break;
+ case 9 :
+ int LA16_3 = input.LA(1);
+
+
+ int index16_3 = input.index();
+ input.rewind();
+ s = -1;
+ if ( ((LA16_3>='\u0000' && LA16_3<='!')||(LA16_3>='$' && LA16_3<='\'')||LA16_3=='+'||(LA16_3>='-' && LA16_3<='9')||(LA16_3>=';' && LA16_3<='<')||(LA16_3>='?' && LA16_3<='Z')||(LA16_3>='^' && LA16_3<='z')||(LA16_3>='~' && LA16_3<='\uFFFF')) && (((( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 26;}
+
+ else if ( (LA16_3=='*'||LA16_3==':'||(LA16_3>='=' && LA16_3<='>')||LA16_3=='['||LA16_3==']'||(LA16_3>='{' && LA16_3<='}')) && (((( isInValue() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 27;}
+
+ else if ( ((LA16_3>='(' && LA16_3<=')')||LA16_3==',') && ((( isOutValue() )&&( isValue() )))) {s = 28;}
+
+ else s = 25;
+
+
+ input.seek(index16_3);
+ if ( s>=0 ) return s;
+ break;
+ case 10 :
+ int LA16_10 = input.LA(1);
+
+
+ int index16_10 = input.index();
+ input.rewind();
+ s = -1;
+ if ( ((LA16_10>='\u0000' && LA16_10<='\b')||(LA16_10>='\n' && LA16_10<='\u001F')||LA16_10=='!'||(LA16_10>='#' && LA16_10<='[')||(LA16_10>=']' && LA16_10<='\uFFFF')) && (((( isOutValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 30;}
+
+ else s = 31;
+
+
+ input.seek(index16_10);
+ if ( s>=0 ) return s;
+ break;
case 11 :
- int LA16_5 = input.LA(1);
+ int LA16_15 = input.LA(1);
- int index16_5 = input.index();
+ int index16_15 = input.index();
input.rewind();
s = -1;
- if ( (LA16_5=='\t'||LA16_5==' ') && ((( !isHead() )||( isHead() )))) {s = 5;}
+ if ( ((LA16_15>='\u0000' && LA16_15<='!')||(LA16_15>='$' && LA16_15<='\'')||LA16_15=='+'||(LA16_15>='-' && LA16_15<='9')||(LA16_15>=';' && LA16_15<='<')||(LA16_15>='?' && LA16_15<='Z')||(LA16_15>='^' && LA16_15<='z')||(LA16_15>='~' && LA16_15<='\uFFFF')) && (((( isInValue() )&&( isValue() ))||(( isKey() )&&( isValue() ))||(( isOutValue() )&&( isValue() ))))) {s = 26;}
+
+ else if ( (LA16_15=='*'||LA16_15==':'||(LA16_15>='=' && LA16_15<='>')||LA16_15=='['||LA16_15==']'||(LA16_15>='{' && LA16_15<='}')) && (((( isOutValue() )&&( isValue() ))||(( isInValue() )&&( isValue() ))))) {s = 27;}
- else s = 21;
+ else if ( ((LA16_15>='(' && LA16_15<=')')||LA16_15==',') && ((( isOutValue() )&&( isValue() )))) {s = 28;}
+
+ else s = 32;
- input.seek(index16_5);
+ input.seek(index16_15);
if ( s>=0 ) return s;
break;
}
-// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-07-07 22:05:15
+// $ANTLR 3.1.3 Mar 17, 2009 19:23:44 SilkLine.g 2009-10-13 17:21:59
/*--------------------------------------------------------------------------
* Copyright 2009 Taro L. Saito
public class SilkLineParser extends Parser {
public static final String[] tokenNames = new String[] {
- "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Silk", "SilkNode", "SilkLine", "Name", "Value", "Occurrence", "DataType", "Function", "Argument", "KeyValuePair", "Key", "WhiteSpace", "LineBreakChar", "LineComment", "NodeIndent", "FunctionIndent", "BlankLine", "LParen", "RParen", "Comma", "Colon", "Seq", "TabSeq", "Star", "At", "Plus", "LBracket", "RBracket", "Question", "Digit", "Letter", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "StringChar_s", "String", "ScopeIndicator", "FlowIndicator", "Indicator", "PlainUnsafeChar", "PlainSafeKey", "PlainSafeIn", "PlainSafeOut", "NonSpaceChar", "PlainFirst", "PlainOneLine", "JSON", "Separation"
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "Silk", "SilkNode", "SilkLine", "Name", "Value", "Occurrence", "DataType", "Function", "Argument", "KeyValuePair", "Key", "WhiteSpace", "LineBreakChar", "LineComment", "NodeIndent", "FunctionIndent", "BlankLine", "LParen", "RParen", "Comma", "Colon", "EqEq", "Seq", "TabSeq", "Star", "At", "Plus", "LBracket", "RBracket", "Question", "Digit", "Letter", "HexDigit", "UnicodeChar", "EscapeSequence", "StringChar", "StringChar_s", "String", "ScopeIndicator", "FlowIndicator", "Indicator", "PlainUnsafeChar", "PlainSafeKey", "PlainSafeIn", "PlainSafeOut", "NonSpaceChar", "PlainFirst", "PlainOneLine", "JSON", "Separation"
};
public static final int Key=14;
- public static final int PlainUnsafeChar=44;
- public static final int PlainSafeKey=45;
+ public static final int PlainUnsafeChar=45;
+ public static final int PlainSafeKey=46;
public static final int DataType=10;
+ public static final int EqEq=25;
public static final int SilkNode=5;
public static final int SilkLine=6;
- public static final int LBracket=30;
+ public static final int LBracket=31;
public static final int NodeIndent=18;
- public static final int Digit=33;
- public static final int HexDigit=35;
- public static final int PlainOneLine=50;
- public static final int Plus=29;
+ public static final int Digit=34;
+ public static final int HexDigit=36;
+ public static final int PlainOneLine=51;
+ public static final int Plus=30;
public static final int Occurrence=9;
public static final int Argument=12;
- public static final int Separation=52;
- public static final int FlowIndicator=42;
- public static final int Letter=34;
- public static final int PlainSafeIn=46;
+ public static final int Separation=53;
+ public static final int FlowIndicator=43;
+ public static final int Letter=35;
+ public static final int PlainSafeIn=47;
public static final int Comma=23;
- public static final int TabSeq=26;
- public static final int NonSpaceChar=48;
- public static final int EscapeSequence=37;
- public static final int PlainFirst=49;
+ public static final int TabSeq=27;
+ public static final int NonSpaceChar=49;
+ public static final int EscapeSequence=38;
+ public static final int PlainFirst=50;
public static final int WhiteSpace=15;
- public static final int PlainSafeOut=47;
- public static final int JSON=51;
- public static final int Question=32;
+ public static final int PlainSafeOut=48;
+ public static final int JSON=52;
+ public static final int Question=33;
public static final int LineComment=17;
public static final int Colon=24;
- public static final int At=28;
+ public static final int At=29;
public static final int KeyValuePair=13;
- public static final int Star=27;
- public static final int Seq=25;
+ public static final int Star=28;
+ public static final int Seq=26;
public static final int FunctionIndent=19;
+ public static final int Indicator=44;
public static final int RParen=22;
- public static final int Indicator=43;
- public static final int UnicodeChar=36;
+ public static final int UnicodeChar=37;
public static final int Silk=4;
public static final int BlankLine=20;
- public static final int StringChar=38;
+ public static final int StringChar=39;
public static final int Function=11;
public static final int Name=7;
public static final int LParen=21;
- public static final int String=40;
+ public static final int String=41;
public static final int LineBreakChar=16;
- public static final int ScopeIndicator=41;
+ public static final int ScopeIndicator=42;
public static final int EOF=-1;
- public static final int StringChar_s=39;
+ public static final int StringChar_s=40;
public static final int Value=8;
- public static final int RBracket=31;
+ public static final int RBracket=32;
// delegates
// delegators
case 1 :
// SilkLine.g:266:11: silkLine
{
- pushFollow(FOLLOW_silkLine_in_silkFile858);
+ pushFollow(FOLLOW_silkLine_in_silkFile870);
silkLine1=silkLine();
state._fsp--;
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_silkNode_in_silkLine879);
+ pushFollow(FOLLOW_silkNode_in_silkLine891);
silkNode2=silkNode();
state._fsp--;
{
root_0 = (Object)adaptor.nil();
- LineComment3=(Token)match(input,LineComment,FOLLOW_LineComment_in_silkLine885);
+ LineComment3=(Token)match(input,LineComment,FOLLOW_LineComment_in_silkLine897);
LineComment3_tree = (Object)adaptor.create(LineComment3);
adaptor.addChild(root_0, LineComment3_tree);
case 3 :
// SilkLine.g:272:4: WhiteSpace
{
- WhiteSpace4=(Token)match(input,WhiteSpace,FOLLOW_WhiteSpace_in_silkLine890);
+ WhiteSpace4=(Token)match(input,WhiteSpace,FOLLOW_WhiteSpace_in_silkLine902);
stream_WhiteSpace.add(WhiteSpace4);
case 1 :
// SilkLine.g:280:4: function_i
{
- pushFollow(FOLLOW_function_i_in_nodeValue920);
+ pushFollow(FOLLOW_function_i_in_nodeValue932);
function_i6=function_i();
state._fsp--;
case 1 :
// SilkLine.g:281:5: PlainOneLine
{
- PlainOneLine7=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_nodeValue934);
+ PlainOneLine7=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_nodeValue946);
stream_PlainOneLine.add(PlainOneLine7);
case 2 :
// SilkLine.g:281:20: String
{
- String8=(Token)match(input,String,FOLLOW_String_in_nodeValue938);
+ String8=(Token)match(input,String,FOLLOW_String_in_nodeValue950);
stream_String.add(String8);
{
root_0 = (Object)adaptor.nil();
- JSON9=(Token)match(input,JSON,FOLLOW_JSON_in_nodeValue949);
+ JSON9=(Token)match(input,JSON,FOLLOW_JSON_in_nodeValue961);
JSON9_tree = (Object)adaptor.create(JSON9);
adaptor.addChild(root_0, JSON9_tree);
if ( (LA8_0==NodeIndent) ) {
switch ( input.LA(2) ) {
+ case At:
+ {
+ alt8=3;
+ }
+ break;
+ case String:
+ case PlainOneLine:
+ {
+ alt8=1;
+ }
+ break;
case EOF:
case WhiteSpace:
case LineComment:
case FunctionIndent:
case LParen:
case Colon:
+ case EqEq:
case Seq:
case TabSeq:
case Star:
alt8=2;
}
break;
- case String:
- case PlainOneLine:
- {
- alt8=1;
- }
- break;
- case At:
- {
- alt8=3;
- }
- break;
default:
NoViableAltException nvae =
new NoViableAltException("", 8, 1, input);
case 1 :
// SilkLine.g:287:4: NodeIndent nodeItem
{
- NodeIndent10=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_silkNode963);
+ NodeIndent10=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_silkNode975);
stream_NodeIndent.add(NodeIndent10);
- pushFollow(FOLLOW_nodeItem_in_silkNode965);
+ pushFollow(FOLLOW_nodeItem_in_silkNode977);
nodeItem11=nodeItem();
state._fsp--;
case 2 :
// SilkLine.g:288:4: NodeIndent ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )?
{
- NodeIndent12=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_silkNode980);
+ NodeIndent12=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_silkNode992);
stream_NodeIndent.add(NodeIndent12);
// SilkLine.g:288:15: ( LParen attributeList RParen )?
case 1 :
// SilkLine.g:288:16: LParen attributeList RParen
{
- LParen13=(Token)match(input,LParen,FOLLOW_LParen_in_silkNode983);
+ LParen13=(Token)match(input,LParen,FOLLOW_LParen_in_silkNode995);
stream_LParen.add(LParen13);
- pushFollow(FOLLOW_attributeList_in_silkNode985);
+ pushFollow(FOLLOW_attributeList_in_silkNode997);
attributeList14=attributeList();
state._fsp--;
stream_attributeList.add(attributeList14.getTree());
- RParen15=(Token)match(input,RParen,FOLLOW_RParen_in_silkNode987);
+ RParen15=(Token)match(input,RParen,FOLLOW_RParen_in_silkNode999);
stream_RParen.add(RParen15);
int alt6=2;
int LA6_0 = input.LA(1);
- if ( ((LA6_0>=Seq && LA6_0<=Star)||LA6_0==Plus||LA6_0==Question) ) {
+ if ( ((LA6_0>=EqEq && LA6_0<=Star)||LA6_0==Plus||LA6_0==Question) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// SilkLine.g:288:46: plural
{
- pushFollow(FOLLOW_plural_in_silkNode991);
+ pushFollow(FOLLOW_plural_in_silkNode1003);
plural16=plural();
state._fsp--;
case 1 :
// SilkLine.g:288:55: Colon nodeValue
{
- Colon17=(Token)match(input,Colon,FOLLOW_Colon_in_silkNode995);
+ Colon17=(Token)match(input,Colon,FOLLOW_Colon_in_silkNode1007);
stream_Colon.add(Colon17);
- pushFollow(FOLLOW_nodeValue_in_silkNode997);
+ pushFollow(FOLLOW_nodeValue_in_silkNode1009);
nodeValue18=nodeValue();
state._fsp--;
// AST REWRITE
- // elements: attributeList, NodeIndent, plural, nodeValue
+ // elements: attributeList, NodeIndent, nodeValue, plural
// token labels:
// rule labels: retval
// token list labels:
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_function_in_silkNode1022);
+ pushFollow(FOLLOW_function_in_silkNode1034);
function19=function();
state._fsp--;
// SilkLine.g:294:9: ( nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )? -> Name[$nodeName.text.trim()] ( dataType )? ( attributeList )? ( plural )? ( nodeValue )? )
// SilkLine.g:294:11: nodeName ( dataType )? ( LParen attributeList RParen )? ( plural )? ( Colon nodeValue )?
{
- pushFollow(FOLLOW_nodeName_in_nodeItem1035);
+ pushFollow(FOLLOW_nodeName_in_nodeItem1047);
nodeName20=nodeName();
state._fsp--;
case 1 :
// SilkLine.g:294:20: dataType
{
- pushFollow(FOLLOW_dataType_in_nodeItem1037);
+ pushFollow(FOLLOW_dataType_in_nodeItem1049);
dataType21=dataType();
state._fsp--;
case 1 :
// SilkLine.g:294:32: LParen attributeList RParen
{
- LParen22=(Token)match(input,LParen,FOLLOW_LParen_in_nodeItem1042);
+ LParen22=(Token)match(input,LParen,FOLLOW_LParen_in_nodeItem1054);
stream_LParen.add(LParen22);
- pushFollow(FOLLOW_attributeList_in_nodeItem1044);
+ pushFollow(FOLLOW_attributeList_in_nodeItem1056);
attributeList23=attributeList();
state._fsp--;
stream_attributeList.add(attributeList23.getTree());
- RParen24=(Token)match(input,RParen,FOLLOW_RParen_in_nodeItem1046);
+ RParen24=(Token)match(input,RParen,FOLLOW_RParen_in_nodeItem1058);
stream_RParen.add(RParen24);
int alt11=2;
int LA11_0 = input.LA(1);
- if ( ((LA11_0>=Seq && LA11_0<=Star)||LA11_0==Plus||LA11_0==Question) ) {
+ if ( ((LA11_0>=EqEq && LA11_0<=Star)||LA11_0==Plus||LA11_0==Question) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// SilkLine.g:294:62: plural
{
- pushFollow(FOLLOW_plural_in_nodeItem1050);
+ pushFollow(FOLLOW_plural_in_nodeItem1062);
plural25=plural();
state._fsp--;
case 1 :
// SilkLine.g:294:71: Colon nodeValue
{
- Colon26=(Token)match(input,Colon,FOLLOW_Colon_in_nodeItem1054);
+ Colon26=(Token)match(input,Colon,FOLLOW_Colon_in_nodeItem1066);
stream_Colon.add(Colon26);
- pushFollow(FOLLOW_nodeValue_in_nodeItem1056);
+ pushFollow(FOLLOW_nodeValue_in_nodeItem1068);
nodeValue27=nodeValue();
state._fsp--;
// AST REWRITE
- // elements: dataType, attributeList, nodeValue, plural
+ // elements: dataType, plural, attributeList, nodeValue
// token labels:
// rule labels: retval
// token list labels:
{
root_0 = (Object)adaptor.nil();
- LBracket28=(Token)match(input,LBracket,FOLLOW_LBracket_in_dataType1089);
- pushFollow(FOLLOW_dataTypeName_in_dataType1092);
+ LBracket28=(Token)match(input,LBracket,FOLLOW_LBracket_in_dataType1101);
+ pushFollow(FOLLOW_dataTypeName_in_dataType1104);
dataTypeName29=dataTypeName();
state._fsp--;
adaptor.addChild(root_0, dataTypeName29.getTree());
- RBracket30=(Token)match(input,RBracket,FOLLOW_RBracket_in_dataType1094);
+ RBracket30=(Token)match(input,RBracket,FOLLOW_RBracket_in_dataType1106);
}
// SilkLine.g:303:13: ( PlainOneLine -> DataType[$dataTypeName.text] )
// SilkLine.g:303:15: PlainOneLine
{
- PlainOneLine31=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_dataTypeName1107);
+ PlainOneLine31=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_dataTypeName1119);
stream_PlainOneLine.add(PlainOneLine31);
{
root_0 = (Object)adaptor.nil();
- pushFollow(FOLLOW_attributeItem_in_attributeList1127);
+ pushFollow(FOLLOW_attributeItem_in_attributeList1139);
attributeItem32=attributeItem();
state._fsp--;
case 1 :
// SilkLine.g:308:31: Comma attributeItem
{
- Comma33=(Token)match(input,Comma,FOLLOW_Comma_in_attributeList1130);
- pushFollow(FOLLOW_attributeItem_in_attributeList1133);
+ Comma33=(Token)match(input,Comma,FOLLOW_Comma_in_attributeList1142);
+ pushFollow(FOLLOW_attributeItem_in_attributeList1145);
attributeItem34=attributeItem();
state._fsp--;
// SilkLine.g:311:14: ( nodeItem -> ^( SilkNode nodeItem ) )
// SilkLine.g:311:16: nodeItem
{
- pushFollow(FOLLOW_nodeItem_in_attributeItem1146);
+ pushFollow(FOLLOW_nodeItem_in_attributeItem1158);
nodeItem35=nodeItem();
state._fsp--;
}
// $ANTLR end "attributeItem"
- public static class seqseq_return extends ParserRuleReturnScope {
- Object tree;
- public Object getTree() { return tree; }
- };
-
- // $ANTLR start "seqseq"
- // SilkLine.g:313:1: fragment seqseq : Seq Seq ;
- public final SilkLineParser.seqseq_return seqseq() throws RecognitionException {
- SilkLineParser.seqseq_return retval = new SilkLineParser.seqseq_return();
- retval.start = input.LT(1);
-
- Object root_0 = null;
-
- Token Seq36=null;
- Token Seq37=null;
-
- Object Seq36_tree=null;
- Object Seq37_tree=null;
-
- try {
- // SilkLine.g:314:7: ( Seq Seq )
- // SilkLine.g:314:9: Seq Seq
- {
- root_0 = (Object)adaptor.nil();
-
- Seq36=(Token)match(input,Seq,FOLLOW_Seq_in_seqseq1163);
- Seq36_tree = (Object)adaptor.create(Seq36);
- adaptor.addChild(root_0, Seq36_tree);
-
- Seq37=(Token)match(input,Seq,FOLLOW_Seq_in_seqseq1165);
- Seq37_tree = (Object)adaptor.create(Seq37);
- adaptor.addChild(root_0, Seq37_tree);
-
-
- }
-
- retval.stop = input.LT(-1);
-
- retval.tree = (Object)adaptor.rulePostProcessing(root_0);
- adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
-
- }
- catch (RecognitionException re) {
- reportError(re);
- recover(input,re);
- retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
-
- }
- finally {
- }
- return retval;
- }
- // $ANTLR end "seqseq"
-
public static class plural_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "plural"
- // SilkLine.g:316:1: fragment plural : ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | seqseq -> Occurrence[\"MULTILINE_SEQUENCE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] );
+ // SilkLine.g:314:1: fragment plural : ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | EqEq -> Occurrence[\"MULTILINE_SEQUENCE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] | Seq Seq -> Occurrence[\"SEQUENCE_WITH_NEWLINE\"] );
public final SilkLineParser.plural_return plural() throws RecognitionException {
SilkLineParser.plural_return retval = new SilkLineParser.plural_return();
retval.start = input.LT(1);
Object root_0 = null;
- Token Star38=null;
- Token Plus39=null;
- Token Question40=null;
+ Token Star36=null;
+ Token Plus37=null;
+ Token Question38=null;
+ Token EqEq39=null;
+ Token Seq40=null;
+ Token TabSeq41=null;
Token Seq42=null;
- Token TabSeq43=null;
- SilkLineParser.seqseq_return seqseq41 = null;
-
-
- Object Star38_tree=null;
- Object Plus39_tree=null;
- Object Question40_tree=null;
+ Token Seq43=null;
+
+ Object Star36_tree=null;
+ Object Plus37_tree=null;
+ Object Question38_tree=null;
+ Object EqEq39_tree=null;
+ Object Seq40_tree=null;
+ Object TabSeq41_tree=null;
Object Seq42_tree=null;
- Object TabSeq43_tree=null;
+ Object Seq43_tree=null;
RewriteRuleTokenStream stream_Plus=new RewriteRuleTokenStream(adaptor,"token Plus");
+ RewriteRuleTokenStream stream_EqEq=new RewriteRuleTokenStream(adaptor,"token EqEq");
RewriteRuleTokenStream stream_TabSeq=new RewriteRuleTokenStream(adaptor,"token TabSeq");
RewriteRuleTokenStream stream_Question=new RewriteRuleTokenStream(adaptor,"token Question");
RewriteRuleTokenStream stream_Star=new RewriteRuleTokenStream(adaptor,"token Star");
RewriteRuleTokenStream stream_Seq=new RewriteRuleTokenStream(adaptor,"token Seq");
- RewriteRuleSubtreeStream stream_seqseq=new RewriteRuleSubtreeStream(adaptor,"rule seqseq");
+
try {
- // SilkLine.g:318:2: ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | seqseq -> Occurrence[\"MULTILINE_SEQUENCE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] )
- int alt14=6;
+ // SilkLine.g:316:2: ( Star -> Occurrence[\"ZERO_OR_MORE\"] | Plus -> Occurrence[\"ONE_OR_MORE\"] | Question -> Occurrence[\"ZERO_OR_ONE\"] | EqEq -> Occurrence[\"MULTILINE_SEQUENCE\"] | Seq -> Occurrence[\"SEQUENCE\"] | TabSeq -> Occurrence[\"TABBED_SEQUENCE\"] | Seq Seq -> Occurrence[\"SEQUENCE_WITH_NEWLINE\"] )
+ int alt14=7;
switch ( input.LA(1) ) {
case Star:
{
alt14=3;
}
break;
+ case EqEq:
+ {
+ alt14=4;
+ }
+ break;
case Seq:
{
- int LA14_4 = input.LA(2);
+ int LA14_5 = input.LA(2);
- if ( (LA14_4==Seq) ) {
- alt14=4;
+ if ( (LA14_5==Seq) ) {
+ alt14=7;
}
- else if ( (LA14_4==EOF||LA14_4==WhiteSpace||(LA14_4>=LineComment && LA14_4<=FunctionIndent)||(LA14_4>=RParen && LA14_4<=Colon)) ) {
+ else if ( (LA14_5==EOF||LA14_5==WhiteSpace||(LA14_5>=LineComment && LA14_5<=FunctionIndent)||(LA14_5>=RParen && LA14_5<=Colon)) ) {
alt14=5;
}
else {
NoViableAltException nvae =
- new NoViableAltException("", 14, 4, input);
+ new NoViableAltException("", 14, 5, input);
throw nvae;
}
switch (alt14) {
case 1 :
- // SilkLine.g:318:4: Star
+ // SilkLine.g:316:4: Star
{
- Star38=(Token)match(input,Star,FOLLOW_Star_in_plural1176);
- stream_Star.add(Star38);
+ Star36=(Token)match(input,Star,FOLLOW_Star_in_plural1178);
+ stream_Star.add(Star36);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 318:9: -> Occurrence[\"ZERO_OR_MORE\"]
+ // 316:9: -> Occurrence[\"ZERO_OR_MORE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "ZERO_OR_MORE"));
}
break;
case 2 :
- // SilkLine.g:319:4: Plus
+ // SilkLine.g:317:4: Plus
{
- Plus39=(Token)match(input,Plus,FOLLOW_Plus_in_plural1186);
- stream_Plus.add(Plus39);
+ Plus37=(Token)match(input,Plus,FOLLOW_Plus_in_plural1188);
+ stream_Plus.add(Plus37);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 319:9: -> Occurrence[\"ONE_OR_MORE\"]
+ // 317:9: -> Occurrence[\"ONE_OR_MORE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "ONE_OR_MORE"));
}
break;
case 3 :
- // SilkLine.g:320:4: Question
+ // SilkLine.g:318:4: Question
{
- Question40=(Token)match(input,Question,FOLLOW_Question_in_plural1196);
- stream_Question.add(Question40);
+ Question38=(Token)match(input,Question,FOLLOW_Question_in_plural1198);
+ stream_Question.add(Question38);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 320:13: -> Occurrence[\"ZERO_OR_ONE\"]
+ // 318:13: -> Occurrence[\"ZERO_OR_ONE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "ZERO_OR_ONE"));
}
break;
case 4 :
- // SilkLine.g:321:4: seqseq
+ // SilkLine.g:319:4: EqEq
{
- pushFollow(FOLLOW_seqseq_in_plural1206);
- seqseq41=seqseq();
+ EqEq39=(Token)match(input,EqEq,FOLLOW_EqEq_in_plural1208);
+ stream_EqEq.add(EqEq39);
- state._fsp--;
-
- stream_seqseq.add(seqseq41.getTree());
// AST REWRITE
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 321:11: -> Occurrence[\"MULTILINE_SEQUENCE\"]
+ // 319:9: -> Occurrence[\"MULTILINE_SEQUENCE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "MULTILINE_SEQUENCE"));
}
break;
case 5 :
- // SilkLine.g:322:4: Seq
+ // SilkLine.g:320:4: Seq
{
- Seq42=(Token)match(input,Seq,FOLLOW_Seq_in_plural1216);
- stream_Seq.add(Seq42);
+ Seq40=(Token)match(input,Seq,FOLLOW_Seq_in_plural1218);
+ stream_Seq.add(Seq40);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 322:8: -> Occurrence[\"SEQUENCE\"]
+ // 320:8: -> Occurrence[\"SEQUENCE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "SEQUENCE"));
}
break;
case 6 :
- // SilkLine.g:323:4: TabSeq
+ // SilkLine.g:321:4: TabSeq
{
- TabSeq43=(Token)match(input,TabSeq,FOLLOW_TabSeq_in_plural1226);
- stream_TabSeq.add(TabSeq43);
+ TabSeq41=(Token)match(input,TabSeq,FOLLOW_TabSeq_in_plural1228);
+ stream_TabSeq.add(TabSeq41);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 323:11: -> Occurrence[\"TABBED_SEQUENCE\"]
+ // 321:11: -> Occurrence[\"TABBED_SEQUENCE\"]
{
adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "TABBED_SEQUENCE"));
retval.tree = root_0;
}
break;
+ case 7 :
+ // SilkLine.g:322:4: Seq Seq
+ {
+ Seq42=(Token)match(input,Seq,FOLLOW_Seq_in_plural1238);
+ stream_Seq.add(Seq42);
+
+ Seq43=(Token)match(input,Seq,FOLLOW_Seq_in_plural1240);
+ stream_Seq.add(Seq43);
+
+
+
+ // AST REWRITE
+ // elements:
+ // token labels:
+ // rule labels: retval
+ // token list labels:
+ // rule list labels:
+ // wildcard labels:
+ retval.tree = root_0;
+ RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
+
+ root_0 = (Object)adaptor.nil();
+ // 322:12: -> Occurrence[\"SEQUENCE_WITH_NEWLINE\"]
+ {
+ adaptor.addChild(root_0, (Object)adaptor.create(Occurrence, "SEQUENCE_WITH_NEWLINE"));
+
+ }
+
+ retval.tree = root_0;
+ }
+ break;
}
retval.stop = input.LT(-1);
};
// $ANTLR start "function"
- // SilkLine.g:326: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 )* ) );
+ // SilkLine.g:325: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 SilkLineParser.function_return function() throws RecognitionException {
SilkLineParser.function_return retval = new SilkLineParser.function_return();
retval.start = input.LT(1);
RewriteRuleSubtreeStream stream_function_i=new RewriteRuleSubtreeStream(adaptor,"rule function_i");
RewriteRuleSubtreeStream stream_functionArg=new RewriteRuleSubtreeStream(adaptor,"rule functionArg");
try {
- // SilkLine.g:327:2: ( NodeIndent function_i -> ^( Function NodeIndent function_i ) | FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* ) )
+ // SilkLine.g:326: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 alt17=2;
int LA17_0 = input.LA(1);
}
switch (alt17) {
case 1 :
- // SilkLine.g:327:4: NodeIndent function_i
+ // SilkLine.g:326:4: NodeIndent function_i
{
- NodeIndent44=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_function1242);
+ NodeIndent44=(Token)match(input,NodeIndent,FOLLOW_NodeIndent_in_function1259);
stream_NodeIndent.add(NodeIndent44);
- pushFollow(FOLLOW_function_i_in_function1244);
+ pushFollow(FOLLOW_function_i_in_function1261);
function_i45=function_i();
state._fsp--;
// AST REWRITE
- // elements: function_i, NodeIndent
+ // elements: NodeIndent, function_i
// token labels:
// rule labels: retval
// token list labels:
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 328:2: -> ^( Function NodeIndent function_i )
+ // 327:2: -> ^( Function NodeIndent function_i )
{
- // SilkLine.g:328:5: ^( Function NodeIndent function_i )
+ // SilkLine.g:327:5: ^( Function NodeIndent function_i )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(Function, "Function"), root_1);
}
break;
case 2 :
- // SilkLine.g:329:4: FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen
+ // SilkLine.g:328:4: FunctionIndent PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen
{
- FunctionIndent46=(Token)match(input,FunctionIndent,FOLLOW_FunctionIndent_in_function1260);
+ FunctionIndent46=(Token)match(input,FunctionIndent,FOLLOW_FunctionIndent_in_function1277);
stream_FunctionIndent.add(FunctionIndent46);
- PlainOneLine47=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_function1262);
+ PlainOneLine47=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_function1279);
stream_PlainOneLine.add(PlainOneLine47);
- LParen48=(Token)match(input,LParen,FOLLOW_LParen_in_function1264);
+ LParen48=(Token)match(input,LParen,FOLLOW_LParen_in_function1281);
stream_LParen.add(LParen48);
- // SilkLine.g:329:39: ( functionArg ( Comma functionArg )* )?
+ // SilkLine.g:328:39: ( functionArg ( Comma functionArg )* )?
int alt16=2;
int LA16_0 = input.LA(1);
}
switch (alt16) {
case 1 :
- // SilkLine.g:329:40: functionArg ( Comma functionArg )*
+ // SilkLine.g:328:40: functionArg ( Comma functionArg )*
{
- pushFollow(FOLLOW_functionArg_in_function1267);
+ pushFollow(FOLLOW_functionArg_in_function1284);
functionArg49=functionArg();
state._fsp--;
stream_functionArg.add(functionArg49.getTree());
- // SilkLine.g:329:52: ( Comma functionArg )*
+ // SilkLine.g:328:52: ( Comma functionArg )*
loop15:
do {
int alt15=2;
switch (alt15) {
case 1 :
- // SilkLine.g:329:53: Comma functionArg
+ // SilkLine.g:328:53: Comma functionArg
{
- Comma50=(Token)match(input,Comma,FOLLOW_Comma_in_function1270);
+ Comma50=(Token)match(input,Comma,FOLLOW_Comma_in_function1287);
stream_Comma.add(Comma50);
- pushFollow(FOLLOW_functionArg_in_function1272);
+ pushFollow(FOLLOW_functionArg_in_function1289);
functionArg51=functionArg();
state._fsp--;
}
- RParen52=(Token)match(input,RParen,FOLLOW_RParen_in_function1278);
+ RParen52=(Token)match(input,RParen,FOLLOW_RParen_in_function1295);
stream_RParen.add(RParen52);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 330:2: -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* )
+ // 329:2: -> ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* )
{
- // SilkLine.g:330:5: ^( Function NodeIndent[$FunctionIndent.text] Name[$PlainOneLine.text.trim()] ( functionArg )* )
+ // SilkLine.g:329: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, (FunctionIndent46!=null?FunctionIndent46.getText():null)));
adaptor.addChild(root_1, (Object)adaptor.create(Name, (PlainOneLine47!=null?PlainOneLine47.getText():null).trim()));
- // SilkLine.g:330:81: ( functionArg )*
+ // SilkLine.g:329:81: ( functionArg )*
while ( stream_functionArg.hasNext() ) {
adaptor.addChild(root_1, stream_functionArg.nextTree());
};
// $ANTLR start "function_i"
- // SilkLine.g:333:1: fragment function_i : At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ;
+ // SilkLine.g:332:1: fragment function_i : At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* ;
public final SilkLineParser.function_i_return function_i() throws RecognitionException {
SilkLineParser.function_i_return retval = new SilkLineParser.function_i_return();
retval.start = input.LT(1);
RewriteRuleTokenStream stream_LParen=new RewriteRuleTokenStream(adaptor,"token LParen");
RewriteRuleSubtreeStream stream_functionArg=new RewriteRuleSubtreeStream(adaptor,"rule functionArg");
try {
- // SilkLine.g:334:11: ( At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* )
- // SilkLine.g:334:13: At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen
+ // SilkLine.g:333:11: ( At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen -> Name[$PlainOneLine.text.trim()] ( functionArg )* )
+ // SilkLine.g:333:13: At PlainOneLine LParen ( functionArg ( Comma functionArg )* )? RParen
{
- At53=(Token)match(input,At,FOLLOW_At_in_function_i1305);
+ At53=(Token)match(input,At,FOLLOW_At_in_function_i1322);
stream_At.add(At53);
- PlainOneLine54=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_function_i1307);
+ PlainOneLine54=(Token)match(input,PlainOneLine,FOLLOW_PlainOneLine_in_function_i1324);
stream_PlainOneLine.add(PlainOneLine54);
- LParen55=(Token)match(input,LParen,FOLLOW_LParen_in_function_i1309);
+ LParen55=(Token)match(input,LParen,FOLLOW_LParen_in_function_i1326);
stream_LParen.add(LParen55);
- // SilkLine.g:334:36: ( functionArg ( Comma functionArg )* )?
+ // SilkLine.g:333:36: ( functionArg ( Comma functionArg )* )?
int alt19=2;
int LA19_0 = input.LA(1);
}
switch (alt19) {
case 1 :
- // SilkLine.g:334:37: functionArg ( Comma functionArg )*
+ // SilkLine.g:333:37: functionArg ( Comma functionArg )*
{
- pushFollow(FOLLOW_functionArg_in_function_i1312);
+ pushFollow(FOLLOW_functionArg_in_function_i1329);
functionArg56=functionArg();
state._fsp--;
stream_functionArg.add(functionArg56.getTree());
- // SilkLine.g:334:49: ( Comma functionArg )*
+ // SilkLine.g:333:49: ( Comma functionArg )*
loop18:
do {
int alt18=2;
switch (alt18) {
case 1 :
- // SilkLine.g:334:50: Comma functionArg
+ // SilkLine.g:333:50: Comma functionArg
{
- Comma57=(Token)match(input,Comma,FOLLOW_Comma_in_function_i1315);
+ Comma57=(Token)match(input,Comma,FOLLOW_Comma_in_function_i1332);
stream_Comma.add(Comma57);
- pushFollow(FOLLOW_functionArg_in_function_i1317);
+ pushFollow(FOLLOW_functionArg_in_function_i1334);
functionArg58=functionArg();
state._fsp--;
}
- RParen59=(Token)match(input,RParen,FOLLOW_RParen_in_function_i1323);
+ RParen59=(Token)match(input,RParen,FOLLOW_RParen_in_function_i1340);
stream_RParen.add(RParen59);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 335:2: -> Name[$PlainOneLine.text.trim()] ( functionArg )*
+ // 334:2: -> Name[$PlainOneLine.text.trim()] ( functionArg )*
{
adaptor.addChild(root_0, (Object)adaptor.create(Name, (PlainOneLine54!=null?PlainOneLine54.getText():null).trim()));
- // SilkLine.g:335:37: ( functionArg )*
+ // SilkLine.g:334:37: ( functionArg )*
while ( stream_functionArg.hasNext() ) {
adaptor.addChild(root_0, stream_functionArg.nextTree());
};
// $ANTLR start "functionArg"
- // SilkLine.g:338:1: fragment functionArg : ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] ) );
+ // SilkLine.g:337:1: fragment functionArg : ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] ) );
public final SilkLineParser.functionArg_return functionArg() throws RecognitionException {
SilkLineParser.functionArg_return retval = new SilkLineParser.functionArg_return();
retval.start = input.LT(1);
RewriteRuleSubtreeStream stream_nodeName=new RewriteRuleSubtreeStream(adaptor,"rule nodeName");
RewriteRuleSubtreeStream stream_nodeValue=new RewriteRuleSubtreeStream(adaptor,"rule nodeValue");
try {
- // SilkLine.g:340:2: ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] ) )
+ // SilkLine.g:339:2: ( nodeValue -> Argument[$functionArg.text] | nodeName Colon nodeValue -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] ) )
int alt20=2;
switch ( input.LA(1) ) {
case At:
switch (alt20) {
case 1 :
- // SilkLine.g:340:4: nodeValue
+ // SilkLine.g:339:4: nodeValue
{
- pushFollow(FOLLOW_nodeValue_in_functionArg1345);
+ pushFollow(FOLLOW_nodeValue_in_functionArg1362);
nodeValue60=nodeValue();
state._fsp--;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 340:14: -> Argument[$functionArg.text]
+ // 339:14: -> Argument[$functionArg.text]
{
adaptor.addChild(root_0, (Object)adaptor.create(Argument, input.toString(retval.start,input.LT(-1))));
}
break;
case 2 :
- // SilkLine.g:341:4: nodeName Colon nodeValue
+ // SilkLine.g:340:4: nodeName Colon nodeValue
{
- pushFollow(FOLLOW_nodeName_in_functionArg1355);
+ pushFollow(FOLLOW_nodeName_in_functionArg1372);
nodeName61=nodeName();
state._fsp--;
stream_nodeName.add(nodeName61.getTree());
- Colon62=(Token)match(input,Colon,FOLLOW_Colon_in_functionArg1357);
+ Colon62=(Token)match(input,Colon,FOLLOW_Colon_in_functionArg1374);
stream_Colon.add(Colon62);
- pushFollow(FOLLOW_nodeValue_in_functionArg1359);
+ pushFollow(FOLLOW_nodeValue_in_functionArg1376);
nodeValue63=nodeValue();
state._fsp--;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
- // 341:29: -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] )
+ // 340:29: -> ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] )
{
- // SilkLine.g:341:32: ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] )
+ // SilkLine.g:340:32: ^( KeyValuePair Key[$nodeName.text.trim()] Value[$nodeValue.text.trim()] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(KeyValuePair, "KeyValuePair"), root_1);
- public static final BitSet FOLLOW_silkLine_in_silkFile858 = new BitSet(new long[]{0x00000000000E8002L});
- public static final BitSet FOLLOW_silkNode_in_silkLine879 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LineComment_in_silkLine885 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_WhiteSpace_in_silkLine890 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_silkLine_in_silkFile870 = new BitSet(new long[]{0x00000000000E8002L});
+ public static final BitSet FOLLOW_silkNode_in_silkLine891 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LineComment_in_silkLine897 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_WhiteSpace_in_silkLine902 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_nodeName0 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_function_i_in_nodeValue920 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_PlainOneLine_in_nodeValue934 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_String_in_nodeValue938 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_JSON_in_nodeValue949 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NodeIndent_in_silkNode963 = new BitSet(new long[]{0x0004010000000000L});
- public static final BitSet FOLLOW_nodeItem_in_silkNode965 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NodeIndent_in_silkNode980 = new BitSet(new long[]{0x000000012F200002L});
- public static final BitSet FOLLOW_LParen_in_silkNode983 = new BitSet(new long[]{0x0004010000000000L});
- public static final BitSet FOLLOW_attributeList_in_silkNode985 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_RParen_in_silkNode987 = new BitSet(new long[]{0x000000012F000002L});
- public static final BitSet FOLLOW_plural_in_silkNode991 = new BitSet(new long[]{0x0000000001000002L});
- public static final BitSet FOLLOW_Colon_in_silkNode995 = new BitSet(new long[]{0x000C010010000000L});
- public static final BitSet FOLLOW_nodeValue_in_silkNode997 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_function_in_silkNode1022 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_nodeName_in_nodeItem1035 = new BitSet(new long[]{0x000000016F200002L});
- public static final BitSet FOLLOW_dataType_in_nodeItem1037 = new BitSet(new long[]{0x000000012F200002L});
- public static final BitSet FOLLOW_LParen_in_nodeItem1042 = new BitSet(new long[]{0x0004010000000000L});
- public static final BitSet FOLLOW_attributeList_in_nodeItem1044 = new BitSet(new long[]{0x0000000000400000L});
- public static final BitSet FOLLOW_RParen_in_nodeItem1046 = new BitSet(new long[]{0x000000012F000002L});
- public static final BitSet FOLLOW_plural_in_nodeItem1050 = new BitSet(new long[]{0x0000000001000002L});
- public static final BitSet FOLLOW_Colon_in_nodeItem1054 = new BitSet(new long[]{0x000C010010000000L});
- public static final BitSet FOLLOW_nodeValue_in_nodeItem1056 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_LBracket_in_dataType1089 = new BitSet(new long[]{0x0004000000000000L});
- public static final BitSet FOLLOW_dataTypeName_in_dataType1092 = new BitSet(new long[]{0x0000000080000000L});
- public static final BitSet FOLLOW_RBracket_in_dataType1094 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_PlainOneLine_in_dataTypeName1107 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_attributeItem_in_attributeList1127 = new BitSet(new long[]{0x0000000000800002L});
- public static final BitSet FOLLOW_Comma_in_attributeList1130 = new BitSet(new long[]{0x0004010000000000L});
- public static final BitSet FOLLOW_attributeItem_in_attributeList1133 = new BitSet(new long[]{0x0000000000800002L});
- public static final BitSet FOLLOW_nodeItem_in_attributeItem1146 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_Seq_in_seqseq1163 = new BitSet(new long[]{0x0000000002000000L});
- public static final BitSet FOLLOW_Seq_in_seqseq1165 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_Star_in_plural1176 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_Plus_in_plural1186 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_Question_in_plural1196 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_seqseq_in_plural1206 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_Seq_in_plural1216 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_TabSeq_in_plural1226 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_NodeIndent_in_function1242 = new BitSet(new long[]{0x0000000010000000L});
- public static final BitSet FOLLOW_function_i_in_function1244 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_FunctionIndent_in_function1260 = new BitSet(new long[]{0x0004000000000000L});
- public static final BitSet FOLLOW_PlainOneLine_in_function1262 = new BitSet(new long[]{0x0000000000200000L});
- public static final BitSet FOLLOW_LParen_in_function1264 = new BitSet(new long[]{0x000C010010400000L});
- public static final BitSet FOLLOW_functionArg_in_function1267 = new BitSet(new long[]{0x0000000000C00000L});
- public static final BitSet FOLLOW_Comma_in_function1270 = new BitSet(new long[]{0x000C010010000000L});
- public static final BitSet FOLLOW_functionArg_in_function1272 = new BitSet(new long[]{0x0000000000C00000L});
- public static final BitSet FOLLOW_RParen_in_function1278 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_At_in_function_i1305 = new BitSet(new long[]{0x0004000000000000L});
- public static final BitSet FOLLOW_PlainOneLine_in_function_i1307 = new BitSet(new long[]{0x0000000000200000L});
- public static final BitSet FOLLOW_LParen_in_function_i1309 = new BitSet(new long[]{0x000C010010400000L});
- public static final BitSet FOLLOW_functionArg_in_function_i1312 = new BitSet(new long[]{0x0000000000C00000L});
- public static final BitSet FOLLOW_Comma_in_function_i1315 = new BitSet(new long[]{0x000C010010000000L});
- public static final BitSet FOLLOW_functionArg_in_function_i1317 = new BitSet(new long[]{0x0000000000C00000L});
- public static final BitSet FOLLOW_RParen_in_function_i1323 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_nodeValue_in_functionArg1345 = new BitSet(new long[]{0x0000000000000002L});
- public static final BitSet FOLLOW_nodeName_in_functionArg1355 = new BitSet(new long[]{0x0000000001000000L});
- public static final BitSet FOLLOW_Colon_in_functionArg1357 = new BitSet(new long[]{0x000C010010000000L});
- public static final BitSet FOLLOW_nodeValue_in_functionArg1359 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_function_i_in_nodeValue932 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_PlainOneLine_in_nodeValue946 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_String_in_nodeValue950 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_JSON_in_nodeValue961 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NodeIndent_in_silkNode975 = new BitSet(new long[]{0x0008020000000000L});
+ public static final BitSet FOLLOW_nodeItem_in_silkNode977 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NodeIndent_in_silkNode992 = new BitSet(new long[]{0x000000025F200002L});
+ public static final BitSet FOLLOW_LParen_in_silkNode995 = new BitSet(new long[]{0x0008020000000000L});
+ public static final BitSet FOLLOW_attributeList_in_silkNode997 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_RParen_in_silkNode999 = new BitSet(new long[]{0x000000025F000002L});
+ public static final BitSet FOLLOW_plural_in_silkNode1003 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_Colon_in_silkNode1007 = new BitSet(new long[]{0x0018020020000000L});
+ public static final BitSet FOLLOW_nodeValue_in_silkNode1009 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_function_in_silkNode1034 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_nodeName_in_nodeItem1047 = new BitSet(new long[]{0x00000002DF200002L});
+ public static final BitSet FOLLOW_dataType_in_nodeItem1049 = new BitSet(new long[]{0x000000025F200002L});
+ public static final BitSet FOLLOW_LParen_in_nodeItem1054 = new BitSet(new long[]{0x0008020000000000L});
+ public static final BitSet FOLLOW_attributeList_in_nodeItem1056 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_RParen_in_nodeItem1058 = new BitSet(new long[]{0x000000025F000002L});
+ public static final BitSet FOLLOW_plural_in_nodeItem1062 = new BitSet(new long[]{0x0000000001000002L});
+ public static final BitSet FOLLOW_Colon_in_nodeItem1066 = new BitSet(new long[]{0x0018020020000000L});
+ public static final BitSet FOLLOW_nodeValue_in_nodeItem1068 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_LBracket_in_dataType1101 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_dataTypeName_in_dataType1104 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_RBracket_in_dataType1106 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_PlainOneLine_in_dataTypeName1119 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_attributeItem_in_attributeList1139 = new BitSet(new long[]{0x0000000000800002L});
+ public static final BitSet FOLLOW_Comma_in_attributeList1142 = new BitSet(new long[]{0x0008020000000000L});
+ public static final BitSet FOLLOW_attributeItem_in_attributeList1145 = new BitSet(new long[]{0x0000000000800002L});
+ public static final BitSet FOLLOW_nodeItem_in_attributeItem1158 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Star_in_plural1178 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Plus_in_plural1188 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Question_in_plural1198 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_EqEq_in_plural1208 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Seq_in_plural1218 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_TabSeq_in_plural1228 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_Seq_in_plural1238 = new BitSet(new long[]{0x0000000004000000L});
+ public static final BitSet FOLLOW_Seq_in_plural1240 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_NodeIndent_in_function1259 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_function_i_in_function1261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_FunctionIndent_in_function1277 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_PlainOneLine_in_function1279 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_LParen_in_function1281 = new BitSet(new long[]{0x0018020020400000L});
+ public static final BitSet FOLLOW_functionArg_in_function1284 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_Comma_in_function1287 = new BitSet(new long[]{0x0018020020000000L});
+ public static final BitSet FOLLOW_functionArg_in_function1289 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_RParen_in_function1295 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_At_in_function_i1322 = new BitSet(new long[]{0x0008000000000000L});
+ public static final BitSet FOLLOW_PlainOneLine_in_function_i1324 = new BitSet(new long[]{0x0000000000200000L});
+ public static final BitSet FOLLOW_LParen_in_function_i1326 = new BitSet(new long[]{0x0018020020400000L});
+ public static final BitSet FOLLOW_functionArg_in_function_i1329 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_Comma_in_function_i1332 = new BitSet(new long[]{0x0018020020000000L});
+ public static final BitSet FOLLOW_functionArg_in_function_i1334 = new BitSet(new long[]{0x0000000000C00000L});
+ public static final BitSet FOLLOW_RParen_in_function_i1340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_nodeValue_in_functionArg1362 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_nodeName_in_functionArg1372 = new BitSet(new long[]{0x0000000001000000L});
+ public static final BitSet FOLLOW_Colon_in_functionArg1374 = new BitSet(new long[]{0x0018020020000000L});
+ public static final BitSet FOLLOW_nodeValue_in_functionArg1376 = new BitSet(new long[]{0x0000000000000002L});
}
\ No newline at end of file