예제 #1
0
 static {
   int numStates = DFA4_transitionS.length;
   DFA4_transition = new short[numStates][];
   for (int i = 0; i < numStates; i++) {
     DFA4_transition[i] = DFA.unpackEncodedString(DFA4_transitionS[i]);
   }
 }
예제 #2
0
@SuppressWarnings({"all", "warnings", "unchecked"})
public class RobotLexer extends Lexer {
  public static final int EOF = -1;
  public static final int T__8 = 8;
  public static final int T__9 = 9;
  public static final int T__10 = 10;
  public static final int T__11 = 11;
  public static final int T__12 = 12;
  public static final int T__13 = 13;
  public static final int T__14 = 14;
  public static final int T__15 = 15;
  public static final int T__16 = 16;
  public static final int T__17 = 17;
  public static final int T__18 = 18;
  public static final int T__19 = 19;
  public static final int T__20 = 20;
  public static final int T__21 = 21;
  public static final int T__22 = 22;
  public static final int T__23 = 23;
  public static final int T__24 = 24;
  public static final int T__25 = 25;
  public static final int T__26 = 26;
  public static final int T__27 = 27;
  public static final int T__28 = 28;
  public static final int T__29 = 29;
  public static final int T__30 = 30;
  public static final int T__31 = 31;
  public static final int T__32 = 32;
  public static final int T__33 = 33;
  public static final int T__34 = 34;
  public static final int T__35 = 35;
  public static final int T__36 = 36;
  public static final int LINEBREAK = 4;
  public static final int STRING_LITERAL = 5;
  public static final int TEXT = 6;
  public static final int WHITESPACE = 7;

  public java.util.List<org.antlr.runtime3_4_0.RecognitionException> lexerExceptions =
      new java.util.ArrayList<org.antlr.runtime3_4_0.RecognitionException>();
  public java.util.List<Integer> lexerExceptionsPosition = new java.util.ArrayList<Integer>();

  public void reportError(org.antlr.runtime3_4_0.RecognitionException e) {
    lexerExceptions.add(e);
    lexerExceptionsPosition.add(((org.antlr.runtime3_4_0.ANTLRStringStream) input).index());
  }

  // delegates
  // delegators
  public Lexer[] getDelegates() {
    return new Lexer[] {};
  }

  public RobotLexer() {}

  public RobotLexer(CharStream input) {
    this(input, new RecognizerSharedState());
  }

  public RobotLexer(CharStream input, RecognizerSharedState state) {
    super(input, state);
  }

  public String getGrammarFileName() {
    return "Robot.g";
  }

