blob: cc511efba350bc2228c96e78f230c4632b7a8b9c [file] [log] [blame]
// $ANTLR 3.5.2 org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g 2019-07-05 11:56:36
/*******************************************************************************
* Copyright (c) 2018 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License 2.0 which
* accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Jean-Christian Kouame - Initial API and implementation
*******************************************************************************/
package org.eclipse.tracecompass.tmf.filter.parser;
import org.eclipse.tracecompass.tmf.filter.parser.error.IErrorListener;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class FilterParserLexer extends Lexer {
public static final int EOF=-1;
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 CONSTANT=4;
public static final int LOGICAL=5;
public static final int OP=6;
public static final int OPERATION=7;
public static final int OPERATION1=8;
public static final int OPERATION2=9;
public static final int OPERATION3=10;
public static final int OPERATION4=11;
public static final int OPERATION5=12;
public static final int OP_NEGATE=13;
public static final int OP_PRESENT=14;
public static final int PAR_CONSTANT=15;
public static final int ROOT1=16;
public static final int ROOT2=17;
public static final int SEPARATOR=18;
public static final int TEXT=19;
public static final int WS=20;
private IErrorListener errListener;
public void setErrorListener(IErrorListener listener) {
errListener = listener;
}
@Override
public void reportError(RecognitionException e) {
errListener.error(e);
}
// delegates
// delegators
public Lexer[] getDelegates() {
return new Lexer[] {};
}
public FilterParserLexer() {}
public FilterParserLexer(CharStream input) {
this(input, new RecognizerSharedState());
}
public FilterParserLexer(CharStream input, RecognizerSharedState state) {
super(input,state);
}
@Override public String getGrammarFileName() { return "org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g"; }
// $ANTLR start "T__21"
public final void mT__21() throws RecognitionException {
try {
int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:37:7: ( '\"' )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:37:9: '\"'
{
match('\"');
}
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;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:38:7: ( '(' )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:38:9: '('
{
match('(');
}
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;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:39:7: ( ')' )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:39:9: ')'
{
match(')');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "T__23"
// $ANTLR start "SEPARATOR"
public final void mSEPARATOR() throws RecognitionException {
try {
int _type = SEPARATOR;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:91:12: ( '||' | '&&' )
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0=='|') ) {
alt1=1;
}
else if ( (LA1_0=='&') ) {
alt1=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:91:13: '||'
{
match("||");
}
break;
case 2 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:91:20: '&&'
{
match("&&");
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "SEPARATOR"
// $ANTLR start "OP_PRESENT"
public final void mOP_PRESENT() throws RecognitionException {
try {
int _type = OP_PRESENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:104:12: ( 'present' )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:104:14: 'present'
{
match("present");
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OP_PRESENT"
// $ANTLR start "OP_NEGATE"
public final void mOP_NEGATE() throws RecognitionException {
try {
int _type = OP_NEGATE;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:105:12: ( '!' )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:105:14: '!'
{
match('!');
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OP_NEGATE"
// $ANTLR start "OP"
public final void mOP() throws RecognitionException {
try {
int _type = OP;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:12: ( '==' | '!=' | 'contains' | 'matches' | '>' | '<' )
int alt2=6;
switch ( input.LA(1) ) {
case '=':
{
alt2=1;
}
break;
case '!':
{
alt2=2;
}
break;
case 'c':
{
alt2=3;
}
break;
case 'm':
{
alt2=4;
}
break;
case '>':
{
alt2=5;
}
break;
case '<':
{
alt2=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 2, 0, input);
throw nvae;
}
switch (alt2) {
case 1 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:14: '=='
{
match("==");
}
break;
case 2 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:21: '!='
{
match("!=");
}
break;
case 3 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:28: 'contains'
{
match("contains");
}
break;
case 4 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:41: 'matches'
{
match("matches");
}
break;
case 5 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:53: '>'
{
match('>');
}
break;
case 6 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:106:59: '<'
{
match('<');
}
break;
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "OP"
// $ANTLR start "TEXT"
public final void mTEXT() throws RecognitionException {
try {
int _type = TEXT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:107:8: ( ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | ( '0' .. '9' ) | '-' | '_' | '[' | ']' | '.' | '*' | '$' | '^' | '|' | '\\\\' | '{' | '}' | '?' | '+' | ':' | ';' )+ )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:107:10: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | ( '0' .. '9' ) | '-' | '_' | '[' | ']' | '.' | '*' | '$' | '^' | '|' | '\\\\' | '{' | '}' | '?' | '+' | ':' | ';' )+
{
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:107:10: ( ( 'a' .. 'z' ) | ( 'A' .. 'Z' ) | ( '0' .. '9' ) | '-' | '_' | '[' | ']' | '.' | '*' | '$' | '^' | '|' | '\\\\' | '{' | '}' | '?' | '+' | ':' | ';' )+
int cnt3=0;
loop3:
while (true) {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0=='$'||(LA3_0 >= '*' && LA3_0 <= '+')||(LA3_0 >= '-' && LA3_0 <= '.')||(LA3_0 >= '0' && LA3_0 <= ';')||LA3_0=='?'||(LA3_0 >= 'A' && LA3_0 <= '_')||(LA3_0 >= 'a' && LA3_0 <= '}')) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:
{
if ( input.LA(1)=='$'||(input.LA(1) >= '*' && input.LA(1) <= '+')||(input.LA(1) >= '-' && input.LA(1) <= '.')||(input.LA(1) >= '0' && input.LA(1) <= ';')||input.LA(1)=='?'||(input.LA(1) >= 'A' && input.LA(1) <= '_')||(input.LA(1) >= 'a' && input.LA(1) <= '}') ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt3 >= 1 ) break loop3;
EarlyExitException eee = new EarlyExitException(3, input);
throw eee;
}
cnt3++;
}
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "TEXT"
// $ANTLR start "WS"
public final void mWS() throws RecognitionException {
try {
int _type = WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:109:12: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:109:14: ( ' ' | '\\t' | '\\r' | '\\n' )+
{
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:109:14: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt4=0;
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( ((LA4_0 >= '\t' && LA4_0 <= '\n')||LA4_0=='\r'||LA4_0==' ') ) {
alt4=1;
}
switch (alt4) {
case 1 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:
{
if ( (input.LA(1) >= '\t' && input.LA(1) <= '\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) {
input.consume();
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
recover(mse);
throw mse;
}
}
break;
default :
if ( cnt4 >= 1 ) break loop4;
EarlyExitException eee = new EarlyExitException(4, input);
throw eee;
}
cnt4++;
}
skip();
}
state.type = _type;
state.channel = _channel;
}
finally {
// do for sure before leaving
}
}
// $ANTLR end "WS"
@Override
public void mTokens() throws RecognitionException {
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:8: ( T__21 | T__22 | T__23 | SEPARATOR | OP_PRESENT | OP_NEGATE | OP | TEXT | WS )
int alt5=9;
switch ( input.LA(1) ) {
case '\"':
{
alt5=1;
}
break;
case '(':
{
alt5=2;
}
break;
case ')':
{
alt5=3;
}
break;
case '|':
{
int LA5_4 = input.LA(2);
if ( (LA5_4=='|') ) {
int LA5_13 = input.LA(3);
if ( (LA5_13=='$'||(LA5_13 >= '*' && LA5_13 <= '+')||(LA5_13 >= '-' && LA5_13 <= '.')||(LA5_13 >= '0' && LA5_13 <= ';')||LA5_13=='?'||(LA5_13 >= 'A' && LA5_13 <= '_')||(LA5_13 >= 'a' && LA5_13 <= '}')) ) {
alt5=8;
}
else {
alt5=4;
}
}
else {
alt5=8;
}
}
break;
case '&':
{
alt5=4;
}
break;
case 'p':
{
int LA5_6 = input.LA(2);
if ( (LA5_6=='r') ) {
int LA5_14 = input.LA(3);
if ( (LA5_14=='e') ) {
int LA5_18 = input.LA(4);
if ( (LA5_18=='s') ) {
int LA5_21 = input.LA(5);
if ( (LA5_21=='e') ) {
int LA5_24 = input.LA(6);
if ( (LA5_24=='n') ) {
int LA5_27 = input.LA(7);
if ( (LA5_27=='t') ) {
int LA5_30 = input.LA(8);
if ( (LA5_30=='$'||(LA5_30 >= '*' && LA5_30 <= '+')||(LA5_30 >= '-' && LA5_30 <= '.')||(LA5_30 >= '0' && LA5_30 <= ';')||LA5_30=='?'||(LA5_30 >= 'A' && LA5_30 <= '_')||(LA5_30 >= 'a' && LA5_30 <= '}')) ) {
alt5=8;
}
else {
alt5=5;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
break;
case '!':
{
int LA5_7 = input.LA(2);
if ( (LA5_7=='=') ) {
alt5=7;
}
else {
alt5=6;
}
}
break;
case '<':
case '=':
case '>':
{
alt5=7;
}
break;
case 'c':
{
int LA5_9 = input.LA(2);
if ( (LA5_9=='o') ) {
int LA5_16 = input.LA(3);
if ( (LA5_16=='n') ) {
int LA5_19 = input.LA(4);
if ( (LA5_19=='t') ) {
int LA5_22 = input.LA(5);
if ( (LA5_22=='a') ) {
int LA5_25 = input.LA(6);
if ( (LA5_25=='i') ) {
int LA5_28 = input.LA(7);
if ( (LA5_28=='n') ) {
int LA5_31 = input.LA(8);
if ( (LA5_31=='s') ) {
int LA5_34 = input.LA(9);
if ( (LA5_34=='$'||(LA5_34 >= '*' && LA5_34 <= '+')||(LA5_34 >= '-' && LA5_34 <= '.')||(LA5_34 >= '0' && LA5_34 <= ';')||LA5_34=='?'||(LA5_34 >= 'A' && LA5_34 <= '_')||(LA5_34 >= 'a' && LA5_34 <= '}')) ) {
alt5=8;
}
else {
alt5=7;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
break;
case 'm':
{
int LA5_10 = input.LA(2);
if ( (LA5_10=='a') ) {
int LA5_17 = input.LA(3);
if ( (LA5_17=='t') ) {
int LA5_20 = input.LA(4);
if ( (LA5_20=='c') ) {
int LA5_23 = input.LA(5);
if ( (LA5_23=='h') ) {
int LA5_26 = input.LA(6);
if ( (LA5_26=='e') ) {
int LA5_29 = input.LA(7);
if ( (LA5_29=='s') ) {
int LA5_32 = input.LA(8);
if ( (LA5_32=='$'||(LA5_32 >= '*' && LA5_32 <= '+')||(LA5_32 >= '-' && LA5_32 <= '.')||(LA5_32 >= '0' && LA5_32 <= ';')||LA5_32=='?'||(LA5_32 >= 'A' && LA5_32 <= '_')||(LA5_32 >= 'a' && LA5_32 <= '}')) ) {
alt5=8;
}
else {
alt5=7;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
else {
alt5=8;
}
}
break;
case '$':
case '*':
case '+':
case '-':
case '.':
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case ':':
case ';':
case '?':
case 'A':
case 'B':
case 'C':
case 'D':
case 'E':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':
case 'K':
case 'L':
case 'M':
case 'N':
case 'O':
case 'P':
case 'Q':
case 'R':
case 'S':
case 'T':
case 'U':
case 'V':
case 'W':
case 'X':
case 'Y':
case 'Z':
case '[':
case '\\':
case ']':
case '^':
case '_':
case 'a':
case 'b':
case 'd':
case 'e':
case 'f':
case 'g':
case 'h':
case 'i':
case 'j':
case 'k':
case 'l':
case 'n':
case 'o':
case 'q':
case 'r':
case 's':
case 't':
case 'u':
case 'v':
case 'w':
case 'x':
case 'y':
case 'z':
case '{':
case '}':
{
alt5=8;
}
break;
case '\t':
case '\n':
case '\r':
case ' ':
{
alt5=9;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:10: T__21
{
mT__21();
}
break;
case 2 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:16: T__22
{
mT__22();
}
break;
case 3 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:22: T__23
{
mT__23();
}
break;
case 4 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:28: SEPARATOR
{
mSEPARATOR();
}
break;
case 5 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:38: OP_PRESENT
{
mOP_PRESENT();
}
break;
case 6 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:49: OP_NEGATE
{
mOP_NEGATE();
}
break;
case 7 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:59: OP
{
mOP();
}
break;
case 8 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:62: TEXT
{
mTEXT();
}
break;
case 9 :
// org/eclipse/tracecompass/tmf/filter/parser/FilterParser.g:1:67: WS
{
mWS();
}
break;
}
}
}