You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@metron.apache.org by ma...@apache.org on 2017/07/02 22:43:34 UTC
[08/25] metron git commit: METRON-877 Extract core implementation and
UDF support,
create metron-stellar module (mattf-horton) closes apache/metron#616
http://git-wip-us.apache.org/repos/asf/metron/blob/a5b13777/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java
----------------------------------------------------------------------
diff --git a/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java
new file mode 100644
index 0000000..d4c6ba3
--- /dev/null
+++ b/metron-stellar/stellar-common/src/main/java/org/apache/metron/stellar/common/generated/StellarParser.java
@@ -0,0 +1,2739 @@
+// Generated from org/apache/metron/stellar/common/generated/Stellar.g4 by ANTLR 4.5
+package org.apache.metron.stellar.common.generated;
+
+//CHECKSTYLE:OFF
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+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"})
+public class StellarParser extends Parser {
+ static { RuntimeMetaData.checkVersion("4.5", RuntimeMetaData.VERSION); }
+
+ protected static final DFA[] _decisionToDFA;
+ protected static final PredictionContextCache _sharedContextCache =
+ new PredictionContextCache();
+ public static final int
+ IN=1, LAMBDA_OP=2, DOUBLE_QUOTE=3, SINGLE_QUOTE=4, COMMA=5, PERIOD=6,
+ AND=7, OR=8, NOT=9, TRUE=10, FALSE=11, EQ=12, NEQ=13, LT=14, LTE=15, GT=16,
+ GTE=17, QUESTION=18, COLON=19, IF=20, THEN=21, ELSE=22, NULL=23, MINUS=24,
+ PLUS=25, DIV=26, MUL=27, LBRACE=28, RBRACE=29, LBRACKET=30, RBRACKET=31,
+ LPAREN=32, RPAREN=33, NIN=34, EXISTS=35, EXPONENT=36, INT_LITERAL=37,
+ DOUBLE_LITERAL=38, FLOAT_LITERAL=39, LONG_LITERAL=40, IDENTIFIER=41, STRING_LITERAL=42,
+ COMMENT=43, WS=44;
+ public static final int
+ RULE_transformation = 0, RULE_transformation_expr = 1, RULE_if_expr = 2,
+ RULE_then_expr = 3, RULE_else_expr = 4, RULE_conditional_expr = 5, RULE_logical_expr = 6,
+ RULE_b_expr = 7, RULE_in_expr = 8, RULE_comparison_expr = 9, RULE_transformation_entity = 10,
+ RULE_comp_operator = 11, RULE_func_args = 12, RULE_op_list = 13, RULE_list_entity = 14,
+ RULE_kv_list = 15, RULE_map_entity = 16, RULE_arithmetic_expr = 17, RULE_arithmetic_expr_mul = 18,
+ RULE_functions = 19, RULE_arithmetic_operands = 20, RULE_identifier_operand = 21,
+ RULE_lambda_without_args = 22, RULE_lambda_with_args = 23, RULE_lambda_variables = 24,
+ RULE_single_lambda_variable = 25, RULE_lambda_variable = 26;
+ public static final String[] ruleNames = {
+ "transformation", "transformation_expr", "if_expr", "then_expr", "else_expr",
+ "conditional_expr", "logical_expr", "b_expr", "in_expr", "comparison_expr",
+ "transformation_entity", "comp_operator", "func_args", "op_list", "list_entity",
+ "kv_list", "map_entity", "arithmetic_expr", "arithmetic_expr_mul", "functions",
+ "arithmetic_operands", "identifier_operand", "lambda_without_args", "lambda_with_args",
+ "lambda_variables", "single_lambda_variable", "lambda_variable"
+ };
+
+ private static final String[] _LITERAL_NAMES = {
+ null, null, "'->'", "'\"'", "'''", "','", "'.'", null, null, null, null,
+ null, "'=='", "'!='", "'<'", "'<='", "'>'", "'>='", "'?'", "':'", null,
+ null, null, null, "'-'", "'+'", "'/'", "'*'", "'{'", "'}'", "'['", "']'",
+ "'('", "')'"
+ };
+ private static final String[] _SYMBOLIC_NAMES = {
+ null, "IN", "LAMBDA_OP", "DOUBLE_QUOTE", "SINGLE_QUOTE", "COMMA", "PERIOD",
+ "AND", "OR", "NOT", "TRUE", "FALSE", "EQ", "NEQ", "LT", "LTE", "GT", "GTE",
+ "QUESTION", "COLON", "IF", "THEN", "ELSE", "NULL", "MINUS", "PLUS", "DIV",
+ "MUL", "LBRACE", "RBRACE", "LBRACKET", "RBRACKET", "LPAREN", "RPAREN",
+ "NIN", "EXISTS", "EXPONENT", "INT_LITERAL", "DOUBLE_LITERAL", "FLOAT_LITERAL",
+ "LONG_LITERAL", "IDENTIFIER", "STRING_LITERAL", "COMMENT", "WS"
+ };
+ 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] = "<INVALID>";
+ }
+ }
+ }
+
+ @Override
+ @Deprecated
+ public String[] getTokenNames() {
+ return tokenNames;
+ }
+
+ @Override
+
+ public Vocabulary getVocabulary() {
+ return VOCABULARY;
+ }
+
+ @Override
+ public String getGrammarFileName() { return "Stellar.g4"; }
+
+ @Override
+ public String[] getRuleNames() { return ruleNames; }
+
+ @Override
+ public String getSerializedATN() { return _serializedATN; }
+
+ @Override
+ public ATN getATN() { return _ATN; }
+
+ public StellarParser(TokenStream input) {
+ super(input);
+ _interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
+ }
+ public static class TransformationContext extends ParserRuleContext {
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public TerminalNode EOF() { return getToken(StellarParser.EOF, 0); }
+ public TransformationContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_transformation; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTransformation(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTransformation(this);
+ }
+ }
+
+ public final TransformationContext transformation() throws RecognitionException {
+ TransformationContext _localctx = new TransformationContext(_ctx, getState());
+ enterRule(_localctx, 0, RULE_transformation);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(54);
+ transformation_expr();
+ setState(55);
+ match(EOF);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Transformation_exprContext extends ParserRuleContext {
+ public Transformation_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_transformation_expr; }
+
+ public Transformation_exprContext() { }
+ public void copyFrom(Transformation_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class ComparisonExpressionContext extends Transformation_exprContext {
+ public Comparison_exprContext comparison_expr() {
+ return getRuleContext(Comparison_exprContext.class,0);
+ }
+ public ComparisonExpressionContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterComparisonExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitComparisonExpression(this);
+ }
+ }
+ public static class LogicalExpressionContext extends Transformation_exprContext {
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public LogicalExpressionContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLogicalExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLogicalExpression(this);
+ }
+ }
+ public static class TransformationEntityContext extends Transformation_exprContext {
+ public Transformation_entityContext transformation_entity() {
+ return getRuleContext(Transformation_entityContext.class,0);
+ }
+ public TransformationEntityContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTransformationEntity(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTransformationEntity(this);
+ }
+ }
+ public static class InExpressionContext extends Transformation_exprContext {
+ public In_exprContext in_expr() {
+ return getRuleContext(In_exprContext.class,0);
+ }
+ public InExpressionContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterInExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitInExpression(this);
+ }
+ }
+ public static class ArithExpressionContext extends Transformation_exprContext {
+ public Arithmetic_exprContext arithmetic_expr() {
+ return getRuleContext(Arithmetic_exprContext.class,0);
+ }
+ public ArithExpressionContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpression(this);
+ }
+ }
+ public static class TransformationExprContext extends Transformation_exprContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public TransformationExprContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTransformationExpr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTransformationExpr(this);
+ }
+ }
+ public static class ConditionalExprContext extends Transformation_exprContext {
+ public Conditional_exprContext conditional_expr() {
+ return getRuleContext(Conditional_exprContext.class,0);
+ }
+ public ConditionalExprContext(Transformation_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterConditionalExpr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitConditionalExpr(this);
+ }
+ }
+
+ public final Transformation_exprContext transformation_expr() throws RecognitionException {
+ Transformation_exprContext _localctx = new Transformation_exprContext(_ctx, getState());
+ enterRule(_localctx, 2, RULE_transformation_expr);
+ try {
+ setState(67);
+ switch ( getInterpreter().adaptivePredict(_input,0,_ctx) ) {
+ case 1:
+ _localctx = new ConditionalExprContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(57);
+ conditional_expr();
+ }
+ break;
+ case 2:
+ _localctx = new TransformationExprContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(58);
+ match(LPAREN);
+ setState(59);
+ transformation_expr();
+ setState(60);
+ match(RPAREN);
+ }
+ break;
+ case 3:
+ _localctx = new ArithExpressionContext(_localctx);
+ enterOuterAlt(_localctx, 3);
+ {
+ setState(62);
+ arithmetic_expr(0);
+ }
+ break;
+ case 4:
+ _localctx = new TransformationEntityContext(_localctx);
+ enterOuterAlt(_localctx, 4);
+ {
+ setState(63);
+ transformation_entity();
+ }
+ break;
+ case 5:
+ _localctx = new ComparisonExpressionContext(_localctx);
+ enterOuterAlt(_localctx, 5);
+ {
+ setState(64);
+ comparison_expr(0);
+ }
+ break;
+ case 6:
+ _localctx = new LogicalExpressionContext(_localctx);
+ enterOuterAlt(_localctx, 6);
+ {
+ setState(65);
+ logical_expr();
+ }
+ break;
+ case 7:
+ _localctx = new InExpressionContext(_localctx);
+ enterOuterAlt(_localctx, 7);
+ {
+ setState(66);
+ in_expr();
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class If_exprContext extends ParserRuleContext {
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public If_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_if_expr; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterIf_expr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitIf_expr(this);
+ }
+ }
+
+ public final If_exprContext if_expr() throws RecognitionException {
+ If_exprContext _localctx = new If_exprContext(_ctx, getState());
+ enterRule(_localctx, 4, RULE_if_expr);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(69);
+ logical_expr();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Then_exprContext extends ParserRuleContext {
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public Then_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_then_expr; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterThen_expr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitThen_expr(this);
+ }
+ }
+
+ public final Then_exprContext then_expr() throws RecognitionException {
+ Then_exprContext _localctx = new Then_exprContext(_ctx, getState());
+ enterRule(_localctx, 6, RULE_then_expr);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(71);
+ transformation_expr();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Else_exprContext extends ParserRuleContext {
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public Else_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_else_expr; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterElse_expr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitElse_expr(this);
+ }
+ }
+
+ public final Else_exprContext else_expr() throws RecognitionException {
+ Else_exprContext _localctx = new Else_exprContext(_ctx, getState());
+ enterRule(_localctx, 8, RULE_else_expr);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(73);
+ transformation_expr();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Conditional_exprContext extends ParserRuleContext {
+ public Conditional_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_conditional_expr; }
+
+ public Conditional_exprContext() { }
+ public void copyFrom(Conditional_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class TernaryFuncWithoutIfContext extends Conditional_exprContext {
+ public If_exprContext if_expr() {
+ return getRuleContext(If_exprContext.class,0);
+ }
+ public TerminalNode QUESTION() { return getToken(StellarParser.QUESTION, 0); }
+ public Then_exprContext then_expr() {
+ return getRuleContext(Then_exprContext.class,0);
+ }
+ public TerminalNode COLON() { return getToken(StellarParser.COLON, 0); }
+ public Else_exprContext else_expr() {
+ return getRuleContext(Else_exprContext.class,0);
+ }
+ public TernaryFuncWithoutIfContext(Conditional_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTernaryFuncWithoutIf(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTernaryFuncWithoutIf(this);
+ }
+ }
+ public static class TernaryFuncWithIfContext extends Conditional_exprContext {
+ public TerminalNode IF() { return getToken(StellarParser.IF, 0); }
+ public If_exprContext if_expr() {
+ return getRuleContext(If_exprContext.class,0);
+ }
+ public TerminalNode THEN() { return getToken(StellarParser.THEN, 0); }
+ public Then_exprContext then_expr() {
+ return getRuleContext(Then_exprContext.class,0);
+ }
+ public TerminalNode ELSE() { return getToken(StellarParser.ELSE, 0); }
+ public Else_exprContext else_expr() {
+ return getRuleContext(Else_exprContext.class,0);
+ }
+ public TernaryFuncWithIfContext(Conditional_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTernaryFuncWithIf(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTernaryFuncWithIf(this);
+ }
+ }
+
+ public final Conditional_exprContext conditional_expr() throws RecognitionException {
+ Conditional_exprContext _localctx = new Conditional_exprContext(_ctx, getState());
+ enterRule(_localctx, 10, RULE_conditional_expr);
+ try {
+ setState(88);
+ switch (_input.LA(1)) {
+ case NOT:
+ case TRUE:
+ case FALSE:
+ case NULL:
+ case LBRACE:
+ case LBRACKET:
+ case LPAREN:
+ case EXISTS:
+ case INT_LITERAL:
+ case DOUBLE_LITERAL:
+ case FLOAT_LITERAL:
+ case LONG_LITERAL:
+ case IDENTIFIER:
+ case STRING_LITERAL:
+ _localctx = new TernaryFuncWithoutIfContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(75);
+ if_expr();
+ setState(76);
+ match(QUESTION);
+ setState(77);
+ then_expr();
+ setState(78);
+ match(COLON);
+ setState(79);
+ else_expr();
+ }
+ break;
+ case IF:
+ _localctx = new TernaryFuncWithIfContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(81);
+ match(IF);
+ setState(82);
+ if_expr();
+ setState(83);
+ match(THEN);
+ setState(84);
+ then_expr();
+ setState(85);
+ match(ELSE);
+ setState(86);
+ else_expr();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Logical_exprContext extends ParserRuleContext {
+ public Logical_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_logical_expr; }
+
+ public Logical_exprContext() { }
+ public void copyFrom(Logical_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class LogicalExpressionAndContext extends Logical_exprContext {
+ public B_exprContext b_expr() {
+ return getRuleContext(B_exprContext.class,0);
+ }
+ public TerminalNode AND() { return getToken(StellarParser.AND, 0); }
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public LogicalExpressionAndContext(Logical_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLogicalExpressionAnd(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLogicalExpressionAnd(this);
+ }
+ }
+ public static class BoleanExpressionContext extends Logical_exprContext {
+ public B_exprContext b_expr() {
+ return getRuleContext(B_exprContext.class,0);
+ }
+ public BoleanExpressionContext(Logical_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterBoleanExpression(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitBoleanExpression(this);
+ }
+ }
+ public static class LogicalExpressionOrContext extends Logical_exprContext {
+ public B_exprContext b_expr() {
+ return getRuleContext(B_exprContext.class,0);
+ }
+ public TerminalNode OR() { return getToken(StellarParser.OR, 0); }
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public LogicalExpressionOrContext(Logical_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLogicalExpressionOr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLogicalExpressionOr(this);
+ }
+ }
+
+ public final Logical_exprContext logical_expr() throws RecognitionException {
+ Logical_exprContext _localctx = new Logical_exprContext(_ctx, getState());
+ enterRule(_localctx, 12, RULE_logical_expr);
+ try {
+ setState(99);
+ switch ( getInterpreter().adaptivePredict(_input,2,_ctx) ) {
+ case 1:
+ _localctx = new LogicalExpressionAndContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(90);
+ b_expr();
+ setState(91);
+ match(AND);
+ setState(92);
+ logical_expr();
+ }
+ break;
+ case 2:
+ _localctx = new LogicalExpressionOrContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(94);
+ b_expr();
+ setState(95);
+ match(OR);
+ setState(96);
+ logical_expr();
+ }
+ break;
+ case 3:
+ _localctx = new BoleanExpressionContext(_localctx);
+ enterOuterAlt(_localctx, 3);
+ {
+ setState(98);
+ b_expr();
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class B_exprContext extends ParserRuleContext {
+ public Comparison_exprContext comparison_expr() {
+ return getRuleContext(Comparison_exprContext.class,0);
+ }
+ public In_exprContext in_expr() {
+ return getRuleContext(In_exprContext.class,0);
+ }
+ public B_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_b_expr; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterB_expr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitB_expr(this);
+ }
+ }
+
+ public final B_exprContext b_expr() throws RecognitionException {
+ B_exprContext _localctx = new B_exprContext(_ctx, getState());
+ enterRule(_localctx, 14, RULE_b_expr);
+ try {
+ setState(103);
+ switch ( getInterpreter().adaptivePredict(_input,3,_ctx) ) {
+ case 1:
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(101);
+ comparison_expr(0);
+ }
+ break;
+ case 2:
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(102);
+ in_expr();
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class In_exprContext extends ParserRuleContext {
+ public In_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_in_expr; }
+
+ public In_exprContext() { }
+ public void copyFrom(In_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class NInExpressionStatementContext extends In_exprContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public TerminalNode NIN() { return getToken(StellarParser.NIN, 0); }
+ public B_exprContext b_expr() {
+ return getRuleContext(B_exprContext.class,0);
+ }
+ public NInExpressionStatementContext(In_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterNInExpressionStatement(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitNInExpressionStatement(this);
+ }
+ }
+ public static class InExpressionStatementContext extends In_exprContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public TerminalNode IN() { return getToken(StellarParser.IN, 0); }
+ public B_exprContext b_expr() {
+ return getRuleContext(B_exprContext.class,0);
+ }
+ public InExpressionStatementContext(In_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterInExpressionStatement(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitInExpressionStatement(this);
+ }
+ }
+
+ public final In_exprContext in_expr() throws RecognitionException {
+ In_exprContext _localctx = new In_exprContext(_ctx, getState());
+ enterRule(_localctx, 16, RULE_in_expr);
+ try {
+ setState(113);
+ switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
+ case 1:
+ _localctx = new InExpressionStatementContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(105);
+ identifier_operand();
+ setState(106);
+ match(IN);
+ setState(107);
+ b_expr();
+ }
+ break;
+ case 2:
+ _localctx = new NInExpressionStatementContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(109);
+ identifier_operand();
+ setState(110);
+ match(NIN);
+ setState(111);
+ b_expr();
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Comparison_exprContext extends ParserRuleContext {
+ public Comparison_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_comparison_expr; }
+
+ public Comparison_exprContext() { }
+ public void copyFrom(Comparison_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class NotFuncContext extends Comparison_exprContext {
+ public TerminalNode NOT() { return getToken(StellarParser.NOT, 0); }
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public NotFuncContext(Comparison_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterNotFunc(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitNotFunc(this);
+ }
+ }
+ public static class ComparisonExpressionParensContext extends Comparison_exprContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Logical_exprContext logical_expr() {
+ return getRuleContext(Logical_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public ComparisonExpressionParensContext(Comparison_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterComparisonExpressionParens(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitComparisonExpressionParens(this);
+ }
+ }
+ public static class ComparisonExpressionWithOperatorContext extends Comparison_exprContext {
+ public List<Comparison_exprContext> comparison_expr() {
+ return getRuleContexts(Comparison_exprContext.class);
+ }
+ public Comparison_exprContext comparison_expr(int i) {
+ return getRuleContext(Comparison_exprContext.class,i);
+ }
+ public Comp_operatorContext comp_operator() {
+ return getRuleContext(Comp_operatorContext.class,0);
+ }
+ public ComparisonExpressionWithOperatorContext(Comparison_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterComparisonExpressionWithOperator(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitComparisonExpressionWithOperator(this);
+ }
+ }
+ public static class OperandContext extends Comparison_exprContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public OperandContext(Comparison_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterOperand(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitOperand(this);
+ }
+ }
+
+ public final Comparison_exprContext comparison_expr() throws RecognitionException {
+ return comparison_expr(0);
+ }
+
+ private Comparison_exprContext comparison_expr(int _p) throws RecognitionException {
+ ParserRuleContext _parentctx = _ctx;
+ int _parentState = getState();
+ Comparison_exprContext _localctx = new Comparison_exprContext(_ctx, _parentState);
+ Comparison_exprContext _prevctx = _localctx;
+ int _startState = 18;
+ enterRecursionRule(_localctx, 18, RULE_comparison_expr, _p);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(126);
+ switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
+ case 1:
+ {
+ _localctx = new NotFuncContext(_localctx);
+ _ctx = _localctx;
+ _prevctx = _localctx;
+
+ setState(116);
+ match(NOT);
+ setState(117);
+ match(LPAREN);
+ setState(118);
+ logical_expr();
+ setState(119);
+ match(RPAREN);
+ }
+ break;
+ case 2:
+ {
+ _localctx = new ComparisonExpressionParensContext(_localctx);
+ _ctx = _localctx;
+ _prevctx = _localctx;
+ setState(121);
+ match(LPAREN);
+ setState(122);
+ logical_expr();
+ setState(123);
+ match(RPAREN);
+ }
+ break;
+ case 3:
+ {
+ _localctx = new OperandContext(_localctx);
+ _ctx = _localctx;
+ _prevctx = _localctx;
+ setState(125);
+ identifier_operand();
+ }
+ break;
+ }
+ _ctx.stop = _input.LT(-1);
+ setState(134);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,6,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ if ( _parseListeners!=null ) triggerExitRuleEvent();
+ _prevctx = _localctx;
+ {
+ {
+ _localctx = new ComparisonExpressionWithOperatorContext(new Comparison_exprContext(_parentctx, _parentState));
+ pushNewRecursionContext(_localctx, _startState, RULE_comparison_expr);
+ setState(128);
+ if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
+ setState(129);
+ comp_operator();
+ setState(130);
+ comparison_expr(5);
+ }
+ }
+ }
+ setState(136);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,6,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ unrollRecursionContexts(_parentctx);
+ }
+ return _localctx;
+ }
+
+ public static class Transformation_entityContext extends ParserRuleContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public Transformation_entityContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_transformation_entity; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTransformation_entity(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTransformation_entity(this);
+ }
+ }
+
+ public final Transformation_entityContext transformation_entity() throws RecognitionException {
+ Transformation_entityContext _localctx = new Transformation_entityContext(_ctx, getState());
+ enterRule(_localctx, 20, RULE_transformation_entity);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(137);
+ identifier_operand();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Comp_operatorContext extends ParserRuleContext {
+ public Comp_operatorContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_comp_operator; }
+
+ public Comp_operatorContext() { }
+ public void copyFrom(Comp_operatorContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class ComparisonOpContext extends Comp_operatorContext {
+ public TerminalNode EQ() { return getToken(StellarParser.EQ, 0); }
+ public TerminalNode NEQ() { return getToken(StellarParser.NEQ, 0); }
+ public TerminalNode LT() { return getToken(StellarParser.LT, 0); }
+ public TerminalNode LTE() { return getToken(StellarParser.LTE, 0); }
+ public TerminalNode GT() { return getToken(StellarParser.GT, 0); }
+ public TerminalNode GTE() { return getToken(StellarParser.GTE, 0); }
+ public ComparisonOpContext(Comp_operatorContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterComparisonOp(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitComparisonOp(this);
+ }
+ }
+
+ public final Comp_operatorContext comp_operator() throws RecognitionException {
+ Comp_operatorContext _localctx = new Comp_operatorContext(_ctx, getState());
+ enterRule(_localctx, 22, RULE_comp_operator);
+ int _la;
+ try {
+ _localctx = new ComparisonOpContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(139);
+ _la = _input.LA(1);
+ if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << EQ) | (1L << NEQ) | (1L << LT) | (1L << LTE) | (1L << GT) | (1L << GTE))) != 0)) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Func_argsContext extends ParserRuleContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Op_listContext op_list() {
+ return getRuleContext(Op_listContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public Func_argsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_func_args; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterFunc_args(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitFunc_args(this);
+ }
+ }
+
+ public final Func_argsContext func_args() throws RecognitionException {
+ Func_argsContext _localctx = new Func_argsContext(_ctx, getState());
+ enterRule(_localctx, 24, RULE_func_args);
+ try {
+ setState(147);
+ switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
+ case 1:
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(141);
+ match(LPAREN);
+ setState(142);
+ op_list(0);
+ setState(143);
+ match(RPAREN);
+ }
+ break;
+ case 2:
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(145);
+ match(LPAREN);
+ setState(146);
+ match(RPAREN);
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Op_listContext extends ParserRuleContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public Conditional_exprContext conditional_expr() {
+ return getRuleContext(Conditional_exprContext.class,0);
+ }
+ public Op_listContext op_list() {
+ return getRuleContext(Op_listContext.class,0);
+ }
+ public TerminalNode COMMA() { return getToken(StellarParser.COMMA, 0); }
+ public Op_listContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_op_list; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterOp_list(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitOp_list(this);
+ }
+ }
+
+ public final Op_listContext op_list() throws RecognitionException {
+ return op_list(0);
+ }
+
+ private Op_listContext op_list(int _p) throws RecognitionException {
+ ParserRuleContext _parentctx = _ctx;
+ int _parentState = getState();
+ Op_listContext _localctx = new Op_listContext(_ctx, _parentState);
+ Op_listContext _prevctx = _localctx;
+ int _startState = 26;
+ enterRecursionRule(_localctx, 26, RULE_op_list, _p);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(152);
+ switch ( getInterpreter().adaptivePredict(_input,8,_ctx) ) {
+ case 1:
+ {
+ setState(150);
+ identifier_operand();
+ }
+ break;
+ case 2:
+ {
+ setState(151);
+ conditional_expr();
+ }
+ break;
+ }
+ _ctx.stop = _input.LT(-1);
+ setState(162);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,10,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ if ( _parseListeners!=null ) triggerExitRuleEvent();
+ _prevctx = _localctx;
+ {
+ setState(160);
+ switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
+ case 1:
+ {
+ _localctx = new Op_listContext(_parentctx, _parentState);
+ pushNewRecursionContext(_localctx, _startState, RULE_op_list);
+ setState(154);
+ if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
+ setState(155);
+ match(COMMA);
+ setState(156);
+ identifier_operand();
+ }
+ break;
+ case 2:
+ {
+ _localctx = new Op_listContext(_parentctx, _parentState);
+ pushNewRecursionContext(_localctx, _startState, RULE_op_list);
+ setState(157);
+ if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
+ setState(158);
+ match(COMMA);
+ setState(159);
+ conditional_expr();
+ }
+ break;
+ }
+ }
+ }
+ setState(164);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,10,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ unrollRecursionContexts(_parentctx);
+ }
+ return _localctx;
+ }
+
+ public static class List_entityContext extends ParserRuleContext {
+ public TerminalNode LBRACKET() { return getToken(StellarParser.LBRACKET, 0); }
+ public TerminalNode RBRACKET() { return getToken(StellarParser.RBRACKET, 0); }
+ public Op_listContext op_list() {
+ return getRuleContext(Op_listContext.class,0);
+ }
+ public List_entityContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_list_entity; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterList_entity(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitList_entity(this);
+ }
+ }
+
+ public final List_entityContext list_entity() throws RecognitionException {
+ List_entityContext _localctx = new List_entityContext(_ctx, getState());
+ enterRule(_localctx, 28, RULE_list_entity);
+ try {
+ setState(171);
+ switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
+ case 1:
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(165);
+ match(LBRACKET);
+ setState(166);
+ match(RBRACKET);
+ }
+ break;
+ case 2:
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(167);
+ match(LBRACKET);
+ setState(168);
+ op_list(0);
+ setState(169);
+ match(RBRACKET);
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Kv_listContext extends ParserRuleContext {
+ public Identifier_operandContext identifier_operand() {
+ return getRuleContext(Identifier_operandContext.class,0);
+ }
+ public TerminalNode COLON() { return getToken(StellarParser.COLON, 0); }
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public Kv_listContext kv_list() {
+ return getRuleContext(Kv_listContext.class,0);
+ }
+ public TerminalNode COMMA() { return getToken(StellarParser.COMMA, 0); }
+ public Kv_listContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_kv_list; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterKv_list(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitKv_list(this);
+ }
+ }
+
+ public final Kv_listContext kv_list() throws RecognitionException {
+ return kv_list(0);
+ }
+
+ private Kv_listContext kv_list(int _p) throws RecognitionException {
+ ParserRuleContext _parentctx = _ctx;
+ int _parentState = getState();
+ Kv_listContext _localctx = new Kv_listContext(_ctx, _parentState);
+ Kv_listContext _prevctx = _localctx;
+ int _startState = 30;
+ enterRecursionRule(_localctx, 30, RULE_kv_list, _p);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ setState(174);
+ identifier_operand();
+ setState(175);
+ match(COLON);
+ setState(176);
+ transformation_expr();
+ }
+ _ctx.stop = _input.LT(-1);
+ setState(186);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,12,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ if ( _parseListeners!=null ) triggerExitRuleEvent();
+ _prevctx = _localctx;
+ {
+ {
+ _localctx = new Kv_listContext(_parentctx, _parentState);
+ pushNewRecursionContext(_localctx, _startState, RULE_kv_list);
+ setState(178);
+ if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
+ setState(179);
+ match(COMMA);
+ setState(180);
+ identifier_operand();
+ setState(181);
+ match(COLON);
+ setState(182);
+ transformation_expr();
+ }
+ }
+ }
+ setState(188);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,12,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ unrollRecursionContexts(_parentctx);
+ }
+ return _localctx;
+ }
+
+ public static class Map_entityContext extends ParserRuleContext {
+ public TerminalNode LBRACE() { return getToken(StellarParser.LBRACE, 0); }
+ public Kv_listContext kv_list() {
+ return getRuleContext(Kv_listContext.class,0);
+ }
+ public TerminalNode RBRACE() { return getToken(StellarParser.RBRACE, 0); }
+ public Map_entityContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_map_entity; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterMap_entity(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitMap_entity(this);
+ }
+ }
+
+ public final Map_entityContext map_entity() throws RecognitionException {
+ Map_entityContext _localctx = new Map_entityContext(_ctx, getState());
+ enterRule(_localctx, 32, RULE_map_entity);
+ try {
+ setState(195);
+ switch ( getInterpreter().adaptivePredict(_input,13,_ctx) ) {
+ case 1:
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(189);
+ match(LBRACE);
+ setState(190);
+ kv_list(0);
+ setState(191);
+ match(RBRACE);
+ }
+ break;
+ case 2:
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(193);
+ match(LBRACE);
+ setState(194);
+ match(RBRACE);
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Arithmetic_exprContext extends ParserRuleContext {
+ public Arithmetic_exprContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_arithmetic_expr; }
+
+ public Arithmetic_exprContext() { }
+ public void copyFrom(Arithmetic_exprContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class ArithExpr_soloContext extends Arithmetic_exprContext {
+ public Arithmetic_expr_mulContext arithmetic_expr_mul() {
+ return getRuleContext(Arithmetic_expr_mulContext.class,0);
+ }
+ public ArithExpr_soloContext(Arithmetic_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_solo(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_solo(this);
+ }
+ }
+ public static class ArithExpr_minusContext extends Arithmetic_exprContext {
+ public Arithmetic_exprContext arithmetic_expr() {
+ return getRuleContext(Arithmetic_exprContext.class,0);
+ }
+ public TerminalNode MINUS() { return getToken(StellarParser.MINUS, 0); }
+ public Arithmetic_expr_mulContext arithmetic_expr_mul() {
+ return getRuleContext(Arithmetic_expr_mulContext.class,0);
+ }
+ public ArithExpr_minusContext(Arithmetic_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_minus(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_minus(this);
+ }
+ }
+ public static class ArithExpr_plusContext extends Arithmetic_exprContext {
+ public Arithmetic_exprContext arithmetic_expr() {
+ return getRuleContext(Arithmetic_exprContext.class,0);
+ }
+ public TerminalNode PLUS() { return getToken(StellarParser.PLUS, 0); }
+ public Arithmetic_expr_mulContext arithmetic_expr_mul() {
+ return getRuleContext(Arithmetic_expr_mulContext.class,0);
+ }
+ public ArithExpr_plusContext(Arithmetic_exprContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_plus(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_plus(this);
+ }
+ }
+
+ public final Arithmetic_exprContext arithmetic_expr() throws RecognitionException {
+ return arithmetic_expr(0);
+ }
+
+ private Arithmetic_exprContext arithmetic_expr(int _p) throws RecognitionException {
+ ParserRuleContext _parentctx = _ctx;
+ int _parentState = getState();
+ Arithmetic_exprContext _localctx = new Arithmetic_exprContext(_ctx, _parentState);
+ Arithmetic_exprContext _prevctx = _localctx;
+ int _startState = 34;
+ enterRecursionRule(_localctx, 34, RULE_arithmetic_expr, _p);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ _localctx = new ArithExpr_soloContext(_localctx);
+ _ctx = _localctx;
+ _prevctx = _localctx;
+
+ setState(198);
+ arithmetic_expr_mul(0);
+ }
+ _ctx.stop = _input.LT(-1);
+ setState(208);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,15,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ if ( _parseListeners!=null ) triggerExitRuleEvent();
+ _prevctx = _localctx;
+ {
+ setState(206);
+ switch ( getInterpreter().adaptivePredict(_input,14,_ctx) ) {
+ case 1:
+ {
+ _localctx = new ArithExpr_plusContext(new Arithmetic_exprContext(_parentctx, _parentState));
+ pushNewRecursionContext(_localctx, _startState, RULE_arithmetic_expr);
+ setState(200);
+ if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
+ setState(201);
+ match(PLUS);
+ setState(202);
+ arithmetic_expr_mul(0);
+ }
+ break;
+ case 2:
+ {
+ _localctx = new ArithExpr_minusContext(new Arithmetic_exprContext(_parentctx, _parentState));
+ pushNewRecursionContext(_localctx, _startState, RULE_arithmetic_expr);
+ setState(203);
+ if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
+ setState(204);
+ match(MINUS);
+ setState(205);
+ arithmetic_expr_mul(0);
+ }
+ break;
+ }
+ }
+ }
+ setState(210);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,15,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ unrollRecursionContexts(_parentctx);
+ }
+ return _localctx;
+ }
+
+ public static class Arithmetic_expr_mulContext extends ParserRuleContext {
+ public Arithmetic_expr_mulContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_arithmetic_expr_mul; }
+
+ public Arithmetic_expr_mulContext() { }
+ public void copyFrom(Arithmetic_expr_mulContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class ArithExpr_divContext extends Arithmetic_expr_mulContext {
+ public List<Arithmetic_expr_mulContext> arithmetic_expr_mul() {
+ return getRuleContexts(Arithmetic_expr_mulContext.class);
+ }
+ public Arithmetic_expr_mulContext arithmetic_expr_mul(int i) {
+ return getRuleContext(Arithmetic_expr_mulContext.class,i);
+ }
+ public TerminalNode DIV() { return getToken(StellarParser.DIV, 0); }
+ public ArithExpr_divContext(Arithmetic_expr_mulContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_div(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_div(this);
+ }
+ }
+ public static class ArithExpr_mul_soloContext extends Arithmetic_expr_mulContext {
+ public Arithmetic_operandsContext arithmetic_operands() {
+ return getRuleContext(Arithmetic_operandsContext.class,0);
+ }
+ public ArithExpr_mul_soloContext(Arithmetic_expr_mulContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_mul_solo(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_mul_solo(this);
+ }
+ }
+ public static class ArithExpr_mulContext extends Arithmetic_expr_mulContext {
+ public List<Arithmetic_expr_mulContext> arithmetic_expr_mul() {
+ return getRuleContexts(Arithmetic_expr_mulContext.class);
+ }
+ public Arithmetic_expr_mulContext arithmetic_expr_mul(int i) {
+ return getRuleContext(Arithmetic_expr_mulContext.class,i);
+ }
+ public TerminalNode MUL() { return getToken(StellarParser.MUL, 0); }
+ public ArithExpr_mulContext(Arithmetic_expr_mulContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithExpr_mul(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithExpr_mul(this);
+ }
+ }
+
+ public final Arithmetic_expr_mulContext arithmetic_expr_mul() throws RecognitionException {
+ return arithmetic_expr_mul(0);
+ }
+
+ private Arithmetic_expr_mulContext arithmetic_expr_mul(int _p) throws RecognitionException {
+ ParserRuleContext _parentctx = _ctx;
+ int _parentState = getState();
+ Arithmetic_expr_mulContext _localctx = new Arithmetic_expr_mulContext(_ctx, _parentState);
+ Arithmetic_expr_mulContext _prevctx = _localctx;
+ int _startState = 36;
+ enterRecursionRule(_localctx, 36, RULE_arithmetic_expr_mul, _p);
+ try {
+ int _alt;
+ enterOuterAlt(_localctx, 1);
+ {
+ {
+ _localctx = new ArithExpr_mul_soloContext(_localctx);
+ _ctx = _localctx;
+ _prevctx = _localctx;
+
+ setState(212);
+ arithmetic_operands();
+ }
+ _ctx.stop = _input.LT(-1);
+ setState(222);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,17,_ctx);
+ while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
+ if ( _alt==1 ) {
+ if ( _parseListeners!=null ) triggerExitRuleEvent();
+ _prevctx = _localctx;
+ {
+ setState(220);
+ switch ( getInterpreter().adaptivePredict(_input,16,_ctx) ) {
+ case 1:
+ {
+ _localctx = new ArithExpr_mulContext(new Arithmetic_expr_mulContext(_parentctx, _parentState));
+ pushNewRecursionContext(_localctx, _startState, RULE_arithmetic_expr_mul);
+ setState(214);
+ if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
+ setState(215);
+ match(MUL);
+ setState(216);
+ arithmetic_expr_mul(3);
+ }
+ break;
+ case 2:
+ {
+ _localctx = new ArithExpr_divContext(new Arithmetic_expr_mulContext(_parentctx, _parentState));
+ pushNewRecursionContext(_localctx, _startState, RULE_arithmetic_expr_mul);
+ setState(217);
+ if (!(precpred(_ctx, 1))) throw new FailedPredicateException(this, "precpred(_ctx, 1)");
+ setState(218);
+ match(DIV);
+ setState(219);
+ arithmetic_expr_mul(2);
+ }
+ break;
+ }
+ }
+ }
+ setState(224);
+ _errHandler.sync(this);
+ _alt = getInterpreter().adaptivePredict(_input,17,_ctx);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ unrollRecursionContexts(_parentctx);
+ }
+ return _localctx;
+ }
+
+ public static class FunctionsContext extends ParserRuleContext {
+ public FunctionsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_functions; }
+
+ public FunctionsContext() { }
+ public void copyFrom(FunctionsContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class TransformationFuncContext extends FunctionsContext {
+ public TerminalNode IDENTIFIER() { return getToken(StellarParser.IDENTIFIER, 0); }
+ public Func_argsContext func_args() {
+ return getRuleContext(Func_argsContext.class,0);
+ }
+ public TransformationFuncContext(FunctionsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterTransformationFunc(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitTransformationFunc(this);
+ }
+ }
+
+ public final FunctionsContext functions() throws RecognitionException {
+ FunctionsContext _localctx = new FunctionsContext(_ctx, getState());
+ enterRule(_localctx, 38, RULE_functions);
+ try {
+ _localctx = new TransformationFuncContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(225);
+ match(IDENTIFIER);
+ setState(226);
+ func_args();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Arithmetic_operandsContext extends ParserRuleContext {
+ public Arithmetic_operandsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_arithmetic_operands; }
+
+ public Arithmetic_operandsContext() { }
+ public void copyFrom(Arithmetic_operandsContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class VariableContext extends Arithmetic_operandsContext {
+ public TerminalNode IDENTIFIER() { return getToken(StellarParser.IDENTIFIER, 0); }
+ public VariableContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterVariable(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitVariable(this);
+ }
+ }
+ public static class NumericFunctionsContext extends Arithmetic_operandsContext {
+ public FunctionsContext functions() {
+ return getRuleContext(FunctionsContext.class,0);
+ }
+ public NumericFunctionsContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterNumericFunctions(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitNumericFunctions(this);
+ }
+ }
+ public static class LongLiteralContext extends Arithmetic_operandsContext {
+ public TerminalNode LONG_LITERAL() { return getToken(StellarParser.LONG_LITERAL, 0); }
+ public LongLiteralContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLongLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLongLiteral(this);
+ }
+ }
+ public static class FloatLiteralContext extends Arithmetic_operandsContext {
+ public TerminalNode FLOAT_LITERAL() { return getToken(StellarParser.FLOAT_LITERAL, 0); }
+ public FloatLiteralContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterFloatLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitFloatLiteral(this);
+ }
+ }
+ public static class CondExprContext extends Arithmetic_operandsContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Conditional_exprContext conditional_expr() {
+ return getRuleContext(Conditional_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public CondExprContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterCondExpr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitCondExpr(this);
+ }
+ }
+ public static class ParenArithContext extends Arithmetic_operandsContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Arithmetic_exprContext arithmetic_expr() {
+ return getRuleContext(Arithmetic_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public ParenArithContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterParenArith(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitParenArith(this);
+ }
+ }
+ public static class IntLiteralContext extends Arithmetic_operandsContext {
+ public TerminalNode INT_LITERAL() { return getToken(StellarParser.INT_LITERAL, 0); }
+ public IntLiteralContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterIntLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitIntLiteral(this);
+ }
+ }
+ public static class DoubleLiteralContext extends Arithmetic_operandsContext {
+ public TerminalNode DOUBLE_LITERAL() { return getToken(StellarParser.DOUBLE_LITERAL, 0); }
+ public DoubleLiteralContext(Arithmetic_operandsContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterDoubleLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitDoubleLiteral(this);
+ }
+ }
+
+ public final Arithmetic_operandsContext arithmetic_operands() throws RecognitionException {
+ Arithmetic_operandsContext _localctx = new Arithmetic_operandsContext(_ctx, getState());
+ enterRule(_localctx, 40, RULE_arithmetic_operands);
+ try {
+ setState(242);
+ switch ( getInterpreter().adaptivePredict(_input,18,_ctx) ) {
+ case 1:
+ _localctx = new NumericFunctionsContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(228);
+ functions();
+ }
+ break;
+ case 2:
+ _localctx = new DoubleLiteralContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(229);
+ match(DOUBLE_LITERAL);
+ }
+ break;
+ case 3:
+ _localctx = new IntLiteralContext(_localctx);
+ enterOuterAlt(_localctx, 3);
+ {
+ setState(230);
+ match(INT_LITERAL);
+ }
+ break;
+ case 4:
+ _localctx = new LongLiteralContext(_localctx);
+ enterOuterAlt(_localctx, 4);
+ {
+ setState(231);
+ match(LONG_LITERAL);
+ }
+ break;
+ case 5:
+ _localctx = new FloatLiteralContext(_localctx);
+ enterOuterAlt(_localctx, 5);
+ {
+ setState(232);
+ match(FLOAT_LITERAL);
+ }
+ break;
+ case 6:
+ _localctx = new VariableContext(_localctx);
+ enterOuterAlt(_localctx, 6);
+ {
+ setState(233);
+ match(IDENTIFIER);
+ }
+ break;
+ case 7:
+ _localctx = new ParenArithContext(_localctx);
+ enterOuterAlt(_localctx, 7);
+ {
+ setState(234);
+ match(LPAREN);
+ setState(235);
+ arithmetic_expr(0);
+ setState(236);
+ match(RPAREN);
+ }
+ break;
+ case 8:
+ _localctx = new CondExprContext(_localctx);
+ enterOuterAlt(_localctx, 8);
+ {
+ setState(238);
+ match(LPAREN);
+ setState(239);
+ conditional_expr();
+ setState(240);
+ match(RPAREN);
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Identifier_operandContext extends ParserRuleContext {
+ public Identifier_operandContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_identifier_operand; }
+
+ public Identifier_operandContext() { }
+ public void copyFrom(Identifier_operandContext ctx) {
+ super.copyFrom(ctx);
+ }
+ }
+ public static class ArithmeticOperandsContext extends Identifier_operandContext {
+ public Arithmetic_exprContext arithmetic_expr() {
+ return getRuleContext(Arithmetic_exprContext.class,0);
+ }
+ public ArithmeticOperandsContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterArithmeticOperands(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitArithmeticOperands(this);
+ }
+ }
+ public static class LambdaWithArgsExprContext extends Identifier_operandContext {
+ public Lambda_with_argsContext lambda_with_args() {
+ return getRuleContext(Lambda_with_argsContext.class,0);
+ }
+ public LambdaWithArgsExprContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambdaWithArgsExpr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambdaWithArgsExpr(this);
+ }
+ }
+ public static class StringLiteralContext extends Identifier_operandContext {
+ public TerminalNode STRING_LITERAL() { return getToken(StellarParser.STRING_LITERAL, 0); }
+ public StringLiteralContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterStringLiteral(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitStringLiteral(this);
+ }
+ }
+ public static class LambdaWithoutArgsExprContext extends Identifier_operandContext {
+ public Lambda_without_argsContext lambda_without_args() {
+ return getRuleContext(Lambda_without_argsContext.class,0);
+ }
+ public LambdaWithoutArgsExprContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambdaWithoutArgsExpr(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambdaWithoutArgsExpr(this);
+ }
+ }
+ public static class ListContext extends Identifier_operandContext {
+ public List_entityContext list_entity() {
+ return getRuleContext(List_entityContext.class,0);
+ }
+ public ListContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterList(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitList(this);
+ }
+ }
+ public static class MapConstContext extends Identifier_operandContext {
+ public Map_entityContext map_entity() {
+ return getRuleContext(Map_entityContext.class,0);
+ }
+ public MapConstContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterMapConst(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitMapConst(this);
+ }
+ }
+ public static class LogicalConstContext extends Identifier_operandContext {
+ public TerminalNode TRUE() { return getToken(StellarParser.TRUE, 0); }
+ public TerminalNode FALSE() { return getToken(StellarParser.FALSE, 0); }
+ public LogicalConstContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLogicalConst(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLogicalConst(this);
+ }
+ }
+ public static class NullConstContext extends Identifier_operandContext {
+ public TerminalNode NULL() { return getToken(StellarParser.NULL, 0); }
+ public NullConstContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterNullConst(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitNullConst(this);
+ }
+ }
+ public static class ExistsFuncContext extends Identifier_operandContext {
+ public TerminalNode EXISTS() { return getToken(StellarParser.EXISTS, 0); }
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public TerminalNode IDENTIFIER() { return getToken(StellarParser.IDENTIFIER, 0); }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public ExistsFuncContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterExistsFunc(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitExistsFunc(this);
+ }
+ }
+ public static class CondExpr_parenContext extends Identifier_operandContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Conditional_exprContext conditional_expr() {
+ return getRuleContext(Conditional_exprContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public CondExpr_parenContext(Identifier_operandContext ctx) { copyFrom(ctx); }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterCondExpr_paren(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitCondExpr_paren(this);
+ }
+ }
+
+ public final Identifier_operandContext identifier_operand() throws RecognitionException {
+ Identifier_operandContext _localctx = new Identifier_operandContext(_ctx, getState());
+ enterRule(_localctx, 42, RULE_identifier_operand);
+ int _la;
+ try {
+ setState(260);
+ switch ( getInterpreter().adaptivePredict(_input,19,_ctx) ) {
+ case 1:
+ _localctx = new LogicalConstContext(_localctx);
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(244);
+ _la = _input.LA(1);
+ if ( !(_la==TRUE || _la==FALSE) ) {
+ _errHandler.recoverInline(this);
+ } else {
+ consume();
+ }
+ }
+ break;
+ case 2:
+ _localctx = new LambdaWithArgsExprContext(_localctx);
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(245);
+ lambda_with_args();
+ }
+ break;
+ case 3:
+ _localctx = new LambdaWithoutArgsExprContext(_localctx);
+ enterOuterAlt(_localctx, 3);
+ {
+ setState(246);
+ lambda_without_args();
+ }
+ break;
+ case 4:
+ _localctx = new ArithmeticOperandsContext(_localctx);
+ enterOuterAlt(_localctx, 4);
+ {
+ setState(247);
+ arithmetic_expr(0);
+ }
+ break;
+ case 5:
+ _localctx = new StringLiteralContext(_localctx);
+ enterOuterAlt(_localctx, 5);
+ {
+ setState(248);
+ match(STRING_LITERAL);
+ }
+ break;
+ case 6:
+ _localctx = new ListContext(_localctx);
+ enterOuterAlt(_localctx, 6);
+ {
+ setState(249);
+ list_entity();
+ }
+ break;
+ case 7:
+ _localctx = new MapConstContext(_localctx);
+ enterOuterAlt(_localctx, 7);
+ {
+ setState(250);
+ map_entity();
+ }
+ break;
+ case 8:
+ _localctx = new NullConstContext(_localctx);
+ enterOuterAlt(_localctx, 8);
+ {
+ setState(251);
+ match(NULL);
+ }
+ break;
+ case 9:
+ _localctx = new ExistsFuncContext(_localctx);
+ enterOuterAlt(_localctx, 9);
+ {
+ setState(252);
+ match(EXISTS);
+ setState(253);
+ match(LPAREN);
+ setState(254);
+ match(IDENTIFIER);
+ setState(255);
+ match(RPAREN);
+ }
+ break;
+ case 10:
+ _localctx = new CondExpr_parenContext(_localctx);
+ enterOuterAlt(_localctx, 10);
+ {
+ setState(256);
+ match(LPAREN);
+ setState(257);
+ conditional_expr();
+ setState(258);
+ match(RPAREN);
+ }
+ break;
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Lambda_without_argsContext extends ParserRuleContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public TerminalNode LAMBDA_OP() { return getToken(StellarParser.LAMBDA_OP, 0); }
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public Lambda_without_argsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_lambda_without_args; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambda_without_args(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambda_without_args(this);
+ }
+ }
+
+ public final Lambda_without_argsContext lambda_without_args() throws RecognitionException {
+ Lambda_without_argsContext _localctx = new Lambda_without_argsContext(_ctx, getState());
+ enterRule(_localctx, 44, RULE_lambda_without_args);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(262);
+ match(LPAREN);
+ setState(263);
+ match(RPAREN);
+ setState(264);
+ match(LAMBDA_OP);
+ setState(265);
+ transformation_expr();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Lambda_with_argsContext extends ParserRuleContext {
+ public TerminalNode LPAREN() { return getToken(StellarParser.LPAREN, 0); }
+ public Lambda_variablesContext lambda_variables() {
+ return getRuleContext(Lambda_variablesContext.class,0);
+ }
+ public TerminalNode RPAREN() { return getToken(StellarParser.RPAREN, 0); }
+ public TerminalNode LAMBDA_OP() { return getToken(StellarParser.LAMBDA_OP, 0); }
+ public Transformation_exprContext transformation_expr() {
+ return getRuleContext(Transformation_exprContext.class,0);
+ }
+ public Single_lambda_variableContext single_lambda_variable() {
+ return getRuleContext(Single_lambda_variableContext.class,0);
+ }
+ public Lambda_with_argsContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_lambda_with_args; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambda_with_args(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambda_with_args(this);
+ }
+ }
+
+ public final Lambda_with_argsContext lambda_with_args() throws RecognitionException {
+ Lambda_with_argsContext _localctx = new Lambda_with_argsContext(_ctx, getState());
+ enterRule(_localctx, 46, RULE_lambda_with_args);
+ try {
+ setState(277);
+ switch (_input.LA(1)) {
+ case LPAREN:
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(267);
+ match(LPAREN);
+ setState(268);
+ lambda_variables();
+ setState(269);
+ match(RPAREN);
+ setState(270);
+ match(LAMBDA_OP);
+ setState(271);
+ transformation_expr();
+ }
+ break;
+ case IDENTIFIER:
+ enterOuterAlt(_localctx, 2);
+ {
+ setState(273);
+ single_lambda_variable();
+ setState(274);
+ match(LAMBDA_OP);
+ setState(275);
+ transformation_expr();
+ }
+ break;
+ default:
+ throw new NoViableAltException(this);
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Lambda_variablesContext extends ParserRuleContext {
+ public List<Lambda_variableContext> lambda_variable() {
+ return getRuleContexts(Lambda_variableContext.class);
+ }
+ public Lambda_variableContext lambda_variable(int i) {
+ return getRuleContext(Lambda_variableContext.class,i);
+ }
+ public List<TerminalNode> COMMA() { return getTokens(StellarParser.COMMA); }
+ public TerminalNode COMMA(int i) {
+ return getToken(StellarParser.COMMA, i);
+ }
+ public Lambda_variablesContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_lambda_variables; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambda_variables(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambda_variables(this);
+ }
+ }
+
+ public final Lambda_variablesContext lambda_variables() throws RecognitionException {
+ Lambda_variablesContext _localctx = new Lambda_variablesContext(_ctx, getState());
+ enterRule(_localctx, 48, RULE_lambda_variables);
+ int _la;
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(279);
+ lambda_variable();
+ setState(284);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ while (_la==COMMA) {
+ {
+ {
+ setState(280);
+ match(COMMA);
+ setState(281);
+ lambda_variable();
+ }
+ }
+ setState(286);
+ _errHandler.sync(this);
+ _la = _input.LA(1);
+ }
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Single_lambda_variableContext extends ParserRuleContext {
+ public Lambda_variableContext lambda_variable() {
+ return getRuleContext(Lambda_variableContext.class,0);
+ }
+ public Single_lambda_variableContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_single_lambda_variable; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterSingle_lambda_variable(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitSingle_lambda_variable(this);
+ }
+ }
+
+ public final Single_lambda_variableContext single_lambda_variable() throws RecognitionException {
+ Single_lambda_variableContext _localctx = new Single_lambda_variableContext(_ctx, getState());
+ enterRule(_localctx, 50, RULE_single_lambda_variable);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(287);
+ lambda_variable();
+ }
+ }
+ catch (RecognitionException re) {
+ _localctx.exception = re;
+ _errHandler.reportError(this, re);
+ _errHandler.recover(this, re);
+ }
+ finally {
+ exitRule();
+ }
+ return _localctx;
+ }
+
+ public static class Lambda_variableContext extends ParserRuleContext {
+ public TerminalNode IDENTIFIER() { return getToken(StellarParser.IDENTIFIER, 0); }
+ public Lambda_variableContext(ParserRuleContext parent, int invokingState) {
+ super(parent, invokingState);
+ }
+ @Override public int getRuleIndex() { return RULE_lambda_variable; }
+ @Override
+ public void enterRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).enterLambda_variable(this);
+ }
+ @Override
+ public void exitRule(ParseTreeListener listener) {
+ if ( listener instanceof StellarListener ) ((StellarListener)listener).exitLambda_variable(this);
+ }
+ }
+
+ public final Lambda_variableContext lambda_variable() throws RecognitionException {
+ Lambda_variableContext _localctx = new Lambda_variableContext(_ctx, getState());
+ enterRule(_localctx, 52, RULE_lambda_variable);
+ try {
+ enterOuterAlt(_localctx, 1);
+ {
+ setState(289);
+ match(IDENTIFIER);
+ }
+ }
+ 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 9:
+ return comparison_expr_sempred((Comparison_exprContext)_localctx, predIndex);
+ case 13:
+ return op_list_sempred((Op_listContext)_localctx, predIndex);
+ case 15:
+ return kv_list_sempred((Kv_listContext)_localctx, predIndex);
+ case 17:
+ return arithmetic_expr_sempred((Arithmetic_exprContext)_localctx, predIndex);
+ case 18:
+ return arithmetic_expr_mul_sempred((Arithmetic_expr_mulContext)_localctx, predIndex);
+ }
+ return true;
+ }
+ private boolean comparison_expr_sempred(Comparison_exprContext _localctx, int predIndex) {
+ switch (predIndex) {
+ case 0:
+ return precpred(_ctx, 4);
+ }
+ return true;
+ }
+ private boolean op_list_sempred(Op_listContext _localctx, int predIndex) {
+ switch (predIndex) {
+ case 1:
+ return precpred(_ctx, 3);
+ case 2:
+ return precpred(_ctx, 1);
+ }
+ return true;
<TRUNCATED>