  // $ANTLR start "T__8"
  public final void mT__8() throws RecognitionException {
    try {
      int _type = T__8;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:15:6: ( '(' )
      // Robot.g:15:8: '('
      {
        match('(');
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__8"

  // $ANTLR start "T__9"
  public final void mT__9() throws RecognitionException {
    try {
      int _type = T__9;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:16:6: ( ')' )
      // Robot.g:16:8: ')'
      {
        match(')');
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__9"

  // $ANTLR start "T__10"
  public final void mT__10() throws RecognitionException {
    try {
      int _type = T__10;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:17:7: ( ',' )
      // Robot.g:17:9: ','
      {
        match(',');
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__10"

  // $ANTLR start "T__11"
  public final void mT__11() throws RecognitionException {
    try {
      int _type = T__11;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:18:7: ( '=' )
      // Robot.g:18:9: '='
      {
        match('=');
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__11"

  // $ANTLR start "T__12"
  public final void mT__12() throws RecognitionException {
    try {
      int _type = T__12;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:19:7: ( 'and' )
      // Robot.g:19:9: 'and'
      {
        match("and");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__12"

  // $ANTLR start "T__13"
  public final void mT__13() throws RecognitionException {
    try {
      int _type = T__13;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:20:7: ( 'angle' )
      // Robot.g:20:9: 'angle'
      {
        match("angle");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__13"

  // $ANTLR start "T__14"
  public final void mT__14() throws RecognitionException {
    try {
      int _type = T__14;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:21:7: ( 'bip' )
      // Robot.g:21:9: 'bip'
      {
        match("bip");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__14"

  // $ANTLR start "T__15"
  public final void mT__15() throws RecognitionException {
    try {
      int _type = T__15;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:22:7: ( 'col' )
      // Robot.g:22:9: 'col'
      {
        match("col");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__15"

  // $ANTLR start "T__16"
  public final void mT__16() throws RecognitionException {
    try {
      int _type = T__16;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:23:7: ( 'display' )
      // Robot.g:23:9: 'display'
      {
        match("display");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__16"

  // $ANTLR start "T__17"
  public final void mT__17() throws RecognitionException {
    try {
      int _type = T__17;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:24:7: ( 'distance' )
      // Robot.g:24:9: 'distance'
      {
        match("distance");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__17"

  // $ANTLR start "T__18"
  public final void mT__18() throws RecognitionException {
    try {
      int _type = T__18;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:25:7: ( 'do' )
      // Robot.g:25:9: 'do'
      {
        match("do");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__18"

  // $ANTLR start "T__19"
  public final void mT__19() throws RecognitionException {
    try {
      int _type = T__19;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:26:7: ( 'duration' )
      // Robot.g:26:9: 'duration'
      {
        match("duration");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__19"

  // $ANTLR start "T__20"
  public final void mT__20() throws RecognitionException {
    try {
      int _type = T__20;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:27:7: ( 'end' )
      // Robot.g:27:9: 'end'
      {
        match("end");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__20"

  // $ANTLR start "T__21"
  public final void mT__21() throws RecognitionException {
    try {
      int _type = T__21;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:28:7: ( 'hasTurned' )
      // Robot.g:28:9: 'hasTurned'
      {
        match("hasTurned");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__21"

  // $ANTLR start "T__22"
  public final void mT__22() throws RecognitionException {
    try {
      int _type = T__22;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:29:7: ( 'if' )
      // Robot.g:29:9: 'if'
      {
        match("if");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__22"

  // $ANTLR start "T__23"
  public final void mT__23() throws RecognitionException {
    try {
      int _type = T__23;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:30:7: ( 'line' )
      // Robot.g:30:9: 'line'
      {
        match("line");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__23"

  // $ANTLR start "T__24"
  public final void mT__24() throws RecognitionException {
    try {
      int _type = T__24;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:31:7: ( 'move' )
      // Robot.g:31:9: 'move'
      {
        match("move");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__24"

  // $ANTLR start "T__25"
  public final void mT__25() throws RecognitionException {
    try {
      int _type = T__25;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:32:7: ( 'msg' )
      // Robot.g:32:9: 'msg'
      {
        match("msg");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__25"

  // $ANTLR start "T__26"
  public final void mT__26() throws RecognitionException {
    try {
      int _type = T__26;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:33:7: ( 'not' )
      // Robot.g:33:9: 'not'
      {
        match("not");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__26"

  // $ANTLR start "T__27"
  public final void mT__27() throws RecognitionException {
    try {
      int _type = T__27;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:34:7: ( 'obstacle' )
      // Robot.g:34:9: 'obstacle'
      {
        match("obstacle");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__27"

  // $ANTLR start "T__28"
  public final void mT__28() throws RecognitionException {
    try {
      int _type = T__28;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:35:7: ( 'or' )
      // Robot.g:35:9: 'or'
      {
        match("or");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__28"

  // $ANTLR start "T__29"
  public final void mT__29() throws RecognitionException {
    try {
      int _type = T__29;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:36:7: ( 'power' )
      // Robot.g:36:9: 'power'
      {
        match("power");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__29"

  // $ANTLR start "T__30"
  public final void mT__30() throws RecognitionException {
    try {
      int _type = T__30;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:37:7: ( 'repeat' )
      // Robot.g:37:9: 'repeat'
      {
        match("repeat");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__30"

  // $ANTLR start "T__31"
  public final void mT__31() throws RecognitionException {
    try {
      int _type = T__31;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:38:7: ( 'setTurnAngle' )
      // Robot.g:38:9: 'setTurnAngle'
      {
        match("setTurnAngle");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__31"

  // $ANTLR start "T__32"
  public final void mT__32() throws RecognitionException {
    try {
      int _type = T__32;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:39:7: ( 'stopEngine' )
      // Robot.g:39:9: 'stopEngine'
      {
        match("stopEngine");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__32"

  // $ANTLR start "T__33"
  public final void mT__33() throws RecognitionException {
    try {
      int _type = T__33;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:40:7: ( 'stopProgram' )
      // Robot.g:40:9: 'stopProgram'
      {
        match("stopProgram");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__33"

  // $ANTLR start "T__34"
  public final void mT__34() throws RecognitionException {
    try {
      int _type = T__34;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:41:7: ( 'then' )
      // Robot.g:41:9: 'then'
      {
        match("then");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__34"

  // $ANTLR start "T__35"
  public final void mT__35() throws RecognitionException {
    try {
      int _type = T__35;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:42:7: ( 'turn' )
      // Robot.g:42:9: 'turn'
      {
        match("turn");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__35"

  // $ANTLR start "T__36"
  public final void mT__36() throws RecognitionException {
    try {
      int _type = T__36;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:43:7: ( 'while' )
      // Robot.g:43:9: 'while'
      {
        match("while");
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "T__36"

  // $ANTLR start "STRING_LITERAL"
  public final void mSTRING_LITERAL() throws RecognitionException {
    try {
      int _type = STRING_LITERAL;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:2479:15: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\'
      // ) | ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A'
      // .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
      // ) | '\\\\' ( '0' .. '7' ) |~ ( '\\\\' | '\"' ) )* '\"' ) )
      // Robot.g:2480:2: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) |
      // ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' ..
      // 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) |
      // '\\\\' ( '0' .. '7' ) |~ ( '\\\\' | '\"' ) )* '\"' )
      {
        // Robot.g:2480:2: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
        // | ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A'
        // .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F'
        // ) ) | '\\\\' ( '0' .. '7' ) |~ ( '\\\\' | '\"' ) )* '\"' )
        // Robot.g:2480:2: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) |
        // ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' ..
        // 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
        // | '\\\\' ( '0' .. '7' ) |~ ( '\\\\' | '\"' ) )* '\"'
        {
          match('\"');

          // Robot.g:2480:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | (
          // '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' ..
          // 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )
          // ) | '\\\\' ( '0' .. '7' ) |~ ( '\\\\' | '\"' ) )*
          loop1:
          do {
            int alt1 = 5;
            int LA1_0 = input.LA(1);

            if ((LA1_0 == '\\')) {
              switch (input.LA(2)) {
                case '\"':
                case '\'':
                case '\\':
                case 'b':
                case 'f':
                case 'n':
                case 'r':
                case 't':
                  {
                    alt1 = 1;
                  }
                  break;
                case 'u':
                  {
                    alt1 = 2;
                  }
                  break;
                case '0':
                case '1':
                case '2':
                case '3':
                case '4':
                case '5':
                case '6':
                case '7':
                  {
                    alt1 = 3;
                  }
                  break;
              }

            } else if (((LA1_0 >= '\u0000' && LA1_0 <= '!')
                || (LA1_0 >= '#' && LA1_0 <= '[')
                || (LA1_0 >= ']' && LA1_0 <= '\uFFFF'))) {
              alt1 = 4;
            }

            switch (alt1) {
              case 1:
                // Robot.g:2480:6: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' )
                {
                  match('\\');

                  if (input.LA(1) == '\"'
                      || input.LA(1) == '\''
                      || input.LA(1) == '\\'
                      || input.LA(1) == 'b'
                      || input.LA(1) == 'f'
                      || input.LA(1) == 'n'
                      || input.LA(1) == 'r'
                      || input.LA(1) == 't') {
                    input.consume();
                  } else {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    recover(mse);
                    throw mse;
                  }
                }
                break;
              case 2:
                // Robot.g:2480:47: ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' ..
                // '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' ..
                // '9' | 'a' .. 'f' | 'A' .. 'F' ) )
                {
                  // Robot.g:2480:47: ( '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' ..
                  // '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0'
                  // .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
                  // Robot.g:2480:48: '\\\\' 'u' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' ..
                  // '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ( '0'
                  // .. '9' | 'a' .. 'f' | 'A' .. 'F' )
                  {
                    match('\\');

                    match('u');

                    if ((input.LA(1) >= '0' && input.LA(1) <= '9')
                        || (input.LA(1) >= 'A' && input.LA(1) <= 'F')
                        || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
                      input.consume();
                    } else {
                      MismatchedSetException mse = new MismatchedSetException(null, input);
                      recover(mse);
                      throw mse;
                    }

                    if ((input.LA(1) >= '0' && input.LA(1) <= '9')
                        || (input.LA(1) >= 'A' && input.LA(1) <= 'F')
                        || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
                      input.consume();
                    } else {
                      MismatchedSetException mse = new MismatchedSetException(null, input);
                      recover(mse);
                      throw mse;
                    }

                    if ((input.LA(1) >= '0' && input.LA(1) <= '9')
                        || (input.LA(1) >= 'A' && input.LA(1) <= 'F')
                        || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
                      input.consume();
                    } else {
                      MismatchedSetException mse = new MismatchedSetException(null, input);
                      recover(mse);
                      throw mse;
                    }

                    if ((input.LA(1) >= '0' && input.LA(1) <= '9')
                        || (input.LA(1) >= 'A' && input.LA(1) <= 'F')
                        || (input.LA(1) >= 'a' && input.LA(1) <= 'f')) {
                      input.consume();
                    } else {
                      MismatchedSetException mse = new MismatchedSetException(null, input);
                      recover(mse);
                      throw mse;
                    }
                  }
                }
                break;
              case 3:
                // Robot.g:2480:169: '\\\\' ( '0' .. '7' )
                {
                  match('\\');

                  if ((input.LA(1) >= '0' && input.LA(1) <= '7')) {
                    input.consume();
                  } else {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    recover(mse);
                    throw mse;
                  }
                }
                break;
              case 4:
                // Robot.g:2480:184: ~ ( '\\\\' | '\"' )
                {
                  if ((input.LA(1) >= '\u0000' && input.LA(1) <= '!')
                      || (input.LA(1) >= '#' && input.LA(1) <= '[')
                      || (input.LA(1) >= ']' && input.LA(1) <= '\uFFFF')) {
                    input.consume();
                  } else {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    recover(mse);
                    throw mse;
                  }
                }
                break;

              default:
                break loop1;
            }
          } while (true);

          match('\"');
        }
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "STRING_LITERAL"

  // $ANTLR start "TEXT"
  public final void mTEXT() throws RecognitionException {
    try {
      int _type = TEXT;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:2482:5: ( ( ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' )+ ) )
      // Robot.g:2483:2: ( ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' )+ )
      {
        // Robot.g:2483:2: ( ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' )+ )
        // Robot.g:2483:2: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' )+
        {
          // Robot.g:2483:2: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' | '_' | '-' )+
          int cnt2 = 0;
          loop2:
          do {
            int alt2 = 2;
            int LA2_0 = input.LA(1);

            if ((LA2_0 == '-'
                || (LA2_0 >= '0' && LA2_0 <= '9')
                || (LA2_0 >= 'A' && LA2_0 <= 'Z')
                || LA2_0 == '_'
                || (LA2_0 >= 'a' && LA2_0 <= 'z'))) {
              alt2 = 1;
            }

            switch (alt2) {
              case 1:
                // Robot.g:
                {
                  if (input.LA(1) == '-'
                      || (input.LA(1) >= '0' && input.LA(1) <= '9')
                      || (input.LA(1) >= 'A' && input.LA(1) <= 'Z')
                      || input.LA(1) == '_'
                      || (input.LA(1) >= 'a' && input.LA(1) <= 'z')) {
                    input.consume();
                  } else {
                    MismatchedSetException mse = new MismatchedSetException(null, input);
                    recover(mse);
                    throw mse;
                  }
                }
                break;

              default:
                if (cnt2 >= 1) break loop2;
                EarlyExitException eee = new EarlyExitException(2, input);
                throw eee;
            }
            cnt2++;
          } while (true);
        }
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "TEXT"

  // $ANTLR start "WHITESPACE"
  public final void mWHITESPACE() throws RecognitionException {
    try {
      int _type = WHITESPACE;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:2485:11: ( ( ( ' ' | '\\t' | '\\f' ) ) )
      // Robot.g:2486:2: ( ( ' ' | '\\t' | '\\f' ) )
      {
        if (input.LA(1) == '\t' || input.LA(1) == '\f' || input.LA(1) == ' ') {
          input.consume();
        } else {
          MismatchedSetException mse = new MismatchedSetException(null, input);
          recover(mse);
          throw mse;
        }

        _channel = 99;
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "WHITESPACE"

  // $ANTLR start "LINEBREAK"
  public final void mLINEBREAK() throws RecognitionException {
    try {
      int _type = LINEBREAK;
      int _channel = DEFAULT_TOKEN_CHANNEL;
      // Robot.g:2489:10: ( ( ( '\\r\\n' | '\\r' | '\\n' ) ) )
      // Robot.g:2490:2: ( ( '\\r\\n' | '\\r' | '\\n' ) )
      {
        // Robot.g:2490:2: ( ( '\\r\\n' | '\\r' | '\\n' ) )
        // Robot.g:2490:2: ( '\\r\\n' | '\\r' | '\\n' )
        {
          // Robot.g:2490:2: ( '\\r\\n' | '\\r' | '\\n' )
          int alt3 = 3;
          int LA3_0 = input.LA(1);

          if ((LA3_0 == '\r')) {
            int LA3_1 = input.LA(2);

            if ((LA3_1 == '\n')) {
              alt3 = 1;
            } else {
              alt3 = 2;
            }
          } else if ((LA3_0 == '\n')) {
            alt3 = 3;
          } else {
            NoViableAltException nvae = new NoViableAltException("", 3, 0, input);

            throw nvae;
          }
          switch (alt3) {
            case 1:
              // Robot.g:2490:3: '\\r\\n'
              {
                match("\r\n");
              }
              break;
            case 2:
              // Robot.g:2490:12: '\\r'
              {
                match('\r');
              }
              break;
            case 3:
              // Robot.g:2490:19: '\\n'
              {
                match('\n');
              }
              break;
          }
        }

        _channel = 99;
      }

      state.type = _type;
      state.channel = _channel;
    } finally {
      // do for sure before leaving
    }
  }
  // $ANTLR end "LINEBREAK"

  public void mTokens() throws RecognitionException {
    // Robot.g:1:8: ( T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 |
    // T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29
    // | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | STRING_LITERAL | TEXT | WHITESPACE
    // | LINEBREAK )
    int alt4 = 33;
    alt4 = dfa4.predict(input);
    switch (alt4) {
      case 1:
        // Robot.g:1:10: T__8
        {
          mT__8();
        }
        break;
      case 2:
        // Robot.g:1:15: T__9
        {
          mT__9();
        }
        break;
      case 3:
        // Robot.g:1:20: T__10
        {
          mT__10();
        }
        break;
      case 4:
        // Robot.g:1:26: T__11
        {
          mT__11();
        }
        break;
      case 5:
        // Robot.g:1:32: T__12
        {
          mT__12();
        }
        break;
      case 6:
        // Robot.g:1:38: T__13
        {
          mT__13();
        }
        break;
      case 7:
        // Robot.g:1:44: T__14
        {
          mT__14();
        }
        break;
      case 8:
        // Robot.g:1:50: T__15
        {
          mT__15();
        }
        break;
      case 9:
        // Robot.g:1:56: T__16
        {
          mT__16();
        }
        break;
      case 10:
        // Robot.g:1:62: T__17
        {
          mT__17();
        }
        break;
      case 11:
        // Robot.g:1:68: T__18
        {
          mT__18();
        }
        break;
      case 12:
        // Robot.g:1:74: T__19
        {
          mT__19();
        }
        break;
      case 13:
        // Robot.g:1:80: T__20
        {
          mT__20();
        }
        break;
      case 14:
        // Robot.g:1:86: T__21
        {
          mT__21();
        }
        break;
      case 15:
        // Robot.g:1:92: T__22
        {
          mT__22();
        }
        break;
      case 16:
        // Robot.g:1:98: T__23
        {
          mT__23();
        }
        break;
      case 17:
        // Robot.g:1:104: T__24
        {
          mT__24();
        }
        break;
      case 18:
        // Robot.g:1:110: T__25
        {
          mT__25();
        }
        break;
      case 19:
        // Robot.g:1:116: T__26
        {
          mT__26();
        }
        break;
      case 20:
        // Robot.g:1:122: T__27
        {
          mT__27();
        }
        break;
      case 21:
        // Robot.g:1:128: T__28
        {
          mT__28();
        }
        break;
      case 22:
        // Robot.g:1:134: T__29
        {
          mT__29();
        }
        break;
      case 23:
        // Robot.g:1:140: T__30
        {
          mT__30();
        }
        break;
      case 24:
        // Robot.g:1:146: T__31
        {
          mT__31();
        }
        break;
      case 25:
        // Robot.g:1:152: T__32
        {
          mT__32();
        }
        break;
      case 26:
        // Robot.g:1:158: T__33
        {
          mT__33();
        }
        break;
      case 27:
        // Robot.g:1:164: T__34
        {
          mT__34();
        }
        break;
      case 28:
        // Robot.g:1:170: T__35
        {
          mT__35();
        }
        break;
      case 29:
        // Robot.g:1:176: T__36
        {
          mT__36();
        }
        break;
      case 30:
        // Robot.g:1:182: STRING_LITERAL
        {
          mSTRING_LITERAL();
        }
        break;
      case 31:
        // Robot.g:1:197: TEXT
        {
          mTEXT();
        }
        break;
      case 32:
        // Robot.g:1:202: WHITESPACE
        {
          mWHITESPACE();
        }
        break;
      case 33:
        // Robot.g:1:213: LINEBREAK
        {
          mLINEBREAK();
        }
        break;
    }
  }

  protected DFA4 dfa4 = new DFA4(this);
  static final String DFA4_eotS =
      "\5\uffff\20\26\4\uffff\4\26\1\64\3\26\1\70\5\26\1\76\7\26\1\106"
          + "\1\26\1\110\1\111\1\26\1\uffff\1\26\1\115\1\26\1\uffff\2\26\1\121"
          + "\1\122\1\26\1\uffff\7\26\1\uffff\1\26\2\uffff\3\26\1\uffff\1\26"
          + "\1\140\1\141\2\uffff\5\26\1\150\1\151\1\26\1\153\4\26\2\uffff\1"
          + "\26\1\161\4\26\2\uffff\1\166\1\uffff\5\26\1\uffff\1\174\3\26\1\uffff"
          + "\1\u0080\4\26\1\uffff\3\26\1\uffff\1\u0088\1\u0089\1\26\1\u008b"
          + "\3\26\2\uffff\1\u008f\1\uffff\3\26\1\uffff\1\26\1\u0094\2\26\1\uffff"
          + "\1\u0097\1\u0098\2\uffff";
  static final String DFA4_eofS = "\u0099\uffff";
  static final String DFA4_minS =
      "\1\11\4\uffff\1\156\1\151\1\157\1\151\1\156\1\141\1\146\1\151\2"
          + "\157\1\142\1\157\2\145\2\150\4\uffff\1\144\1\160\1\154\1\163\1\55"
          + "\1\162\1\144\1\163\1\55\1\156\1\166\1\147\1\164\1\163\1\55\1\167"
          + "\1\160\1\164\1\157\1\145\1\162\1\151\1\55\1\154\2\55\1\160\1\uffff"
          + "\1\141\1\55\1\124\1\uffff\2\145\2\55\1\164\1\uffff\2\145\1\124\1"
          + "\160\2\156\1\154\1\uffff\1\145\2\uffff\1\154\1\141\1\164\1\uffff"
          + "\1\165\2\55\2\uffff\1\141\1\162\1\141\1\165\1\105\2\55\1\145\1\55"
          + "\1\141\1\156\1\151\1\162\2\uffff\1\143\1\55\1\164\1\162\1\156\1"
          + "\162\2\uffff\1\55\1\uffff\1\171\1\143\1\157\1\156\1\154\1\uffff"
          + "\1\55\1\156\1\147\1\157\1\uffff\1\55\1\145\1\156\2\145\1\uffff\1"
          + "\101\1\151\1\147\1\uffff\2\55\1\144\1\55\2\156\1\162\2\uffff\1\55"
          + "\1\uffff\1\147\1\145\1\141\1\uffff\1\154\1\55\1\155\1\145\1\uffff"
          + "\2\55\2\uffff";
  static final String DFA4_maxS =
      "\1\172\4\uffff\1\156\1\151\1\157\1\165\1\156\1\141\1\146\1\151\1"
          + "\163\1\157\1\162\1\157\1\145\1\164\1\165\1\150\4\uffff\1\147\1\160"
          + "\1\154\1\163\1\172\1\162\1\144\1\163\1\172\1\156\1\166\1\147\1\164"
          + "\1\163\1\172\1\167\1\160\1\164\1\157\1\145\1\162\1\151\1\172\1\154"
          + "\2\172\1\164\1\uffff\1\141\1\172\1\124\1\uffff\2\145\2\172\1\164"
          + "\1\uffff\2\145\1\124\1\160\2\156\1\154\1\uffff\1\145\2\uffff\1\154"
          + "\1\141\1\164\1\uffff\1\165\2\172\2\uffff\1\141\1\162\1\141\1\165"
          + "\1\120\2\172\1\145\1\172\1\141\1\156\1\151\1\162\2\uffff\1\143\1"
          + "\172\1\164\1\162\1\156\1\162\2\uffff\1\172\1\uffff\1\171\1\143\1"
          + "\157\1\156\1\154\1\uffff\1\172\1\156\1\147\1\157\1\uffff\1\172\1"
          + "\145\1\156\2\145\1\uffff\1\101\1\151\1\147\1\uffff\2\172\1\144\1"
          + "\172\2\156\1\162\2\uffff\1\172\1\uffff\1\147\1\145\1\141\1\uffff"
          + "\1\154\1\172\1\155\1\145\1\uffff\2\172\2\uffff";
  static final String DFA4_acceptS =
      "\1\uffff\1\1\1\2\1\3\1\4\20\uffff\1\36\1\37\1\40\1\41\33\uffff\1"
          + "\13\3\uffff\1\17\5\uffff\1\25\7\uffff\1\5\1\uffff\1\7\1\10\3\uffff"
          + "\1\15\3\uffff\1\22\1\23\15\uffff\1\20\1\21\6\uffff\1\33\1\34\1\uffff"
          + "\1\6\5\uffff\1\26\4\uffff\1\35\5\uffff\1\27\3\uffff\1\11\7\uffff"
          + "\1\12\1\14\1\uffff\1\24\3\uffff\1\16\4\uffff\1\31\2\uffff\1\32\1"
          + "\30";
  static final String DFA4_specialS = "\u0099\uffff}>";
  static final String[] DFA4_transitionS = {
    "\1\27\1\30\1\uffff\1\27\1\30\22\uffff\1\27\1\uffff\1\25\5\uffff"
        + "\1\1\1\2\2\uffff\1\3\1\26\2\uffff\12\26\3\uffff\1\4\3\uffff"
        + "\32\26\4\uffff\1\26\1\uffff\1\5\1\6\1\7\1\10\1\11\2\26\1\12"
        + "\1\13\2\26\1\14\1\15\1\16\1\17\1\20\1\26\1\21\1\22\1\23\2\26"
        + "\1\24\3\26",
    "",
    "",
    "",
    "",
    "\1\31",
    "\1\32",
    "\1\33",
    "\1\34\5\uffff\1\35\5\uffff\1\36",
    "\1\37",
    "\1\40",
    "\1\41",
    "\1\42",
    "\1\43\3\uffff\1\44",
    "\1\45",
    "\1\46\17\uffff\1\47",
    "\1\50",
    "\1\51",
    "\1\52\16\uffff\1\53",
    "\1\54\14\uffff\1\55",
    "\1\56",
    "",
    "",
    "",
    "",
    "\1\57\2\uffff\1\60",
    "\1\61",
    "\1\62",
    "\1\63",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\65",
    "\1\66",
    "\1\67",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\71",
    "\1\72",
    "\1\73",
    "\1\74",
    "\1\75",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\77",
    "\1\100",
    "\1\101",
    "\1\102",
    "\1\103",
    "\1\104",
    "\1\105",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\107",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\112\3\uffff\1\113",
    "",
    "\1\114",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\116",
    "",
    "\1\117",
    "\1\120",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\123",
    "",
    "\1\124",
    "\1\125",
    "\1\126",
    "\1\127",
    "\1\130",
    "\1\131",
    "\1\132",
    "",
    "\1\133",
    "",
    "",
    "\1\134",
    "\1\135",
    "\1\136",
    "",
    "\1\137",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "",
    "",
    "\1\142",
    "\1\143",
    "\1\144",
    "\1\145",
    "\1\146\12\uffff\1\147",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\152",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\154",
    "\1\155",
    "\1\156",
    "\1\157",
    "",
    "",
    "\1\160",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\162",
    "\1\163",
    "\1\164",
    "\1\165",
    "",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "",
    "\1\167",
    "\1\170",
    "\1\171",
    "\1\172",
    "\1\173",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\175",
    "\1\176",
    "\1\177",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\u0081",
    "\1\u0082",
    "\1\u0083",
    "\1\u0084",
    "",
    "\1\u0085",
    "\1\u0086",
    "\1\u0087",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\u008a",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\u008c",
    "\1\u008d",
    "\1\u008e",
    "",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "",
    "\1\u0090",
    "\1\u0091",
    "\1\u0092",
    "",
    "\1\u0093",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\u0095",
    "\1\u0096",
    "",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "\1\26\2\uffff\12\26\7\uffff\32\26\4\uffff\1\26\1\uffff\32\26",
    "",
    ""
  };

  static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS);
  static final short[] DFA4_eof = DFA.unpackEncodedString(DFA4_eofS);
  static final char[] DFA4_min = DFA.unpackEncodedStringToUnsignedChars(DFA4_minS);
  static final char[] DFA4_max = DFA.unpackEncodedStringToUnsignedChars(DFA4_maxS);
  static final short[] DFA4_accept = DFA.unpackEncodedString(DFA4_acceptS);
  static final short[] DFA4_special = DFA.unpackEncodedString(DFA4_specialS);
  static final short[][] DFA4_transition;

  static {
    int numStates = DFA4_transitionS.length;
    DFA4_transition = new short[numStates][];
    for (int i = 0; i < numStates; i++) {
      DFA4_transition[i] = DFA.unpackEncodedString(DFA4_transitionS[i]);
    }
  }

  class DFA4 extends DFA {

    public DFA4(BaseRecognizer recognizer) {
      this.recognizer = recognizer;
      this.decisionNumber = 4;
      this.eot = DFA4_eot;
      this.eof = DFA4_eof;
      this.min = DFA4_min;
      this.max = DFA4_max;
      this.accept = DFA4_accept;
      this.special = DFA4_special;
      this.transition = DFA4_transition;
    }

    public String getDescription() {
      return "1:1: Tokens : ( T__8 | T__9 | T__10 | T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | STRING_LITERAL | TEXT | WHITESPACE | LINEBREAK );";
    }
  }
}