![JAR search and dependency download from the Maven repository](/logo.png)
com.yahoo.elide.generated.parsers.ExpressionParser Maven / Gradle / Ivy
// Generated from com/yahoo/elide/generated/parsers/Expression.g4 by ANTLR 4.13.1
package com.yahoo.elide.generated.parsers;
import org.antlr.v4.runtime.atn.*;
import org.antlr.v4.runtime.dfa.DFA;
import org.antlr.v4.runtime.*;
import org.antlr.v4.runtime.misc.*;
import org.antlr.v4.runtime.tree.*;
import java.util.List;
import java.util.Iterator;
import java.util.ArrayList;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast", "CheckReturnValue"})
public class ExpressionParser extends Parser {
static { RuntimeMetaData.checkVersion("4.13.1", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
NOT=1, AND=2, OR=3, LPAREN=4, RPAREN=5, WS=6, LEGAL_NAME=7, ALPHA=8, LEGAL_CHAR=9;
public static final int
RULE_start = 0, RULE_expression = 1, RULE_permissionClass = 2;
private static String[] makeRuleNames() {
return new String[] {
"start", "expression", "permissionClass"
};
}
public static final String[] ruleNames = makeRuleNames();
private static String[] makeLiteralNames() {
return new String[] {
null, null, null, null, "'('", "')'"
};
}
private static final String[] _LITERAL_NAMES = makeLiteralNames();
private static String[] makeSymbolicNames() {
return new String[] {
null, "NOT", "AND", "OR", "LPAREN", "RPAREN", "WS", "LEGAL_NAME", "ALPHA",
"LEGAL_CHAR"
};
}
private static final String[] _SYMBOLIC_NAMES = makeSymbolicNames();
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
@Override
public String getGrammarFileName() { return "Expression.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public ATN getATN() { return _ATN; }
public ExpressionParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@SuppressWarnings("CheckReturnValue")
public static class StartContext extends ParserRuleContext {
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public StartContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_start; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterStart(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitStart(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitStart(this);
else return visitor.visitChildren(this);
}
}
public final StartContext start() throws RecognitionException {
StartContext _localctx = new StartContext(_ctx, getState());
enterRule(_localctx, 0, RULE_start);
try {
enterOuterAlt(_localctx, 1);
{
setState(6);
expression(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class ExpressionContext extends ParserRuleContext {
public ExpressionContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_expression; }
public ExpressionContext() { }
public void copyFrom(ExpressionContext ctx) {
super.copyFrom(ctx);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PERMISSIONContext extends ExpressionContext {
public PermissionClassContext permissionClass() {
return getRuleContext(PermissionClassContext.class,0);
}
public PERMISSIONContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterPERMISSION(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitPERMISSION(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitPERMISSION(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class NOTContext extends ExpressionContext {
public TerminalNode NOT() { return getToken(ExpressionParser.NOT, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public List WS() { return getTokens(ExpressionParser.WS); }
public TerminalNode WS(int i) {
return getToken(ExpressionParser.WS, i);
}
public NOTContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterNOT(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitNOT(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitNOT(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ORContext extends ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
public TerminalNode OR() { return getToken(ExpressionParser.OR, 0); }
public List expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List WS() { return getTokens(ExpressionParser.WS); }
public TerminalNode WS(int i) {
return getToken(ExpressionParser.WS, i);
}
public ORContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterOR(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitOR(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitOR(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class ANDContext extends ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
public TerminalNode AND() { return getToken(ExpressionParser.AND, 0); }
public List expression() {
return getRuleContexts(ExpressionContext.class);
}
public ExpressionContext expression(int i) {
return getRuleContext(ExpressionContext.class,i);
}
public List WS() { return getTokens(ExpressionParser.WS); }
public TerminalNode WS(int i) {
return getToken(ExpressionParser.WS, i);
}
public ANDContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterAND(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitAND(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitAND(this);
else return visitor.visitChildren(this);
}
}
@SuppressWarnings("CheckReturnValue")
public static class PARENContext extends ExpressionContext {
public TerminalNode LPAREN() { return getToken(ExpressionParser.LPAREN, 0); }
public ExpressionContext expression() {
return getRuleContext(ExpressionContext.class,0);
}
public TerminalNode RPAREN() { return getToken(ExpressionParser.RPAREN, 0); }
public List WS() { return getTokens(ExpressionParser.WS); }
public TerminalNode WS(int i) {
return getToken(ExpressionParser.WS, i);
}
public PARENContext(ExpressionContext ctx) { copyFrom(ctx); }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterPAREN(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitPAREN(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitPAREN(this);
else return visitor.visitChildren(this);
}
}
public final ExpressionContext expression() throws RecognitionException {
return expression(0);
}
private ExpressionContext expression(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
ExpressionContext _localctx = new ExpressionContext(_ctx, _parentState);
ExpressionContext _prevctx = _localctx;
int _startState = 2;
enterRecursionRule(_localctx, 2, RULE_expression, _p);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(33);
_errHandler.sync(this);
switch (_input.LA(1)) {
case NOT:
{
_localctx = new NOTContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(9);
match(NOT);
setState(11);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(10);
match(WS);
}
}
setState(13);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(15);
expression(5);
}
break;
case LPAREN:
{
_localctx = new PARENContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(16);
match(LPAREN);
setState(20);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==WS) {
{
{
setState(17);
match(WS);
}
}
setState(22);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(23);
expression(0);
setState(27);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==WS) {
{
{
setState(24);
match(WS);
}
}
setState(29);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(30);
match(RPAREN);
}
break;
case LEGAL_NAME:
{
_localctx = new PERMISSIONContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(32);
permissionClass();
}
break;
default:
throw new NoViableAltException(this);
}
_ctx.stop = _input.LT(-1);
setState(63);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,9,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(61);
_errHandler.sync(this);
switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
case 1:
{
_localctx = new ANDContext(new ExpressionContext(_parentctx, _parentState));
((ANDContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expression);
setState(35);
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
setState(37);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(36);
match(WS);
}
}
setState(39);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(41);
match(AND);
setState(43);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(42);
match(WS);
}
}
setState(45);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(47);
((ANDContext)_localctx).right = expression(4);
}
break;
case 2:
{
_localctx = new ORContext(new ExpressionContext(_parentctx, _parentState));
((ORContext)_localctx).left = _prevctx;
pushNewRecursionContext(_localctx, _startState, RULE_expression);
setState(48);
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
setState(50);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(49);
match(WS);
}
}
setState(52);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(54);
match(OR);
setState(56);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(55);
match(WS);
}
}
setState(58);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(60);
((ORContext)_localctx).right = expression(3);
}
break;
}
}
}
setState(65);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,9,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
@SuppressWarnings("CheckReturnValue")
public static class PermissionClassContext extends ParserRuleContext {
public List LEGAL_NAME() { return getTokens(ExpressionParser.LEGAL_NAME); }
public TerminalNode LEGAL_NAME(int i) {
return getToken(ExpressionParser.LEGAL_NAME, i);
}
public List WS() { return getTokens(ExpressionParser.WS); }
public TerminalNode WS(int i) {
return getToken(ExpressionParser.WS, i);
}
public PermissionClassContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_permissionClass; }
@Override
public void enterRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).enterPermissionClass(this);
}
@Override
public void exitRule(ParseTreeListener listener) {
if ( listener instanceof ExpressionListener ) ((ExpressionListener)listener).exitPermissionClass(this);
}
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ExpressionVisitor ) return ((ExpressionVisitor extends T>)visitor).visitPermissionClass(this);
else return visitor.visitChildren(this);
}
}
public final PermissionClassContext permissionClass() throws RecognitionException {
PermissionClassContext _localctx = new PermissionClassContext(_ctx, getState());
enterRule(_localctx, 4, RULE_permissionClass);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(66);
match(LEGAL_NAME);
setState(75);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,11,_ctx);
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
if ( _alt==1 ) {
{
{
setState(68);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(67);
match(WS);
}
}
setState(70);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==WS );
setState(72);
match(LEGAL_NAME);
}
}
}
setState(77);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,11,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
switch (ruleIndex) {
case 1:
return expression_sempred((ExpressionContext)_localctx, predIndex);
}
return true;
}
private boolean expression_sempred(ExpressionContext _localctx, int predIndex) {
switch (predIndex) {
case 0:
return precpred(_ctx, 3);
case 1:
return precpred(_ctx, 2);
}
return true;
}
public static final String _serializedATN =
"\u0004\u0001\tO\u0002\u0000\u0007\u0000\u0002\u0001\u0007\u0001\u0002"+
"\u0002\u0007\u0002\u0001\u0000\u0001\u0000\u0001\u0001\u0001\u0001\u0001"+
"\u0001\u0004\u0001\f\b\u0001\u000b\u0001\f\u0001\r\u0001\u0001\u0001\u0001"+
"\u0001\u0001\u0005\u0001\u0013\b\u0001\n\u0001\f\u0001\u0016\t\u0001\u0001"+
"\u0001\u0001\u0001\u0005\u0001\u001a\b\u0001\n\u0001\f\u0001\u001d\t\u0001"+
"\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0001\"\b\u0001\u0001\u0001"+
"\u0001\u0001\u0004\u0001&\b\u0001\u000b\u0001\f\u0001\'\u0001\u0001\u0001"+
"\u0001\u0004\u0001,\b\u0001\u000b\u0001\f\u0001-\u0001\u0001\u0001\u0001"+
"\u0001\u0001\u0004\u00013\b\u0001\u000b\u0001\f\u00014\u0001\u0001\u0001"+
"\u0001\u0004\u00019\b\u0001\u000b\u0001\f\u0001:\u0001\u0001\u0005\u0001"+
">\b\u0001\n\u0001\f\u0001A\t\u0001\u0001\u0002\u0001\u0002\u0004\u0002"+
"E\b\u0002\u000b\u0002\f\u0002F\u0001\u0002\u0005\u0002J\b\u0002\n\u0002"+
"\f\u0002M\t\u0002\u0001\u0002\u0000\u0001\u0002\u0003\u0000\u0002\u0004"+
"\u0000\u0000X\u0000\u0006\u0001\u0000\u0000\u0000\u0002!\u0001\u0000\u0000"+
"\u0000\u0004B\u0001\u0000\u0000\u0000\u0006\u0007\u0003\u0002\u0001\u0000"+
"\u0007\u0001\u0001\u0000\u0000\u0000\b\t\u0006\u0001\uffff\uffff\u0000"+
"\t\u000b\u0005\u0001\u0000\u0000\n\f\u0005\u0006\u0000\u0000\u000b\n\u0001"+
"\u0000\u0000\u0000\f\r\u0001\u0000\u0000\u0000\r\u000b\u0001\u0000\u0000"+
"\u0000\r\u000e\u0001\u0000\u0000\u0000\u000e\u000f\u0001\u0000\u0000\u0000"+
"\u000f\"\u0003\u0002\u0001\u0005\u0010\u0014\u0005\u0004\u0000\u0000\u0011"+
"\u0013\u0005\u0006\u0000\u0000\u0012\u0011\u0001\u0000\u0000\u0000\u0013"+
"\u0016\u0001\u0000\u0000\u0000\u0014\u0012\u0001\u0000\u0000\u0000\u0014"+
"\u0015\u0001\u0000\u0000\u0000\u0015\u0017\u0001\u0000\u0000\u0000\u0016"+
"\u0014\u0001\u0000\u0000\u0000\u0017\u001b\u0003\u0002\u0001\u0000\u0018"+
"\u001a\u0005\u0006\u0000\u0000\u0019\u0018\u0001\u0000\u0000\u0000\u001a"+
"\u001d\u0001\u0000\u0000\u0000\u001b\u0019\u0001\u0000\u0000\u0000\u001b"+
"\u001c\u0001\u0000\u0000\u0000\u001c\u001e\u0001\u0000\u0000\u0000\u001d"+
"\u001b\u0001\u0000\u0000\u0000\u001e\u001f\u0005\u0005\u0000\u0000\u001f"+
"\"\u0001\u0000\u0000\u0000 \"\u0003\u0004\u0002\u0000!\b\u0001\u0000\u0000"+
"\u0000!\u0010\u0001\u0000\u0000\u0000! \u0001\u0000\u0000\u0000\"?\u0001"+
"\u0000\u0000\u0000#%\n\u0003\u0000\u0000$&\u0005\u0006\u0000\u0000%$\u0001"+
"\u0000\u0000\u0000&\'\u0001\u0000\u0000\u0000\'%\u0001\u0000\u0000\u0000"+
"\'(\u0001\u0000\u0000\u0000()\u0001\u0000\u0000\u0000)+\u0005\u0002\u0000"+
"\u0000*,\u0005\u0006\u0000\u0000+*\u0001\u0000\u0000\u0000,-\u0001\u0000"+
"\u0000\u0000-+\u0001\u0000\u0000\u0000-.\u0001\u0000\u0000\u0000./\u0001"+
"\u0000\u0000\u0000/>\u0003\u0002\u0001\u000402\n\u0002\u0000\u000013\u0005"+
"\u0006\u0000\u000021\u0001\u0000\u0000\u000034\u0001\u0000\u0000\u0000"+
"42\u0001\u0000\u0000\u000045\u0001\u0000\u0000\u000056\u0001\u0000\u0000"+
"\u000068\u0005\u0003\u0000\u000079\u0005\u0006\u0000\u000087\u0001\u0000"+
"\u0000\u00009:\u0001\u0000\u0000\u0000:8\u0001\u0000\u0000\u0000:;\u0001"+
"\u0000\u0000\u0000;<\u0001\u0000\u0000\u0000<>\u0003\u0002\u0001\u0003"+
"=#\u0001\u0000\u0000\u0000=0\u0001\u0000\u0000\u0000>A\u0001\u0000\u0000"+
"\u0000?=\u0001\u0000\u0000\u0000?@\u0001\u0000\u0000\u0000@\u0003\u0001"+
"\u0000\u0000\u0000A?\u0001\u0000\u0000\u0000BK\u0005\u0007\u0000\u0000"+
"CE\u0005\u0006\u0000\u0000DC\u0001\u0000\u0000\u0000EF\u0001\u0000\u0000"+
"\u0000FD\u0001\u0000\u0000\u0000FG\u0001\u0000\u0000\u0000GH\u0001\u0000"+
"\u0000\u0000HJ\u0005\u0007\u0000\u0000ID\u0001\u0000\u0000\u0000JM\u0001"+
"\u0000\u0000\u0000KI\u0001\u0000\u0000\u0000KL\u0001\u0000\u0000\u0000"+
"L\u0005\u0001\u0000\u0000\u0000MK\u0001\u0000\u0000\u0000\f\r\u0014\u001b"+
"!\'-4:=?FK";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy