5127 lines
171 KiB
Java
5127 lines
171 KiB
Java
// Generated from d:\stability\Data\Packages\ComfyUI\custom_nodes\more_math\more_math\Parser\MathExpr.g4 by ANTLR 4.9.2
|
|
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 MathExprParser extends Parser {
|
|
static { RuntimeMetaData.checkVersion("4.9.2", RuntimeMetaData.VERSION); }
|
|
|
|
protected static final DFA[] _decisionToDFA;
|
|
protected static final PredictionContextCache _sharedContextCache =
|
|
new PredictionContextCache();
|
|
public static final int
|
|
SIN=1, COS=2, TAN=3, ASIN=4, ACOS=5, ATAN=6, ATAN2=7, SINH=8, COSH=9,
|
|
TANH=10, ASINH=11, ACOSH=12, ATANH=13, ABS=14, SQRT=15, LN=16, LOG=17,
|
|
EXP=18, SMIN=19, SMAX=20, TMIN=21, TMAX=22, TNORM=23, SNORM=24, FLOOR=25,
|
|
CEIL=26, ROUND=27, GAMMA=28, POWE=29, SIGM=30, CLAMP=31, SFFT=32, SIFFT=33,
|
|
ANGL=34, PRNT=35, PRINT_SHAPE=36, NVL=37, LERP=38, STEP=39, SMOOTHSTEP=40,
|
|
FRACT=41, RELU=42, SOFTPLUS=43, GELU=44, SIGN=45, MAP=46, EZCONV=47, CONV=48,
|
|
SWAP=49, PERM=50, RESHAPE=51, RANGE=52, TOPK=53, BOTK=54, PINV=55, SUM=56,
|
|
MEAN=57, STD=58, VAR=59, QUARTILE=60, PERCENTILE=61, QUANTILE=62, DOT=63,
|
|
MOMENT=64, NOISE=65, RAND=66, CAUCHY=67, EXPONENTIAL=68, LOGNORMAL=69,
|
|
BERNOULLI=70, POISSON=71, COSSIM=72, FLIP=73, COV=74, SORT=75, APPEND=76,
|
|
PLUS=77, MINUS=78, MULT=79, DIV=80, MOD=81, POW=82, GE=83, GT=84, LE=85,
|
|
LT=86, EQ=87, EQUEALS=88, NE=89, PIPE=90, LPAREN=91, RPAREN=92, COMMA=93,
|
|
SEMICOLON=94, ARROW=95, LBRACKET=96, RBRACKET=97, CONSTANT=98, NUMBER=99,
|
|
VARIABLE=100, WS=101;
|
|
public static final int
|
|
RULE_start = 0, RULE_funcDef = 1, RULE_varDef = 2, RULE_paramList = 3,
|
|
RULE_expr = 4, RULE_compExpr = 5, RULE_addExpr = 6, RULE_mulExpr = 7,
|
|
RULE_powExpr = 8, RULE_unaryExpr = 9, RULE_indexExpr = 10, RULE_atom = 11,
|
|
RULE_exprList = 12, RULE_func1 = 13, RULE_func2 = 14, RULE_func3 = 15,
|
|
RULE_func4 = 16, RULE_funcN = 17;
|
|
private static String[] makeRuleNames() {
|
|
return new String[] {
|
|
"start", "funcDef", "varDef", "paramList", "expr", "compExpr", "addExpr",
|
|
"mulExpr", "powExpr", "unaryExpr", "indexExpr", "atom", "exprList", "func1",
|
|
"func2", "func3", "func4", "funcN"
|
|
};
|
|
}
|
|
public static final String[] ruleNames = makeRuleNames();
|
|
|
|
private static String[] makeLiteralNames() {
|
|
return new String[] {
|
|
null, "'sin'", "'cos'", "'tan'", "'asin'", "'acos'", "'atan'", "'atan2'",
|
|
"'sinh'", "'cosh'", "'tanh'", "'asinh'", "'acosh'", "'atanh'", "'abs'",
|
|
"'sqrt'", "'ln'", "'log'", "'exp'", "'smin'", "'smax'", "'tmin'", "'tmax'",
|
|
"'tnorm'", "'snorm'", "'floor'", "'ceil'", "'round'", "'gamma'", "'pow'",
|
|
"'sigm'", "'clamp'", "'fft'", "'ifft'", "'angle'", "'print'", null, null,
|
|
"'lerp'", "'step'", "'smoothstep'", "'fract'", "'relu'", "'softplus'",
|
|
"'gelu'", "'sign'", "'map'", null, null, "'swap'", null, null, "'range'",
|
|
"'topk'", "'botk'", "'pinv'", "'sum'", "'mean'", "'std'", "'var'", null,
|
|
null, "'quantile'", "'dot'", "'moment'", null, null, null, null, null,
|
|
null, null, "'cossim'", "'flip'", "'cov'", "'sort'", "'append'", "'+'",
|
|
"'-'", "'*'", "'/'", "'%'", "'^'", "'>='", "'>'", "'<='", "'<'", "'=='",
|
|
"'='", "'!='", "'|'", "'('", "')'", "','", "';'", "'->'", "'['", "']'"
|
|
};
|
|
}
|
|
private static final String[] _LITERAL_NAMES = makeLiteralNames();
|
|
private static String[] makeSymbolicNames() {
|
|
return new String[] {
|
|
null, "SIN", "COS", "TAN", "ASIN", "ACOS", "ATAN", "ATAN2", "SINH", "COSH",
|
|
"TANH", "ASINH", "ACOSH", "ATANH", "ABS", "SQRT", "LN", "LOG", "EXP",
|
|
"SMIN", "SMAX", "TMIN", "TMAX", "TNORM", "SNORM", "FLOOR", "CEIL", "ROUND",
|
|
"GAMMA", "POWE", "SIGM", "CLAMP", "SFFT", "SIFFT", "ANGL", "PRNT", "PRINT_SHAPE",
|
|
"NVL", "LERP", "STEP", "SMOOTHSTEP", "FRACT", "RELU", "SOFTPLUS", "GELU",
|
|
"SIGN", "MAP", "EZCONV", "CONV", "SWAP", "PERM", "RESHAPE", "RANGE",
|
|
"TOPK", "BOTK", "PINV", "SUM", "MEAN", "STD", "VAR", "QUARTILE", "PERCENTILE",
|
|
"QUANTILE", "DOT", "MOMENT", "NOISE", "RAND", "CAUCHY", "EXPONENTIAL",
|
|
"LOGNORMAL", "BERNOULLI", "POISSON", "COSSIM", "FLIP", "COV", "SORT",
|
|
"APPEND", "PLUS", "MINUS", "MULT", "DIV", "MOD", "POW", "GE", "GT", "LE",
|
|
"LT", "EQ", "EQUEALS", "NE", "PIPE", "LPAREN", "RPAREN", "COMMA", "SEMICOLON",
|
|
"ARROW", "LBRACKET", "RBRACKET", "CONSTANT", "NUMBER", "VARIABLE", "WS"
|
|
};
|
|
}
|
|
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] = "<INVALID>";
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
@Deprecated
|
|
public String[] getTokenNames() {
|
|
return tokenNames;
|
|
}
|
|
|
|
@Override
|
|
|
|
public Vocabulary getVocabulary() {
|
|
return VOCABULARY;
|
|
}
|
|
|
|
@Override
|
|
public String getGrammarFileName() { return "MathExpr.g4"; }
|
|
|
|
@Override
|
|
public String[] getRuleNames() { return ruleNames; }
|
|
|
|
@Override
|
|
public String getSerializedATN() { return _serializedATN; }
|
|
|
|
@Override
|
|
public ATN getATN() { return _ATN; }
|
|
|
|
public MathExprParser(TokenStream input) {
|
|
super(input);
|
|
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
|
|
}
|
|
|
|
public static class StartContext extends ParserRuleContext {
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode EOF() { return getToken(MathExprParser.EOF, 0); }
|
|
public List<FuncDefContext> funcDef() {
|
|
return getRuleContexts(FuncDefContext.class);
|
|
}
|
|
public FuncDefContext funcDef(int i) {
|
|
return getRuleContext(FuncDefContext.class,i);
|
|
}
|
|
public List<VarDefContext> varDef() {
|
|
return getRuleContexts(VarDefContext.class);
|
|
}
|
|
public VarDefContext varDef(int i) {
|
|
return getRuleContext(VarDefContext.class,i);
|
|
}
|
|
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 MathExprListener ) ((MathExprListener)listener).enterStart(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitStart(this);
|
|
}
|
|
}
|
|
|
|
public final StartContext start() throws RecognitionException {
|
|
StartContext _localctx = new StartContext(_ctx, getState());
|
|
enterRule(_localctx, 0, RULE_start);
|
|
try {
|
|
int _alt;
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(39);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,0,_ctx);
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
if ( _alt==1 ) {
|
|
{
|
|
{
|
|
setState(36);
|
|
funcDef();
|
|
}
|
|
}
|
|
}
|
|
setState(41);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,0,_ctx);
|
|
}
|
|
setState(45);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,1,_ctx);
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
if ( _alt==1 ) {
|
|
{
|
|
{
|
|
setState(42);
|
|
varDef();
|
|
}
|
|
}
|
|
}
|
|
setState(47);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,1,_ctx);
|
|
}
|
|
setState(48);
|
|
expr();
|
|
setState(49);
|
|
match(EOF);
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class FuncDefContext extends ParserRuleContext {
|
|
public FuncDefContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_funcDef; }
|
|
|
|
public FuncDefContext() { }
|
|
public void copyFrom(FuncDefContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class FunctionDefContext extends FuncDefContext {
|
|
public TerminalNode VARIABLE() { return getToken(MathExprParser.VARIABLE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TerminalNode ARROW() { return getToken(MathExprParser.ARROW, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode SEMICOLON() { return getToken(MathExprParser.SEMICOLON, 0); }
|
|
public ParamListContext paramList() {
|
|
return getRuleContext(ParamListContext.class,0);
|
|
}
|
|
public FunctionDefContext(FuncDefContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFunctionDef(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFunctionDef(this);
|
|
}
|
|
}
|
|
|
|
public final FuncDefContext funcDef() throws RecognitionException {
|
|
FuncDefContext _localctx = new FuncDefContext(_ctx, getState());
|
|
enterRule(_localctx, 2, RULE_funcDef);
|
|
int _la;
|
|
try {
|
|
_localctx = new FunctionDefContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(51);
|
|
match(VARIABLE);
|
|
setState(52);
|
|
match(LPAREN);
|
|
setState(54);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
if (_la==VARIABLE) {
|
|
{
|
|
setState(53);
|
|
paramList();
|
|
}
|
|
}
|
|
|
|
setState(56);
|
|
match(RPAREN);
|
|
setState(57);
|
|
match(ARROW);
|
|
setState(58);
|
|
expr();
|
|
setState(59);
|
|
match(SEMICOLON);
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class VarDefContext extends ParserRuleContext {
|
|
public TerminalNode VARIABLE() { return getToken(MathExprParser.VARIABLE, 0); }
|
|
public TerminalNode EQUEALS() { return getToken(MathExprParser.EQUEALS, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode SEMICOLON() { return getToken(MathExprParser.SEMICOLON, 0); }
|
|
public VarDefContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_varDef; }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterVarDef(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitVarDef(this);
|
|
}
|
|
}
|
|
|
|
public final VarDefContext varDef() throws RecognitionException {
|
|
VarDefContext _localctx = new VarDefContext(_ctx, getState());
|
|
enterRule(_localctx, 4, RULE_varDef);
|
|
try {
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(61);
|
|
match(VARIABLE);
|
|
setState(62);
|
|
match(EQUEALS);
|
|
setState(63);
|
|
expr();
|
|
setState(64);
|
|
match(SEMICOLON);
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class ParamListContext extends ParserRuleContext {
|
|
public List<TerminalNode> VARIABLE() { return getTokens(MathExprParser.VARIABLE); }
|
|
public TerminalNode VARIABLE(int i) {
|
|
return getToken(MathExprParser.VARIABLE, i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public ParamListContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_paramList; }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterParamList(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitParamList(this);
|
|
}
|
|
}
|
|
|
|
public final ParamListContext paramList() throws RecognitionException {
|
|
ParamListContext _localctx = new ParamListContext(_ctx, getState());
|
|
enterRule(_localctx, 6, RULE_paramList);
|
|
int _la;
|
|
try {
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(66);
|
|
match(VARIABLE);
|
|
setState(71);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(67);
|
|
match(COMMA);
|
|
setState(68);
|
|
match(VARIABLE);
|
|
}
|
|
}
|
|
setState(73);
|
|
_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 ExprContext extends ParserRuleContext {
|
|
public AtomContext atom() {
|
|
return getRuleContext(AtomContext.class,0);
|
|
}
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public ExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_expr; }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterExpr(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitExpr(this);
|
|
}
|
|
}
|
|
|
|
public final ExprContext expr() throws RecognitionException {
|
|
ExprContext _localctx = new ExprContext(_ctx, getState());
|
|
enterRule(_localctx, 8, RULE_expr);
|
|
try {
|
|
setState(76);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,4,_ctx) ) {
|
|
case 1:
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(74);
|
|
atom();
|
|
}
|
|
break;
|
|
case 2:
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(75);
|
|
compExpr(0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class CompExprContext extends ParserRuleContext {
|
|
public CompExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_compExpr; }
|
|
|
|
public CompExprContext() { }
|
|
public void copyFrom(CompExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class LtExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode LT() { return getToken(MathExprParser.LT, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public LtExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLtExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLtExp(this);
|
|
}
|
|
}
|
|
public static class EqExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode EQ() { return getToken(MathExprParser.EQ, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public EqExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterEqExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitEqExp(this);
|
|
}
|
|
}
|
|
public static class ToAddContext extends CompExprContext {
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public ToAddContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToAdd(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToAdd(this);
|
|
}
|
|
}
|
|
public static class GeExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode GE() { return getToken(MathExprParser.GE, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public GeExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterGeExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitGeExp(this);
|
|
}
|
|
}
|
|
public static class LeExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode LE() { return getToken(MathExprParser.LE, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public LeExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLeExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLeExp(this);
|
|
}
|
|
}
|
|
public static class NeExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode NE() { return getToken(MathExprParser.NE, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public NeExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterNeExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitNeExp(this);
|
|
}
|
|
}
|
|
public static class GtExpContext extends CompExprContext {
|
|
public CompExprContext compExpr() {
|
|
return getRuleContext(CompExprContext.class,0);
|
|
}
|
|
public TerminalNode GT() { return getToken(MathExprParser.GT, 0); }
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public GtExpContext(CompExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterGtExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitGtExp(this);
|
|
}
|
|
}
|
|
|
|
public final CompExprContext compExpr() throws RecognitionException {
|
|
return compExpr(0);
|
|
}
|
|
|
|
private CompExprContext compExpr(int _p) throws RecognitionException {
|
|
ParserRuleContext _parentctx = _ctx;
|
|
int _parentState = getState();
|
|
CompExprContext _localctx = new CompExprContext(_ctx, _parentState);
|
|
CompExprContext _prevctx = _localctx;
|
|
int _startState = 10;
|
|
enterRecursionRule(_localctx, 10, RULE_compExpr, _p);
|
|
try {
|
|
int _alt;
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
{
|
|
_localctx = new ToAddContext(_localctx);
|
|
_ctx = _localctx;
|
|
_prevctx = _localctx;
|
|
|
|
setState(79);
|
|
addExpr(0);
|
|
}
|
|
_ctx.stop = _input.LT(-1);
|
|
setState(101);
|
|
_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;
|
|
{
|
|
setState(99);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,5,_ctx) ) {
|
|
case 1:
|
|
{
|
|
_localctx = new GtExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(81);
|
|
if (!(precpred(_ctx, 7))) throw new FailedPredicateException(this, "precpred(_ctx, 7)");
|
|
setState(82);
|
|
match(GT);
|
|
setState(83);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
case 2:
|
|
{
|
|
_localctx = new GeExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(84);
|
|
if (!(precpred(_ctx, 6))) throw new FailedPredicateException(this, "precpred(_ctx, 6)");
|
|
setState(85);
|
|
match(GE);
|
|
setState(86);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
case 3:
|
|
{
|
|
_localctx = new LtExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(87);
|
|
if (!(precpred(_ctx, 5))) throw new FailedPredicateException(this, "precpred(_ctx, 5)");
|
|
setState(88);
|
|
match(LT);
|
|
setState(89);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
case 4:
|
|
{
|
|
_localctx = new LeExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(90);
|
|
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
|
|
setState(91);
|
|
match(LE);
|
|
setState(92);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
case 5:
|
|
{
|
|
_localctx = new EqExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(93);
|
|
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
|
|
setState(94);
|
|
match(EQ);
|
|
setState(95);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
case 6:
|
|
{
|
|
_localctx = new NeExpContext(new CompExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_compExpr);
|
|
setState(96);
|
|
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
|
|
setState(97);
|
|
match(NE);
|
|
setState(98);
|
|
addExpr(0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
setState(103);
|
|
_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 AddExprContext extends ParserRuleContext {
|
|
public AddExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_addExpr; }
|
|
|
|
public AddExprContext() { }
|
|
public void copyFrom(AddExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class AddExpContext extends AddExprContext {
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public TerminalNode PLUS() { return getToken(MathExprParser.PLUS, 0); }
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public AddExpContext(AddExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAddExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAddExp(this);
|
|
}
|
|
}
|
|
public static class ToMulContext extends AddExprContext {
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public ToMulContext(AddExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToMul(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToMul(this);
|
|
}
|
|
}
|
|
public static class SubExpContext extends AddExprContext {
|
|
public AddExprContext addExpr() {
|
|
return getRuleContext(AddExprContext.class,0);
|
|
}
|
|
public TerminalNode MINUS() { return getToken(MathExprParser.MINUS, 0); }
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public SubExpContext(AddExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSubExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSubExp(this);
|
|
}
|
|
}
|
|
|
|
public final AddExprContext addExpr() throws RecognitionException {
|
|
return addExpr(0);
|
|
}
|
|
|
|
private AddExprContext addExpr(int _p) throws RecognitionException {
|
|
ParserRuleContext _parentctx = _ctx;
|
|
int _parentState = getState();
|
|
AddExprContext _localctx = new AddExprContext(_ctx, _parentState);
|
|
AddExprContext _prevctx = _localctx;
|
|
int _startState = 12;
|
|
enterRecursionRule(_localctx, 12, RULE_addExpr, _p);
|
|
try {
|
|
int _alt;
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
{
|
|
_localctx = new ToMulContext(_localctx);
|
|
_ctx = _localctx;
|
|
_prevctx = _localctx;
|
|
|
|
setState(105);
|
|
mulExpr(0);
|
|
}
|
|
_ctx.stop = _input.LT(-1);
|
|
setState(115);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,8,_ctx);
|
|
while ( _alt!=2 && _alt!=org.antlr.v4.runtime.atn.ATN.INVALID_ALT_NUMBER ) {
|
|
if ( _alt==1 ) {
|
|
if ( _parseListeners!=null ) triggerExitRuleEvent();
|
|
_prevctx = _localctx;
|
|
{
|
|
setState(113);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,7,_ctx) ) {
|
|
case 1:
|
|
{
|
|
_localctx = new AddExpContext(new AddExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_addExpr);
|
|
setState(107);
|
|
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
|
|
setState(108);
|
|
match(PLUS);
|
|
setState(109);
|
|
mulExpr(0);
|
|
}
|
|
break;
|
|
case 2:
|
|
{
|
|
_localctx = new SubExpContext(new AddExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_addExpr);
|
|
setState(110);
|
|
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
|
|
setState(111);
|
|
match(MINUS);
|
|
setState(112);
|
|
mulExpr(0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
setState(117);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,8,_ctx);
|
|
}
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
unrollRecursionContexts(_parentctx);
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class MulExprContext extends ParserRuleContext {
|
|
public MulExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_mulExpr; }
|
|
|
|
public MulExprContext() { }
|
|
public void copyFrom(MulExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class MulExpContext extends MulExprContext {
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public TerminalNode MULT() { return getToken(MathExprParser.MULT, 0); }
|
|
public PowExprContext powExpr() {
|
|
return getRuleContext(PowExprContext.class,0);
|
|
}
|
|
public MulExpContext(MulExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterMulExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitMulExp(this);
|
|
}
|
|
}
|
|
public static class ModExpContext extends MulExprContext {
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public TerminalNode MOD() { return getToken(MathExprParser.MOD, 0); }
|
|
public PowExprContext powExpr() {
|
|
return getRuleContext(PowExprContext.class,0);
|
|
}
|
|
public ModExpContext(MulExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterModExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitModExp(this);
|
|
}
|
|
}
|
|
public static class DivExpContext extends MulExprContext {
|
|
public MulExprContext mulExpr() {
|
|
return getRuleContext(MulExprContext.class,0);
|
|
}
|
|
public TerminalNode DIV() { return getToken(MathExprParser.DIV, 0); }
|
|
public PowExprContext powExpr() {
|
|
return getRuleContext(PowExprContext.class,0);
|
|
}
|
|
public DivExpContext(MulExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterDivExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitDivExp(this);
|
|
}
|
|
}
|
|
public static class ToPowContext extends MulExprContext {
|
|
public PowExprContext powExpr() {
|
|
return getRuleContext(PowExprContext.class,0);
|
|
}
|
|
public ToPowContext(MulExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToPow(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToPow(this);
|
|
}
|
|
}
|
|
|
|
public final MulExprContext mulExpr() throws RecognitionException {
|
|
return mulExpr(0);
|
|
}
|
|
|
|
private MulExprContext mulExpr(int _p) throws RecognitionException {
|
|
ParserRuleContext _parentctx = _ctx;
|
|
int _parentState = getState();
|
|
MulExprContext _localctx = new MulExprContext(_ctx, _parentState);
|
|
MulExprContext _prevctx = _localctx;
|
|
int _startState = 14;
|
|
enterRecursionRule(_localctx, 14, RULE_mulExpr, _p);
|
|
try {
|
|
int _alt;
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
{
|
|
_localctx = new ToPowContext(_localctx);
|
|
_ctx = _localctx;
|
|
_prevctx = _localctx;
|
|
|
|
setState(119);
|
|
powExpr();
|
|
}
|
|
_ctx.stop = _input.LT(-1);
|
|
setState(132);
|
|
_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(130);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,9,_ctx) ) {
|
|
case 1:
|
|
{
|
|
_localctx = new MulExpContext(new MulExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_mulExpr);
|
|
setState(121);
|
|
if (!(precpred(_ctx, 4))) throw new FailedPredicateException(this, "precpred(_ctx, 4)");
|
|
setState(122);
|
|
match(MULT);
|
|
setState(123);
|
|
powExpr();
|
|
}
|
|
break;
|
|
case 2:
|
|
{
|
|
_localctx = new DivExpContext(new MulExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_mulExpr);
|
|
setState(124);
|
|
if (!(precpred(_ctx, 3))) throw new FailedPredicateException(this, "precpred(_ctx, 3)");
|
|
setState(125);
|
|
match(DIV);
|
|
setState(126);
|
|
powExpr();
|
|
}
|
|
break;
|
|
case 3:
|
|
{
|
|
_localctx = new ModExpContext(new MulExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_mulExpr);
|
|
setState(127);
|
|
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
|
|
setState(128);
|
|
match(MOD);
|
|
setState(129);
|
|
powExpr();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
setState(134);
|
|
_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 PowExprContext extends ParserRuleContext {
|
|
public PowExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_powExpr; }
|
|
|
|
public PowExprContext() { }
|
|
public void copyFrom(PowExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class PowExpContext extends PowExprContext {
|
|
public UnaryExprContext unaryExpr() {
|
|
return getRuleContext(UnaryExprContext.class,0);
|
|
}
|
|
public TerminalNode POW() { return getToken(MathExprParser.POW, 0); }
|
|
public PowExprContext powExpr() {
|
|
return getRuleContext(PowExprContext.class,0);
|
|
}
|
|
public PowExpContext(PowExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPowExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPowExp(this);
|
|
}
|
|
}
|
|
public static class ToUnaryContext extends PowExprContext {
|
|
public UnaryExprContext unaryExpr() {
|
|
return getRuleContext(UnaryExprContext.class,0);
|
|
}
|
|
public ToUnaryContext(PowExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToUnary(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToUnary(this);
|
|
}
|
|
}
|
|
|
|
public final PowExprContext powExpr() throws RecognitionException {
|
|
PowExprContext _localctx = new PowExprContext(_ctx, getState());
|
|
enterRule(_localctx, 16, RULE_powExpr);
|
|
try {
|
|
setState(140);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,11,_ctx) ) {
|
|
case 1:
|
|
_localctx = new PowExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(135);
|
|
unaryExpr();
|
|
setState(136);
|
|
match(POW);
|
|
setState(137);
|
|
powExpr();
|
|
}
|
|
break;
|
|
case 2:
|
|
_localctx = new ToUnaryContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(139);
|
|
unaryExpr();
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class UnaryExprContext extends ParserRuleContext {
|
|
public UnaryExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_unaryExpr; }
|
|
|
|
public UnaryExprContext() { }
|
|
public void copyFrom(UnaryExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class UnaryPlusContext extends UnaryExprContext {
|
|
public TerminalNode PLUS() { return getToken(MathExprParser.PLUS, 0); }
|
|
public UnaryExprContext unaryExpr() {
|
|
return getRuleContext(UnaryExprContext.class,0);
|
|
}
|
|
public UnaryPlusContext(UnaryExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterUnaryPlus(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitUnaryPlus(this);
|
|
}
|
|
}
|
|
public static class UnaryMinusContext extends UnaryExprContext {
|
|
public TerminalNode MINUS() { return getToken(MathExprParser.MINUS, 0); }
|
|
public UnaryExprContext unaryExpr() {
|
|
return getRuleContext(UnaryExprContext.class,0);
|
|
}
|
|
public UnaryMinusContext(UnaryExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterUnaryMinus(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitUnaryMinus(this);
|
|
}
|
|
}
|
|
public static class ToIndexContext extends UnaryExprContext {
|
|
public IndexExprContext indexExpr() {
|
|
return getRuleContext(IndexExprContext.class,0);
|
|
}
|
|
public ToIndexContext(UnaryExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToIndex(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToIndex(this);
|
|
}
|
|
}
|
|
|
|
public final UnaryExprContext unaryExpr() throws RecognitionException {
|
|
UnaryExprContext _localctx = new UnaryExprContext(_ctx, getState());
|
|
enterRule(_localctx, 18, RULE_unaryExpr);
|
|
try {
|
|
setState(147);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case PLUS:
|
|
_localctx = new UnaryPlusContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(142);
|
|
match(PLUS);
|
|
setState(143);
|
|
unaryExpr();
|
|
}
|
|
break;
|
|
case MINUS:
|
|
_localctx = new UnaryMinusContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(144);
|
|
match(MINUS);
|
|
setState(145);
|
|
unaryExpr();
|
|
}
|
|
break;
|
|
case SIN:
|
|
case COS:
|
|
case TAN:
|
|
case ASIN:
|
|
case ACOS:
|
|
case ATAN:
|
|
case ATAN2:
|
|
case SINH:
|
|
case COSH:
|
|
case TANH:
|
|
case ASINH:
|
|
case ACOSH:
|
|
case ATANH:
|
|
case ABS:
|
|
case SQRT:
|
|
case LN:
|
|
case LOG:
|
|
case EXP:
|
|
case SMIN:
|
|
case SMAX:
|
|
case TMIN:
|
|
case TMAX:
|
|
case TNORM:
|
|
case SNORM:
|
|
case FLOOR:
|
|
case CEIL:
|
|
case ROUND:
|
|
case GAMMA:
|
|
case POWE:
|
|
case SIGM:
|
|
case CLAMP:
|
|
case SFFT:
|
|
case SIFFT:
|
|
case ANGL:
|
|
case PRNT:
|
|
case PRINT_SHAPE:
|
|
case NVL:
|
|
case LERP:
|
|
case STEP:
|
|
case SMOOTHSTEP:
|
|
case FRACT:
|
|
case RELU:
|
|
case SOFTPLUS:
|
|
case GELU:
|
|
case SIGN:
|
|
case MAP:
|
|
case EZCONV:
|
|
case CONV:
|
|
case SWAP:
|
|
case PERM:
|
|
case RESHAPE:
|
|
case RANGE:
|
|
case TOPK:
|
|
case BOTK:
|
|
case PINV:
|
|
case SUM:
|
|
case MEAN:
|
|
case STD:
|
|
case VAR:
|
|
case QUARTILE:
|
|
case PERCENTILE:
|
|
case QUANTILE:
|
|
case DOT:
|
|
case MOMENT:
|
|
case NOISE:
|
|
case RAND:
|
|
case CAUCHY:
|
|
case EXPONENTIAL:
|
|
case LOGNORMAL:
|
|
case BERNOULLI:
|
|
case POISSON:
|
|
case COSSIM:
|
|
case FLIP:
|
|
case COV:
|
|
case SORT:
|
|
case APPEND:
|
|
case PIPE:
|
|
case LPAREN:
|
|
case LBRACKET:
|
|
case CONSTANT:
|
|
case NUMBER:
|
|
case VARIABLE:
|
|
_localctx = new ToIndexContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(146);
|
|
indexExpr(0);
|
|
}
|
|
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 IndexExprContext extends ParserRuleContext {
|
|
public IndexExprContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_indexExpr; }
|
|
|
|
public IndexExprContext() { }
|
|
public void copyFrom(IndexExprContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class IndexExpContext extends IndexExprContext {
|
|
public IndexExprContext indexExpr() {
|
|
return getRuleContext(IndexExprContext.class,0);
|
|
}
|
|
public TerminalNode LBRACKET() { return getToken(MathExprParser.LBRACKET, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RBRACKET() { return getToken(MathExprParser.RBRACKET, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public IndexExpContext(IndexExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterIndexExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitIndexExp(this);
|
|
}
|
|
}
|
|
public static class ToAtomContext extends IndexExprContext {
|
|
public AtomContext atom() {
|
|
return getRuleContext(AtomContext.class,0);
|
|
}
|
|
public ToAtomContext(IndexExprContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterToAtom(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitToAtom(this);
|
|
}
|
|
}
|
|
|
|
public final IndexExprContext indexExpr() throws RecognitionException {
|
|
return indexExpr(0);
|
|
}
|
|
|
|
private IndexExprContext indexExpr(int _p) throws RecognitionException {
|
|
ParserRuleContext _parentctx = _ctx;
|
|
int _parentState = getState();
|
|
IndexExprContext _localctx = new IndexExprContext(_ctx, _parentState);
|
|
IndexExprContext _prevctx = _localctx;
|
|
int _startState = 20;
|
|
enterRecursionRule(_localctx, 20, RULE_indexExpr, _p);
|
|
int _la;
|
|
try {
|
|
int _alt;
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
{
|
|
_localctx = new ToAtomContext(_localctx);
|
|
_ctx = _localctx;
|
|
_prevctx = _localctx;
|
|
|
|
setState(150);
|
|
atom();
|
|
}
|
|
_ctx.stop = _input.LT(-1);
|
|
setState(166);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,14,_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 IndexExpContext(new IndexExprContext(_parentctx, _parentState));
|
|
pushNewRecursionContext(_localctx, _startState, RULE_indexExpr);
|
|
setState(152);
|
|
if (!(precpred(_ctx, 2))) throw new FailedPredicateException(this, "precpred(_ctx, 2)");
|
|
setState(153);
|
|
match(LBRACKET);
|
|
setState(154);
|
|
expr();
|
|
setState(159);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(155);
|
|
match(COMMA);
|
|
setState(156);
|
|
expr();
|
|
}
|
|
}
|
|
setState(161);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
}
|
|
setState(162);
|
|
match(RBRACKET);
|
|
}
|
|
}
|
|
}
|
|
setState(168);
|
|
_errHandler.sync(this);
|
|
_alt = getInterpreter().adaptivePredict(_input,14,_ctx);
|
|
}
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
unrollRecursionContexts(_parentctx);
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class AtomContext extends ParserRuleContext {
|
|
public AtomContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_atom; }
|
|
|
|
public AtomContext() { }
|
|
public void copyFrom(AtomContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class Func4ExpContext extends AtomContext {
|
|
public Func4Context func4() {
|
|
return getRuleContext(Func4Context.class,0);
|
|
}
|
|
public Func4ExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFunc4Exp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFunc4Exp(this);
|
|
}
|
|
}
|
|
public static class Func2ExpContext extends AtomContext {
|
|
public Func2Context func2() {
|
|
return getRuleContext(Func2Context.class,0);
|
|
}
|
|
public Func2ExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFunc2Exp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFunc2Exp(this);
|
|
}
|
|
}
|
|
public static class VariableExpContext extends AtomContext {
|
|
public TerminalNode VARIABLE() { return getToken(MathExprParser.VARIABLE, 0); }
|
|
public VariableExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterVariableExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitVariableExp(this);
|
|
}
|
|
}
|
|
public static class CallExpContext extends AtomContext {
|
|
public TerminalNode VARIABLE() { return getToken(MathExprParser.VARIABLE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ExprListContext exprList() {
|
|
return getRuleContext(ExprListContext.class,0);
|
|
}
|
|
public CallExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCallExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCallExp(this);
|
|
}
|
|
}
|
|
public static class Func3ExpContext extends AtomContext {
|
|
public Func3Context func3() {
|
|
return getRuleContext(Func3Context.class,0);
|
|
}
|
|
public Func3ExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFunc3Exp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFunc3Exp(this);
|
|
}
|
|
}
|
|
public static class ParenExpContext extends AtomContext {
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ParenExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterParenExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitParenExp(this);
|
|
}
|
|
}
|
|
public static class ConstantExpContext extends AtomContext {
|
|
public TerminalNode CONSTANT() { return getToken(MathExprParser.CONSTANT, 0); }
|
|
public ConstantExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterConstantExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitConstantExp(this);
|
|
}
|
|
}
|
|
public static class Func1ExpContext extends AtomContext {
|
|
public Func1Context func1() {
|
|
return getRuleContext(Func1Context.class,0);
|
|
}
|
|
public Func1ExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFunc1Exp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFunc1Exp(this);
|
|
}
|
|
}
|
|
public static class FuncNExpContext extends AtomContext {
|
|
public FuncNContext funcN() {
|
|
return getRuleContext(FuncNContext.class,0);
|
|
}
|
|
public FuncNExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFuncNExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFuncNExp(this);
|
|
}
|
|
}
|
|
public static class NumberExpContext extends AtomContext {
|
|
public TerminalNode NUMBER() { return getToken(MathExprParser.NUMBER, 0); }
|
|
public NumberExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterNumberExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitNumberExp(this);
|
|
}
|
|
}
|
|
public static class AbsExpContext extends AtomContext {
|
|
public List<TerminalNode> PIPE() { return getTokens(MathExprParser.PIPE); }
|
|
public TerminalNode PIPE(int i) {
|
|
return getToken(MathExprParser.PIPE, i);
|
|
}
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public AbsExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAbsExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAbsExp(this);
|
|
}
|
|
}
|
|
public static class ListExpContext extends AtomContext {
|
|
public TerminalNode LBRACKET() { return getToken(MathExprParser.LBRACKET, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RBRACKET() { return getToken(MathExprParser.RBRACKET, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public ListExpContext(AtomContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterListExp(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitListExp(this);
|
|
}
|
|
}
|
|
|
|
public final AtomContext atom() throws RecognitionException {
|
|
AtomContext _localctx = new AtomContext(_ctx, getState());
|
|
enterRule(_localctx, 22, RULE_atom);
|
|
int _la;
|
|
try {
|
|
setState(202);
|
|
_errHandler.sync(this);
|
|
switch ( getInterpreter().adaptivePredict(_input,17,_ctx) ) {
|
|
case 1:
|
|
_localctx = new Func1ExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(169);
|
|
func1();
|
|
}
|
|
break;
|
|
case 2:
|
|
_localctx = new Func2ExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(170);
|
|
func2();
|
|
}
|
|
break;
|
|
case 3:
|
|
_localctx = new Func3ExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(171);
|
|
func3();
|
|
}
|
|
break;
|
|
case 4:
|
|
_localctx = new Func4ExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 4);
|
|
{
|
|
setState(172);
|
|
func4();
|
|
}
|
|
break;
|
|
case 5:
|
|
_localctx = new FuncNExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 5);
|
|
{
|
|
setState(173);
|
|
funcN();
|
|
}
|
|
break;
|
|
case 6:
|
|
_localctx = new VariableExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 6);
|
|
{
|
|
setState(174);
|
|
match(VARIABLE);
|
|
}
|
|
break;
|
|
case 7:
|
|
_localctx = new NumberExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 7);
|
|
{
|
|
setState(175);
|
|
match(NUMBER);
|
|
}
|
|
break;
|
|
case 8:
|
|
_localctx = new ConstantExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 8);
|
|
{
|
|
setState(176);
|
|
match(CONSTANT);
|
|
}
|
|
break;
|
|
case 9:
|
|
_localctx = new ParenExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 9);
|
|
{
|
|
setState(177);
|
|
match(LPAREN);
|
|
setState(178);
|
|
expr();
|
|
setState(179);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case 10:
|
|
_localctx = new AbsExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 10);
|
|
{
|
|
setState(181);
|
|
match(PIPE);
|
|
setState(182);
|
|
expr();
|
|
setState(183);
|
|
match(PIPE);
|
|
}
|
|
break;
|
|
case 11:
|
|
_localctx = new ListExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 11);
|
|
{
|
|
setState(185);
|
|
match(LBRACKET);
|
|
setState(186);
|
|
expr();
|
|
setState(191);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(187);
|
|
match(COMMA);
|
|
setState(188);
|
|
expr();
|
|
}
|
|
}
|
|
setState(193);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
}
|
|
setState(194);
|
|
match(RBRACKET);
|
|
}
|
|
break;
|
|
case 12:
|
|
_localctx = new CallExpContext(_localctx);
|
|
enterOuterAlt(_localctx, 12);
|
|
{
|
|
setState(196);
|
|
match(VARIABLE);
|
|
setState(197);
|
|
match(LPAREN);
|
|
setState(199);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << SIN) | (1L << COS) | (1L << TAN) | (1L << ASIN) | (1L << ACOS) | (1L << ATAN) | (1L << ATAN2) | (1L << SINH) | (1L << COSH) | (1L << TANH) | (1L << ASINH) | (1L << ACOSH) | (1L << ATANH) | (1L << ABS) | (1L << SQRT) | (1L << LN) | (1L << LOG) | (1L << EXP) | (1L << SMIN) | (1L << SMAX) | (1L << TMIN) | (1L << TMAX) | (1L << TNORM) | (1L << SNORM) | (1L << FLOOR) | (1L << CEIL) | (1L << ROUND) | (1L << GAMMA) | (1L << POWE) | (1L << SIGM) | (1L << CLAMP) | (1L << SFFT) | (1L << SIFFT) | (1L << ANGL) | (1L << PRNT) | (1L << PRINT_SHAPE) | (1L << NVL) | (1L << LERP) | (1L << STEP) | (1L << SMOOTHSTEP) | (1L << FRACT) | (1L << RELU) | (1L << SOFTPLUS) | (1L << GELU) | (1L << SIGN) | (1L << MAP) | (1L << EZCONV) | (1L << CONV) | (1L << SWAP) | (1L << PERM) | (1L << RESHAPE) | (1L << RANGE) | (1L << TOPK) | (1L << BOTK) | (1L << PINV) | (1L << SUM) | (1L << MEAN) | (1L << STD) | (1L << VAR) | (1L << QUARTILE) | (1L << PERCENTILE) | (1L << QUANTILE) | (1L << DOT))) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & ((1L << (MOMENT - 64)) | (1L << (NOISE - 64)) | (1L << (RAND - 64)) | (1L << (CAUCHY - 64)) | (1L << (EXPONENTIAL - 64)) | (1L << (LOGNORMAL - 64)) | (1L << (BERNOULLI - 64)) | (1L << (POISSON - 64)) | (1L << (COSSIM - 64)) | (1L << (FLIP - 64)) | (1L << (COV - 64)) | (1L << (SORT - 64)) | (1L << (APPEND - 64)) | (1L << (PLUS - 64)) | (1L << (MINUS - 64)) | (1L << (PIPE - 64)) | (1L << (LPAREN - 64)) | (1L << (LBRACKET - 64)) | (1L << (CONSTANT - 64)) | (1L << (NUMBER - 64)) | (1L << (VARIABLE - 64)))) != 0)) {
|
|
{
|
|
setState(198);
|
|
exprList();
|
|
}
|
|
}
|
|
|
|
setState(201);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
catch (RecognitionException re) {
|
|
_localctx.exception = re;
|
|
_errHandler.reportError(this, re);
|
|
_errHandler.recover(this, re);
|
|
}
|
|
finally {
|
|
exitRule();
|
|
}
|
|
return _localctx;
|
|
}
|
|
|
|
public static class ExprListContext extends ParserRuleContext {
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public ExprListContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_exprList; }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterExprList(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitExprList(this);
|
|
}
|
|
}
|
|
|
|
public final ExprListContext exprList() throws RecognitionException {
|
|
ExprListContext _localctx = new ExprListContext(_ctx, getState());
|
|
enterRule(_localctx, 24, RULE_exprList);
|
|
int _la;
|
|
try {
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(204);
|
|
expr();
|
|
setState(209);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(205);
|
|
match(COMMA);
|
|
setState(206);
|
|
expr();
|
|
}
|
|
}
|
|
setState(211);
|
|
_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 Func1Context extends ParserRuleContext {
|
|
public Func1Context(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_func1; }
|
|
|
|
public Func1Context() { }
|
|
public void copyFrom(Func1Context ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class SoftplusFuncContext extends Func1Context {
|
|
public TerminalNode SOFTPLUS() { return getToken(MathExprParser.SOFTPLUS, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SoftplusFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSoftplusFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSoftplusFunc(this);
|
|
}
|
|
}
|
|
public static class SortFuncContext extends Func1Context {
|
|
public TerminalNode SORT() { return getToken(MathExprParser.SORT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SortFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSortFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSortFunc(this);
|
|
}
|
|
}
|
|
public static class TanhFuncContext extends Func1Context {
|
|
public TerminalNode TANH() { return getToken(MathExprParser.TANH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TanhFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTanhFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTanhFunc(this);
|
|
}
|
|
}
|
|
public static class AcoshFuncContext extends Func1Context {
|
|
public TerminalNode ACOSH() { return getToken(MathExprParser.ACOSH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AcoshFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAcoshFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAcoshFunc(this);
|
|
}
|
|
}
|
|
public static class NoiseFuncContext extends Func1Context {
|
|
public TerminalNode NOISE() { return getToken(MathExprParser.NOISE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public NoiseFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterNoiseFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitNoiseFunc(this);
|
|
}
|
|
}
|
|
public static class SqrtFuncContext extends Func1Context {
|
|
public TerminalNode SQRT() { return getToken(MathExprParser.SQRT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SqrtFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSqrtFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSqrtFunc(this);
|
|
}
|
|
}
|
|
public static class FloorFuncContext extends Func1Context {
|
|
public TerminalNode FLOOR() { return getToken(MathExprParser.FLOOR, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public FloorFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFloorFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFloorFunc(this);
|
|
}
|
|
}
|
|
public static class RoundFuncContext extends Func1Context {
|
|
public TerminalNode ROUND() { return getToken(MathExprParser.ROUND, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public RoundFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterRoundFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitRoundFunc(this);
|
|
}
|
|
}
|
|
public static class MeanFuncContext extends Func1Context {
|
|
public TerminalNode MEAN() { return getToken(MathExprParser.MEAN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public MeanFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterMeanFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitMeanFunc(this);
|
|
}
|
|
}
|
|
public static class CeilFuncContext extends Func1Context {
|
|
public TerminalNode CEIL() { return getToken(MathExprParser.CEIL, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CeilFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCeilFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCeilFunc(this);
|
|
}
|
|
}
|
|
public static class GeluFuncContext extends Func1Context {
|
|
public TerminalNode GELU() { return getToken(MathExprParser.GELU, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public GeluFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterGeluFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitGeluFunc(this);
|
|
}
|
|
}
|
|
public static class PrintFuncContext extends Func1Context {
|
|
public TerminalNode PRNT() { return getToken(MathExprParser.PRNT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PrintFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPrintFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPrintFunc(this);
|
|
}
|
|
}
|
|
public static class AbsFuncContext extends Func1Context {
|
|
public TerminalNode ABS() { return getToken(MathExprParser.ABS, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AbsFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAbsFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAbsFunc(this);
|
|
}
|
|
}
|
|
public static class AtanFuncContext extends Func1Context {
|
|
public TerminalNode ATAN() { return getToken(MathExprParser.ATAN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AtanFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAtanFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAtanFunc(this);
|
|
}
|
|
}
|
|
public static class ReluFuncContext extends Func1Context {
|
|
public TerminalNode RELU() { return getToken(MathExprParser.RELU, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ReluFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterReluFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitReluFunc(this);
|
|
}
|
|
}
|
|
public static class SinhFuncContext extends Func1Context {
|
|
public TerminalNode SINH() { return getToken(MathExprParser.SINH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SinhFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSinhFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSinhFunc(this);
|
|
}
|
|
}
|
|
public static class SigmoidFuncContext extends Func1Context {
|
|
public TerminalNode SIGM() { return getToken(MathExprParser.SIGM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SigmoidFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSigmoidFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSigmoidFunc(this);
|
|
}
|
|
}
|
|
public static class LogFuncContext extends Func1Context {
|
|
public TerminalNode LOG() { return getToken(MathExprParser.LOG, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public LogFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLogFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLogFunc(this);
|
|
}
|
|
}
|
|
public static class LnFuncContext extends Func1Context {
|
|
public TerminalNode LN() { return getToken(MathExprParser.LN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public LnFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLnFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLnFunc(this);
|
|
}
|
|
}
|
|
public static class TNormFuncContext extends Func1Context {
|
|
public TerminalNode TNORM() { return getToken(MathExprParser.TNORM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TNormFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTNormFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTNormFunc(this);
|
|
}
|
|
}
|
|
public static class SNormFuncContext extends Func1Context {
|
|
public TerminalNode SNORM() { return getToken(MathExprParser.SNORM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SNormFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSNormFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSNormFunc(this);
|
|
}
|
|
}
|
|
public static class SinFuncContext extends Func1Context {
|
|
public TerminalNode SIN() { return getToken(MathExprParser.SIN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SinFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSinFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSinFunc(this);
|
|
}
|
|
}
|
|
public static class StdFuncContext extends Func1Context {
|
|
public TerminalNode STD() { return getToken(MathExprParser.STD, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public StdFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterStdFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitStdFunc(this);
|
|
}
|
|
}
|
|
public static class RandFuncContext extends Func1Context {
|
|
public TerminalNode RAND() { return getToken(MathExprParser.RAND, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public RandFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterRandFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitRandFunc(this);
|
|
}
|
|
}
|
|
public static class AcosFuncContext extends Func1Context {
|
|
public TerminalNode ACOS() { return getToken(MathExprParser.ACOS, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AcosFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAcosFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAcosFunc(this);
|
|
}
|
|
}
|
|
public static class CoshFuncContext extends Func1Context {
|
|
public TerminalNode COSH() { return getToken(MathExprParser.COSH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CoshFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCoshFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCoshFunc(this);
|
|
}
|
|
}
|
|
public static class AnglFuncContext extends Func1Context {
|
|
public TerminalNode ANGL() { return getToken(MathExprParser.ANGL, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AnglFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAnglFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAnglFunc(this);
|
|
}
|
|
}
|
|
public static class SumFuncContext extends Func1Context {
|
|
public TerminalNode SUM() { return getToken(MathExprParser.SUM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SumFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSumFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSumFunc(this);
|
|
}
|
|
}
|
|
public static class SignFuncContext extends Func1Context {
|
|
public TerminalNode SIGN() { return getToken(MathExprParser.SIGN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SignFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSignFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSignFunc(this);
|
|
}
|
|
}
|
|
public static class TanFuncContext extends Func1Context {
|
|
public TerminalNode TAN() { return getToken(MathExprParser.TAN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TanFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTanFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTanFunc(this);
|
|
}
|
|
}
|
|
public static class PinvFuncContext extends Func1Context {
|
|
public TerminalNode PINV() { return getToken(MathExprParser.PINV, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PinvFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPinvFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPinvFunc(this);
|
|
}
|
|
}
|
|
public static class SifftFuncContext extends Func1Context {
|
|
public TerminalNode SIFFT() { return getToken(MathExprParser.SIFFT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SifftFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSifftFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSifftFunc(this);
|
|
}
|
|
}
|
|
public static class FractFuncContext extends Func1Context {
|
|
public TerminalNode FRACT() { return getToken(MathExprParser.FRACT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public FractFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFractFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFractFunc(this);
|
|
}
|
|
}
|
|
public static class GammaFuncContext extends Func1Context {
|
|
public TerminalNode GAMMA() { return getToken(MathExprParser.GAMMA, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public GammaFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterGammaFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitGammaFunc(this);
|
|
}
|
|
}
|
|
public static class CosFuncContext extends Func1Context {
|
|
public TerminalNode COS() { return getToken(MathExprParser.COS, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CosFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCosFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCosFunc(this);
|
|
}
|
|
}
|
|
public static class VarFuncContext extends Func1Context {
|
|
public TerminalNode VAR() { return getToken(MathExprParser.VAR, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public VarFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterVarFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitVarFunc(this);
|
|
}
|
|
}
|
|
public static class AsinFuncContext extends Func1Context {
|
|
public TerminalNode ASIN() { return getToken(MathExprParser.ASIN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AsinFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAsinFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAsinFunc(this);
|
|
}
|
|
}
|
|
public static class AsinhFuncContext extends Func1Context {
|
|
public TerminalNode ASINH() { return getToken(MathExprParser.ASINH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AsinhFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAsinhFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAsinhFunc(this);
|
|
}
|
|
}
|
|
public static class SfftFuncContext extends Func1Context {
|
|
public TerminalNode SFFT() { return getToken(MathExprParser.SFFT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SfftFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSfftFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSfftFunc(this);
|
|
}
|
|
}
|
|
public static class AtanhFuncContext extends Func1Context {
|
|
public TerminalNode ATANH() { return getToken(MathExprParser.ATANH, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AtanhFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAtanhFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAtanhFunc(this);
|
|
}
|
|
}
|
|
public static class ExpFuncContext extends Func1Context {
|
|
public TerminalNode EXP() { return getToken(MathExprParser.EXP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ExpFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterExpFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitExpFunc(this);
|
|
}
|
|
}
|
|
public static class PrintShapeFuncContext extends Func1Context {
|
|
public TerminalNode PRINT_SHAPE() { return getToken(MathExprParser.PRINT_SHAPE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public ExprContext expr() {
|
|
return getRuleContext(ExprContext.class,0);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PrintShapeFuncContext(Func1Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPrintShapeFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPrintShapeFunc(this);
|
|
}
|
|
}
|
|
|
|
public final Func1Context func1() throws RecognitionException {
|
|
Func1Context _localctx = new Func1Context(_ctx, getState());
|
|
enterRule(_localctx, 26, RULE_func1);
|
|
try {
|
|
setState(422);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case SIN:
|
|
_localctx = new SinFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(212);
|
|
match(SIN);
|
|
setState(213);
|
|
match(LPAREN);
|
|
setState(214);
|
|
expr();
|
|
setState(215);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case COS:
|
|
_localctx = new CosFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(217);
|
|
match(COS);
|
|
setState(218);
|
|
match(LPAREN);
|
|
setState(219);
|
|
expr();
|
|
setState(220);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TAN:
|
|
_localctx = new TanFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(222);
|
|
match(TAN);
|
|
setState(223);
|
|
match(LPAREN);
|
|
setState(224);
|
|
expr();
|
|
setState(225);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ASIN:
|
|
_localctx = new AsinFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 4);
|
|
{
|
|
setState(227);
|
|
match(ASIN);
|
|
setState(228);
|
|
match(LPAREN);
|
|
setState(229);
|
|
expr();
|
|
setState(230);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ACOS:
|
|
_localctx = new AcosFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 5);
|
|
{
|
|
setState(232);
|
|
match(ACOS);
|
|
setState(233);
|
|
match(LPAREN);
|
|
setState(234);
|
|
expr();
|
|
setState(235);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ATAN:
|
|
_localctx = new AtanFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 6);
|
|
{
|
|
setState(237);
|
|
match(ATAN);
|
|
setState(238);
|
|
match(LPAREN);
|
|
setState(239);
|
|
expr();
|
|
setState(240);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SINH:
|
|
_localctx = new SinhFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 7);
|
|
{
|
|
setState(242);
|
|
match(SINH);
|
|
setState(243);
|
|
match(LPAREN);
|
|
setState(244);
|
|
expr();
|
|
setState(245);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case COSH:
|
|
_localctx = new CoshFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 8);
|
|
{
|
|
setState(247);
|
|
match(COSH);
|
|
setState(248);
|
|
match(LPAREN);
|
|
setState(249);
|
|
expr();
|
|
setState(250);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TANH:
|
|
_localctx = new TanhFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 9);
|
|
{
|
|
setState(252);
|
|
match(TANH);
|
|
setState(253);
|
|
match(LPAREN);
|
|
setState(254);
|
|
expr();
|
|
setState(255);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ASINH:
|
|
_localctx = new AsinhFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 10);
|
|
{
|
|
setState(257);
|
|
match(ASINH);
|
|
setState(258);
|
|
match(LPAREN);
|
|
setState(259);
|
|
expr();
|
|
setState(260);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ACOSH:
|
|
_localctx = new AcoshFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 11);
|
|
{
|
|
setState(262);
|
|
match(ACOSH);
|
|
setState(263);
|
|
match(LPAREN);
|
|
setState(264);
|
|
expr();
|
|
setState(265);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ATANH:
|
|
_localctx = new AtanhFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 12);
|
|
{
|
|
setState(267);
|
|
match(ATANH);
|
|
setState(268);
|
|
match(LPAREN);
|
|
setState(269);
|
|
expr();
|
|
setState(270);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ABS:
|
|
_localctx = new AbsFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 13);
|
|
{
|
|
setState(272);
|
|
match(ABS);
|
|
setState(273);
|
|
match(LPAREN);
|
|
setState(274);
|
|
expr();
|
|
setState(275);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SQRT:
|
|
_localctx = new SqrtFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 14);
|
|
{
|
|
setState(277);
|
|
match(SQRT);
|
|
setState(278);
|
|
match(LPAREN);
|
|
setState(279);
|
|
expr();
|
|
setState(280);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case LN:
|
|
_localctx = new LnFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 15);
|
|
{
|
|
setState(282);
|
|
match(LN);
|
|
setState(283);
|
|
match(LPAREN);
|
|
setState(284);
|
|
expr();
|
|
setState(285);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case LOG:
|
|
_localctx = new LogFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 16);
|
|
{
|
|
setState(287);
|
|
match(LOG);
|
|
setState(288);
|
|
match(LPAREN);
|
|
setState(289);
|
|
expr();
|
|
setState(290);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case EXP:
|
|
_localctx = new ExpFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 17);
|
|
{
|
|
setState(292);
|
|
match(EXP);
|
|
setState(293);
|
|
match(LPAREN);
|
|
setState(294);
|
|
expr();
|
|
setState(295);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TNORM:
|
|
_localctx = new TNormFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 18);
|
|
{
|
|
setState(297);
|
|
match(TNORM);
|
|
setState(298);
|
|
match(LPAREN);
|
|
setState(299);
|
|
expr();
|
|
setState(300);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SNORM:
|
|
_localctx = new SNormFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 19);
|
|
{
|
|
setState(302);
|
|
match(SNORM);
|
|
setState(303);
|
|
match(LPAREN);
|
|
setState(304);
|
|
expr();
|
|
setState(305);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case FLOOR:
|
|
_localctx = new FloorFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 20);
|
|
{
|
|
setState(307);
|
|
match(FLOOR);
|
|
setState(308);
|
|
match(LPAREN);
|
|
setState(309);
|
|
expr();
|
|
setState(310);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case CEIL:
|
|
_localctx = new CeilFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 21);
|
|
{
|
|
setState(312);
|
|
match(CEIL);
|
|
setState(313);
|
|
match(LPAREN);
|
|
setState(314);
|
|
expr();
|
|
setState(315);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ROUND:
|
|
_localctx = new RoundFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 22);
|
|
{
|
|
setState(317);
|
|
match(ROUND);
|
|
setState(318);
|
|
match(LPAREN);
|
|
setState(319);
|
|
expr();
|
|
setState(320);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case GAMMA:
|
|
_localctx = new GammaFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 23);
|
|
{
|
|
setState(322);
|
|
match(GAMMA);
|
|
setState(323);
|
|
match(LPAREN);
|
|
setState(324);
|
|
expr();
|
|
setState(325);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SIGM:
|
|
_localctx = new SigmoidFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 24);
|
|
{
|
|
setState(327);
|
|
match(SIGM);
|
|
setState(328);
|
|
match(LPAREN);
|
|
setState(329);
|
|
expr();
|
|
setState(330);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SFFT:
|
|
_localctx = new SfftFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 25);
|
|
{
|
|
setState(332);
|
|
match(SFFT);
|
|
setState(333);
|
|
match(LPAREN);
|
|
setState(334);
|
|
expr();
|
|
setState(335);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SIFFT:
|
|
_localctx = new SifftFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 26);
|
|
{
|
|
setState(337);
|
|
match(SIFFT);
|
|
setState(338);
|
|
match(LPAREN);
|
|
setState(339);
|
|
expr();
|
|
setState(340);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ANGL:
|
|
_localctx = new AnglFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 27);
|
|
{
|
|
setState(342);
|
|
match(ANGL);
|
|
setState(343);
|
|
match(LPAREN);
|
|
setState(344);
|
|
expr();
|
|
setState(345);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case PRNT:
|
|
_localctx = new PrintFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 28);
|
|
{
|
|
setState(347);
|
|
match(PRNT);
|
|
setState(348);
|
|
match(LPAREN);
|
|
setState(349);
|
|
expr();
|
|
setState(350);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case FRACT:
|
|
_localctx = new FractFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 29);
|
|
{
|
|
setState(352);
|
|
match(FRACT);
|
|
setState(353);
|
|
match(LPAREN);
|
|
setState(354);
|
|
expr();
|
|
setState(355);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case RELU:
|
|
_localctx = new ReluFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 30);
|
|
{
|
|
setState(357);
|
|
match(RELU);
|
|
setState(358);
|
|
match(LPAREN);
|
|
setState(359);
|
|
expr();
|
|
setState(360);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SOFTPLUS:
|
|
_localctx = new SoftplusFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 31);
|
|
{
|
|
setState(362);
|
|
match(SOFTPLUS);
|
|
setState(363);
|
|
match(LPAREN);
|
|
setState(364);
|
|
expr();
|
|
setState(365);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case GELU:
|
|
_localctx = new GeluFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 32);
|
|
{
|
|
setState(367);
|
|
match(GELU);
|
|
setState(368);
|
|
match(LPAREN);
|
|
setState(369);
|
|
expr();
|
|
setState(370);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SIGN:
|
|
_localctx = new SignFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 33);
|
|
{
|
|
setState(372);
|
|
match(SIGN);
|
|
setState(373);
|
|
match(LPAREN);
|
|
setState(374);
|
|
expr();
|
|
setState(375);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case PRINT_SHAPE:
|
|
_localctx = new PrintShapeFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 34);
|
|
{
|
|
setState(377);
|
|
match(PRINT_SHAPE);
|
|
setState(378);
|
|
match(LPAREN);
|
|
setState(379);
|
|
expr();
|
|
setState(380);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case PINV:
|
|
_localctx = new PinvFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 35);
|
|
{
|
|
setState(382);
|
|
match(PINV);
|
|
setState(383);
|
|
match(LPAREN);
|
|
setState(384);
|
|
expr();
|
|
setState(385);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SUM:
|
|
_localctx = new SumFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 36);
|
|
{
|
|
setState(387);
|
|
match(SUM);
|
|
setState(388);
|
|
match(LPAREN);
|
|
setState(389);
|
|
expr();
|
|
setState(390);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case MEAN:
|
|
_localctx = new MeanFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 37);
|
|
{
|
|
setState(392);
|
|
match(MEAN);
|
|
setState(393);
|
|
match(LPAREN);
|
|
setState(394);
|
|
expr();
|
|
setState(395);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case STD:
|
|
_localctx = new StdFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 38);
|
|
{
|
|
setState(397);
|
|
match(STD);
|
|
setState(398);
|
|
match(LPAREN);
|
|
setState(399);
|
|
expr();
|
|
setState(400);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case VAR:
|
|
_localctx = new VarFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 39);
|
|
{
|
|
setState(402);
|
|
match(VAR);
|
|
setState(403);
|
|
match(LPAREN);
|
|
setState(404);
|
|
expr();
|
|
setState(405);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SORT:
|
|
_localctx = new SortFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 40);
|
|
{
|
|
setState(407);
|
|
match(SORT);
|
|
setState(408);
|
|
match(LPAREN);
|
|
setState(409);
|
|
expr();
|
|
setState(410);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case NOISE:
|
|
_localctx = new NoiseFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 41);
|
|
{
|
|
setState(412);
|
|
match(NOISE);
|
|
setState(413);
|
|
match(LPAREN);
|
|
setState(414);
|
|
expr();
|
|
setState(415);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case RAND:
|
|
_localctx = new RandFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 42);
|
|
{
|
|
setState(417);
|
|
match(RAND);
|
|
setState(418);
|
|
match(LPAREN);
|
|
setState(419);
|
|
expr();
|
|
setState(420);
|
|
match(RPAREN);
|
|
}
|
|
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 Func2Context extends ParserRuleContext {
|
|
public Func2Context(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_func2; }
|
|
|
|
public Func2Context() { }
|
|
public void copyFrom(Func2Context ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class TopkFuncContext extends Func2Context {
|
|
public TerminalNode TOPK() { return getToken(MathExprParser.TOPK, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TopkFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTopkFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTopkFunc(this);
|
|
}
|
|
}
|
|
public static class PercentileFuncContext extends Func2Context {
|
|
public TerminalNode PERCENTILE() { return getToken(MathExprParser.PERCENTILE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PercentileFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPercentileFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPercentileFunc(this);
|
|
}
|
|
}
|
|
public static class ExponentialFuncContext extends Func2Context {
|
|
public TerminalNode EXPONENTIAL() { return getToken(MathExprParser.EXPONENTIAL, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ExponentialFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterExponentialFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitExponentialFunc(this);
|
|
}
|
|
}
|
|
public static class PoissonFuncContext extends Func2Context {
|
|
public TerminalNode POISSON() { return getToken(MathExprParser.POISSON, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PoissonFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPoissonFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPoissonFunc(this);
|
|
}
|
|
}
|
|
public static class CovFuncContext extends Func2Context {
|
|
public TerminalNode COV() { return getToken(MathExprParser.COV, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CovFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCovFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCovFunc(this);
|
|
}
|
|
}
|
|
public static class BernoulliFuncContext extends Func2Context {
|
|
public TerminalNode BERNOULLI() { return getToken(MathExprParser.BERNOULLI, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public BernoulliFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterBernoulliFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitBernoulliFunc(this);
|
|
}
|
|
}
|
|
public static class StepFuncContext extends Func2Context {
|
|
public TerminalNode STEP() { return getToken(MathExprParser.STEP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public StepFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterStepFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitStepFunc(this);
|
|
}
|
|
}
|
|
public static class Atan2FuncContext extends Func2Context {
|
|
public TerminalNode ATAN2() { return getToken(MathExprParser.ATAN2, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public Atan2FuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAtan2Func(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAtan2Func(this);
|
|
}
|
|
}
|
|
public static class QuantileFuncContext extends Func2Context {
|
|
public TerminalNode QUANTILE() { return getToken(MathExprParser.QUANTILE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public QuantileFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterQuantileFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitQuantileFunc(this);
|
|
}
|
|
}
|
|
public static class BotkFuncContext extends Func2Context {
|
|
public TerminalNode BOTK() { return getToken(MathExprParser.BOTK, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public BotkFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterBotkFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitBotkFunc(this);
|
|
}
|
|
}
|
|
public static class TMaxFuncContext extends Func2Context {
|
|
public TerminalNode TMAX() { return getToken(MathExprParser.TMAX, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TMaxFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTMaxFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTMaxFunc(this);
|
|
}
|
|
}
|
|
public static class CossimFuncContext extends Func2Context {
|
|
public TerminalNode COSSIM() { return getToken(MathExprParser.COSSIM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CossimFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCossimFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCossimFunc(this);
|
|
}
|
|
}
|
|
public static class PowFuncContext extends Func2Context {
|
|
public TerminalNode POWE() { return getToken(MathExprParser.POWE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PowFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPowFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPowFunc(this);
|
|
}
|
|
}
|
|
public static class DotFuncContext extends Func2Context {
|
|
public TerminalNode DOT() { return getToken(MathExprParser.DOT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public DotFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterDotFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitDotFunc(this);
|
|
}
|
|
}
|
|
public static class AppendFuncContext extends Func2Context {
|
|
public TerminalNode APPEND() { return getToken(MathExprParser.APPEND, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public AppendFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterAppendFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitAppendFunc(this);
|
|
}
|
|
}
|
|
public static class FlipFuncContext extends Func2Context {
|
|
public TerminalNode FLIP() { return getToken(MathExprParser.FLIP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public FlipFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterFlipFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitFlipFunc(this);
|
|
}
|
|
}
|
|
public static class QuartileFuncContext extends Func2Context {
|
|
public TerminalNode QUARTILE() { return getToken(MathExprParser.QUARTILE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public QuartileFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterQuartileFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitQuartileFunc(this);
|
|
}
|
|
}
|
|
public static class TMinFuncContext extends Func2Context {
|
|
public TerminalNode TMIN() { return getToken(MathExprParser.TMIN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public TMinFuncContext(Func2Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterTMinFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitTMinFunc(this);
|
|
}
|
|
}
|
|
|
|
public final Func2Context func2() throws RecognitionException {
|
|
Func2Context _localctx = new Func2Context(_ctx, getState());
|
|
enterRule(_localctx, 28, RULE_func2);
|
|
try {
|
|
setState(550);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case POWE:
|
|
_localctx = new PowFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(424);
|
|
match(POWE);
|
|
setState(425);
|
|
match(LPAREN);
|
|
setState(426);
|
|
expr();
|
|
setState(427);
|
|
match(COMMA);
|
|
setState(428);
|
|
expr();
|
|
setState(429);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case ATAN2:
|
|
_localctx = new Atan2FuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(431);
|
|
match(ATAN2);
|
|
setState(432);
|
|
match(LPAREN);
|
|
setState(433);
|
|
expr();
|
|
setState(434);
|
|
match(COMMA);
|
|
setState(435);
|
|
expr();
|
|
setState(436);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TMIN:
|
|
_localctx = new TMinFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(438);
|
|
match(TMIN);
|
|
setState(439);
|
|
match(LPAREN);
|
|
setState(440);
|
|
expr();
|
|
setState(441);
|
|
match(COMMA);
|
|
setState(442);
|
|
expr();
|
|
setState(443);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TMAX:
|
|
_localctx = new TMaxFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 4);
|
|
{
|
|
setState(445);
|
|
match(TMAX);
|
|
setState(446);
|
|
match(LPAREN);
|
|
setState(447);
|
|
expr();
|
|
setState(448);
|
|
match(COMMA);
|
|
setState(449);
|
|
expr();
|
|
setState(450);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case STEP:
|
|
_localctx = new StepFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 5);
|
|
{
|
|
setState(452);
|
|
match(STEP);
|
|
setState(453);
|
|
match(LPAREN);
|
|
setState(454);
|
|
expr();
|
|
setState(455);
|
|
match(COMMA);
|
|
setState(456);
|
|
expr();
|
|
setState(457);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case TOPK:
|
|
_localctx = new TopkFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 6);
|
|
{
|
|
setState(459);
|
|
match(TOPK);
|
|
setState(460);
|
|
match(LPAREN);
|
|
setState(461);
|
|
expr();
|
|
setState(462);
|
|
match(COMMA);
|
|
setState(463);
|
|
expr();
|
|
setState(464);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case BOTK:
|
|
_localctx = new BotkFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 7);
|
|
{
|
|
setState(466);
|
|
match(BOTK);
|
|
setState(467);
|
|
match(LPAREN);
|
|
setState(468);
|
|
expr();
|
|
setState(469);
|
|
match(COMMA);
|
|
setState(470);
|
|
expr();
|
|
setState(471);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case QUARTILE:
|
|
_localctx = new QuartileFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 8);
|
|
{
|
|
setState(473);
|
|
match(QUARTILE);
|
|
setState(474);
|
|
match(LPAREN);
|
|
setState(475);
|
|
expr();
|
|
setState(476);
|
|
match(COMMA);
|
|
setState(477);
|
|
expr();
|
|
setState(478);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case PERCENTILE:
|
|
_localctx = new PercentileFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 9);
|
|
{
|
|
setState(480);
|
|
match(PERCENTILE);
|
|
setState(481);
|
|
match(LPAREN);
|
|
setState(482);
|
|
expr();
|
|
setState(483);
|
|
match(COMMA);
|
|
setState(484);
|
|
expr();
|
|
setState(485);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case QUANTILE:
|
|
_localctx = new QuantileFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 10);
|
|
{
|
|
setState(487);
|
|
match(QUANTILE);
|
|
setState(488);
|
|
match(LPAREN);
|
|
setState(489);
|
|
expr();
|
|
setState(490);
|
|
match(COMMA);
|
|
setState(491);
|
|
expr();
|
|
setState(492);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case DOT:
|
|
_localctx = new DotFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 11);
|
|
{
|
|
setState(494);
|
|
match(DOT);
|
|
setState(495);
|
|
match(LPAREN);
|
|
setState(496);
|
|
expr();
|
|
setState(497);
|
|
match(COMMA);
|
|
setState(498);
|
|
expr();
|
|
setState(499);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case COSSIM:
|
|
_localctx = new CossimFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 12);
|
|
{
|
|
setState(501);
|
|
match(COSSIM);
|
|
setState(502);
|
|
match(LPAREN);
|
|
setState(503);
|
|
expr();
|
|
setState(504);
|
|
match(COMMA);
|
|
setState(505);
|
|
expr();
|
|
setState(506);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case FLIP:
|
|
_localctx = new FlipFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 13);
|
|
{
|
|
setState(508);
|
|
match(FLIP);
|
|
setState(509);
|
|
match(LPAREN);
|
|
setState(510);
|
|
expr();
|
|
setState(511);
|
|
match(COMMA);
|
|
setState(512);
|
|
expr();
|
|
setState(513);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case COV:
|
|
_localctx = new CovFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 14);
|
|
{
|
|
setState(515);
|
|
match(COV);
|
|
setState(516);
|
|
match(LPAREN);
|
|
setState(517);
|
|
expr();
|
|
setState(518);
|
|
match(COMMA);
|
|
setState(519);
|
|
expr();
|
|
setState(520);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case APPEND:
|
|
_localctx = new AppendFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 15);
|
|
{
|
|
setState(522);
|
|
match(APPEND);
|
|
setState(523);
|
|
match(LPAREN);
|
|
setState(524);
|
|
expr();
|
|
setState(525);
|
|
match(COMMA);
|
|
setState(526);
|
|
expr();
|
|
setState(527);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case EXPONENTIAL:
|
|
_localctx = new ExponentialFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 16);
|
|
{
|
|
setState(529);
|
|
match(EXPONENTIAL);
|
|
setState(530);
|
|
match(LPAREN);
|
|
setState(531);
|
|
expr();
|
|
setState(532);
|
|
match(COMMA);
|
|
setState(533);
|
|
expr();
|
|
setState(534);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case BERNOULLI:
|
|
_localctx = new BernoulliFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 17);
|
|
{
|
|
setState(536);
|
|
match(BERNOULLI);
|
|
setState(537);
|
|
match(LPAREN);
|
|
setState(538);
|
|
expr();
|
|
setState(539);
|
|
match(COMMA);
|
|
setState(540);
|
|
expr();
|
|
setState(541);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case POISSON:
|
|
_localctx = new PoissonFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 18);
|
|
{
|
|
setState(543);
|
|
match(POISSON);
|
|
setState(544);
|
|
match(LPAREN);
|
|
setState(545);
|
|
expr();
|
|
setState(546);
|
|
match(COMMA);
|
|
setState(547);
|
|
expr();
|
|
setState(548);
|
|
match(RPAREN);
|
|
}
|
|
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 Func3Context extends ParserRuleContext {
|
|
public Func3Context(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_func3; }
|
|
|
|
public Func3Context() { }
|
|
public void copyFrom(Func3Context ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class MomentFuncContext extends Func3Context {
|
|
public TerminalNode MOMENT() { return getToken(MathExprParser.MOMENT, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public MomentFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterMomentFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitMomentFunc(this);
|
|
}
|
|
}
|
|
public static class LerpFuncContext extends Func3Context {
|
|
public TerminalNode LERP() { return getToken(MathExprParser.LERP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public LerpFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLerpFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLerpFunc(this);
|
|
}
|
|
}
|
|
public static class SmoothstepFuncContext extends Func3Context {
|
|
public TerminalNode SMOOTHSTEP() { return getToken(MathExprParser.SMOOTHSTEP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SmoothstepFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSmoothstepFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSmoothstepFunc(this);
|
|
}
|
|
}
|
|
public static class CauchyFuncContext extends Func3Context {
|
|
public TerminalNode CAUCHY() { return getToken(MathExprParser.CAUCHY, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public CauchyFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterCauchyFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitCauchyFunc(this);
|
|
}
|
|
}
|
|
public static class LogNormalFuncContext extends Func3Context {
|
|
public TerminalNode LOGNORMAL() { return getToken(MathExprParser.LOGNORMAL, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public LogNormalFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterLogNormalFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitLogNormalFunc(this);
|
|
}
|
|
}
|
|
public static class RangeFuncContext extends Func3Context {
|
|
public TerminalNode RANGE() { return getToken(MathExprParser.RANGE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public RangeFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterRangeFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitRangeFunc(this);
|
|
}
|
|
}
|
|
public static class ClampFuncContext extends Func3Context {
|
|
public TerminalNode CLAMP() { return getToken(MathExprParser.CLAMP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ClampFuncContext(Func3Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterClampFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitClampFunc(this);
|
|
}
|
|
}
|
|
|
|
public final Func3Context func3() throws RecognitionException {
|
|
Func3Context _localctx = new Func3Context(_ctx, getState());
|
|
enterRule(_localctx, 30, RULE_func3);
|
|
try {
|
|
setState(615);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case CLAMP:
|
|
_localctx = new ClampFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(552);
|
|
match(CLAMP);
|
|
setState(553);
|
|
match(LPAREN);
|
|
setState(554);
|
|
expr();
|
|
setState(555);
|
|
match(COMMA);
|
|
setState(556);
|
|
expr();
|
|
setState(557);
|
|
match(COMMA);
|
|
setState(558);
|
|
expr();
|
|
setState(559);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case LERP:
|
|
_localctx = new LerpFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(561);
|
|
match(LERP);
|
|
setState(562);
|
|
match(LPAREN);
|
|
setState(563);
|
|
expr();
|
|
setState(564);
|
|
match(COMMA);
|
|
setState(565);
|
|
expr();
|
|
setState(566);
|
|
match(COMMA);
|
|
setState(567);
|
|
expr();
|
|
setState(568);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SMOOTHSTEP:
|
|
_localctx = new SmoothstepFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(570);
|
|
match(SMOOTHSTEP);
|
|
setState(571);
|
|
match(LPAREN);
|
|
setState(572);
|
|
expr();
|
|
setState(573);
|
|
match(COMMA);
|
|
setState(574);
|
|
expr();
|
|
setState(575);
|
|
match(COMMA);
|
|
setState(576);
|
|
expr();
|
|
setState(577);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case RANGE:
|
|
_localctx = new RangeFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 4);
|
|
{
|
|
setState(579);
|
|
match(RANGE);
|
|
setState(580);
|
|
match(LPAREN);
|
|
setState(581);
|
|
expr();
|
|
setState(582);
|
|
match(COMMA);
|
|
setState(583);
|
|
expr();
|
|
setState(584);
|
|
match(COMMA);
|
|
setState(585);
|
|
expr();
|
|
setState(586);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case MOMENT:
|
|
_localctx = new MomentFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 5);
|
|
{
|
|
setState(588);
|
|
match(MOMENT);
|
|
setState(589);
|
|
match(LPAREN);
|
|
setState(590);
|
|
expr();
|
|
setState(591);
|
|
match(COMMA);
|
|
setState(592);
|
|
expr();
|
|
setState(593);
|
|
match(COMMA);
|
|
setState(594);
|
|
expr();
|
|
setState(595);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case CAUCHY:
|
|
_localctx = new CauchyFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 6);
|
|
{
|
|
setState(597);
|
|
match(CAUCHY);
|
|
setState(598);
|
|
match(LPAREN);
|
|
setState(599);
|
|
expr();
|
|
setState(600);
|
|
match(COMMA);
|
|
setState(601);
|
|
expr();
|
|
setState(602);
|
|
match(COMMA);
|
|
setState(603);
|
|
expr();
|
|
setState(604);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case LOGNORMAL:
|
|
_localctx = new LogNormalFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 7);
|
|
{
|
|
setState(606);
|
|
match(LOGNORMAL);
|
|
setState(607);
|
|
match(LPAREN);
|
|
setState(608);
|
|
expr();
|
|
setState(609);
|
|
match(COMMA);
|
|
setState(610);
|
|
expr();
|
|
setState(611);
|
|
match(COMMA);
|
|
setState(612);
|
|
expr();
|
|
setState(613);
|
|
match(RPAREN);
|
|
}
|
|
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 Func4Context extends ParserRuleContext {
|
|
public Func4Context(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_func4; }
|
|
|
|
public Func4Context() { }
|
|
public void copyFrom(Func4Context ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class NvlFuncContext extends Func4Context {
|
|
public TerminalNode NVL() { return getToken(MathExprParser.NVL, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public NvlFuncContext(Func4Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterNvlFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitNvlFunc(this);
|
|
}
|
|
}
|
|
public static class SwapFuncContext extends Func4Context {
|
|
public TerminalNode SWAP() { return getToken(MathExprParser.SWAP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public SwapFuncContext(Func4Context ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSwapFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSwapFunc(this);
|
|
}
|
|
}
|
|
|
|
public final Func4Context func4() throws RecognitionException {
|
|
Func4Context _localctx = new Func4Context(_ctx, getState());
|
|
enterRule(_localctx, 32, RULE_func4);
|
|
try {
|
|
setState(639);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case SWAP:
|
|
_localctx = new SwapFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(617);
|
|
match(SWAP);
|
|
setState(618);
|
|
match(LPAREN);
|
|
setState(619);
|
|
expr();
|
|
setState(620);
|
|
match(COMMA);
|
|
setState(621);
|
|
expr();
|
|
setState(622);
|
|
match(COMMA);
|
|
setState(623);
|
|
expr();
|
|
setState(624);
|
|
match(COMMA);
|
|
setState(625);
|
|
expr();
|
|
setState(626);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case NVL:
|
|
_localctx = new NvlFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(628);
|
|
match(NVL);
|
|
setState(629);
|
|
match(LPAREN);
|
|
setState(630);
|
|
expr();
|
|
setState(631);
|
|
match(COMMA);
|
|
setState(632);
|
|
expr();
|
|
setState(633);
|
|
match(COMMA);
|
|
setState(634);
|
|
expr();
|
|
setState(635);
|
|
match(COMMA);
|
|
setState(636);
|
|
expr();
|
|
setState(637);
|
|
match(RPAREN);
|
|
}
|
|
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 FuncNContext extends ParserRuleContext {
|
|
public FuncNContext(ParserRuleContext parent, int invokingState) {
|
|
super(parent, invokingState);
|
|
}
|
|
@Override public int getRuleIndex() { return RULE_funcN; }
|
|
|
|
public FuncNContext() { }
|
|
public void copyFrom(FuncNContext ctx) {
|
|
super.copyFrom(ctx);
|
|
}
|
|
}
|
|
public static class SMaxFuncContext extends FuncNContext {
|
|
public TerminalNode SMAX() { return getToken(MathExprParser.SMAX, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public SMaxFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSMaxFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSMaxFunc(this);
|
|
}
|
|
}
|
|
public static class MapFuncContext extends FuncNContext {
|
|
public TerminalNode MAP() { return getToken(MathExprParser.MAP, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public MapFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterMapFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitMapFunc(this);
|
|
}
|
|
}
|
|
public static class EzConvFuncContext extends FuncNContext {
|
|
public TerminalNode EZCONV() { return getToken(MathExprParser.EZCONV, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public EzConvFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterEzConvFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitEzConvFunc(this);
|
|
}
|
|
}
|
|
public static class PermuteFuncContext extends FuncNContext {
|
|
public TerminalNode PERM() { return getToken(MathExprParser.PERM, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public PermuteFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterPermuteFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitPermuteFunc(this);
|
|
}
|
|
}
|
|
public static class ReshapeFuncContext extends FuncNContext {
|
|
public TerminalNode RESHAPE() { return getToken(MathExprParser.RESHAPE, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode COMMA() { return getToken(MathExprParser.COMMA, 0); }
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public ReshapeFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterReshapeFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitReshapeFunc(this);
|
|
}
|
|
}
|
|
public static class SMinFuncContext extends FuncNContext {
|
|
public TerminalNode SMIN() { return getToken(MathExprParser.SMIN, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public SMinFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterSMinFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitSMinFunc(this);
|
|
}
|
|
}
|
|
public static class ConvFuncContext extends FuncNContext {
|
|
public TerminalNode CONV() { return getToken(MathExprParser.CONV, 0); }
|
|
public TerminalNode LPAREN() { return getToken(MathExprParser.LPAREN, 0); }
|
|
public List<ExprContext> expr() {
|
|
return getRuleContexts(ExprContext.class);
|
|
}
|
|
public ExprContext expr(int i) {
|
|
return getRuleContext(ExprContext.class,i);
|
|
}
|
|
public TerminalNode RPAREN() { return getToken(MathExprParser.RPAREN, 0); }
|
|
public List<TerminalNode> COMMA() { return getTokens(MathExprParser.COMMA); }
|
|
public TerminalNode COMMA(int i) {
|
|
return getToken(MathExprParser.COMMA, i);
|
|
}
|
|
public ConvFuncContext(FuncNContext ctx) { copyFrom(ctx); }
|
|
@Override
|
|
public void enterRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).enterConvFunc(this);
|
|
}
|
|
@Override
|
|
public void exitRule(ParseTreeListener listener) {
|
|
if ( listener instanceof MathExprListener ) ((MathExprListener)listener).exitConvFunc(this);
|
|
}
|
|
}
|
|
|
|
public final FuncNContext funcN() throws RecognitionException {
|
|
FuncNContext _localctx = new FuncNContext(_ctx, getState());
|
|
enterRule(_localctx, 34, RULE_funcN);
|
|
int _la;
|
|
try {
|
|
setState(712);
|
|
_errHandler.sync(this);
|
|
switch (_input.LA(1)) {
|
|
case SMIN:
|
|
_localctx = new SMinFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 1);
|
|
{
|
|
setState(641);
|
|
match(SMIN);
|
|
setState(642);
|
|
match(LPAREN);
|
|
setState(643);
|
|
expr();
|
|
setState(648);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(644);
|
|
match(COMMA);
|
|
setState(645);
|
|
expr();
|
|
}
|
|
}
|
|
setState(650);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
}
|
|
setState(651);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case SMAX:
|
|
_localctx = new SMaxFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 2);
|
|
{
|
|
setState(653);
|
|
match(SMAX);
|
|
setState(654);
|
|
match(LPAREN);
|
|
setState(655);
|
|
expr();
|
|
setState(660);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
while (_la==COMMA) {
|
|
{
|
|
{
|
|
setState(656);
|
|
match(COMMA);
|
|
setState(657);
|
|
expr();
|
|
}
|
|
}
|
|
setState(662);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
}
|
|
setState(663);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case MAP:
|
|
_localctx = new MapFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 3);
|
|
{
|
|
setState(665);
|
|
match(MAP);
|
|
setState(666);
|
|
match(LPAREN);
|
|
setState(667);
|
|
expr();
|
|
setState(670);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
do {
|
|
{
|
|
{
|
|
setState(668);
|
|
match(COMMA);
|
|
setState(669);
|
|
expr();
|
|
}
|
|
}
|
|
setState(672);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
} while ( _la==COMMA );
|
|
setState(674);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case EZCONV:
|
|
_localctx = new EzConvFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 4);
|
|
{
|
|
setState(676);
|
|
match(EZCONV);
|
|
setState(677);
|
|
match(LPAREN);
|
|
setState(678);
|
|
expr();
|
|
setState(681);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
do {
|
|
{
|
|
{
|
|
setState(679);
|
|
match(COMMA);
|
|
setState(680);
|
|
expr();
|
|
}
|
|
}
|
|
setState(683);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
} while ( _la==COMMA );
|
|
setState(685);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case CONV:
|
|
_localctx = new ConvFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 5);
|
|
{
|
|
setState(687);
|
|
match(CONV);
|
|
setState(688);
|
|
match(LPAREN);
|
|
setState(689);
|
|
expr();
|
|
setState(692);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
do {
|
|
{
|
|
{
|
|
setState(690);
|
|
match(COMMA);
|
|
setState(691);
|
|
expr();
|
|
}
|
|
}
|
|
setState(694);
|
|
_errHandler.sync(this);
|
|
_la = _input.LA(1);
|
|
} while ( _la==COMMA );
|
|
setState(696);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case PERM:
|
|
_localctx = new PermuteFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 6);
|
|
{
|
|
setState(698);
|
|
match(PERM);
|
|
setState(699);
|
|
match(LPAREN);
|
|
setState(700);
|
|
expr();
|
|
setState(701);
|
|
match(COMMA);
|
|
setState(702);
|
|
expr();
|
|
setState(703);
|
|
match(RPAREN);
|
|
}
|
|
break;
|
|
case RESHAPE:
|
|
_localctx = new ReshapeFuncContext(_localctx);
|
|
enterOuterAlt(_localctx, 7);
|
|
{
|
|
setState(705);
|
|
match(RESHAPE);
|
|
setState(706);
|
|
match(LPAREN);
|
|
setState(707);
|
|
expr();
|
|
setState(708);
|
|
match(COMMA);
|
|
setState(709);
|
|
expr();
|
|
setState(710);
|
|
match(RPAREN);
|
|
}
|
|
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 boolean sempred(RuleContext _localctx, int ruleIndex, int predIndex) {
|
|
switch (ruleIndex) {
|
|
case 5:
|
|
return compExpr_sempred((CompExprContext)_localctx, predIndex);
|
|
case 6:
|
|
return addExpr_sempred((AddExprContext)_localctx, predIndex);
|
|
case 7:
|
|
return mulExpr_sempred((MulExprContext)_localctx, predIndex);
|
|
case 10:
|
|
return indexExpr_sempred((IndexExprContext)_localctx, predIndex);
|
|
}
|
|
return true;
|
|
}
|
|
private boolean compExpr_sempred(CompExprContext _localctx, int predIndex) {
|
|
switch (predIndex) {
|
|
case 0:
|
|
return precpred(_ctx, 7);
|
|
case 1:
|
|
return precpred(_ctx, 6);
|
|
case 2:
|
|
return precpred(_ctx, 5);
|
|
case 3:
|
|
return precpred(_ctx, 4);
|
|
case 4:
|
|
return precpred(_ctx, 3);
|
|
case 5:
|
|
return precpred(_ctx, 2);
|
|
}
|
|
return true;
|
|
}
|
|
private boolean addExpr_sempred(AddExprContext _localctx, int predIndex) {
|
|
switch (predIndex) {
|
|
case 6:
|
|
return precpred(_ctx, 3);
|
|
case 7:
|
|
return precpred(_ctx, 2);
|
|
}
|
|
return true;
|
|
}
|
|
private boolean mulExpr_sempred(MulExprContext _localctx, int predIndex) {
|
|
switch (predIndex) {
|
|
case 8:
|
|
return precpred(_ctx, 4);
|
|
case 9:
|
|
return precpred(_ctx, 3);
|
|
case 10:
|
|
return precpred(_ctx, 2);
|
|
}
|
|
return true;
|
|
}
|
|
private boolean indexExpr_sempred(IndexExprContext _localctx, int predIndex) {
|
|
switch (predIndex) {
|
|
case 11:
|
|
return precpred(_ctx, 2);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
public static final String _serializedATN =
|
|
"\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3g\u02cd\4\2\t\2\4"+
|
|
"\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4\13\t"+
|
|
"\13\4\f\t\f\4\r\t\r\4\16\t\16\4\17\t\17\4\20\t\20\4\21\t\21\4\22\t\22"+
|
|
"\4\23\t\23\3\2\7\2(\n\2\f\2\16\2+\13\2\3\2\7\2.\n\2\f\2\16\2\61\13\2\3"+
|
|
"\2\3\2\3\2\3\3\3\3\3\3\5\39\n\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3"+
|
|
"\4\3\5\3\5\3\5\7\5H\n\5\f\5\16\5K\13\5\3\6\3\6\5\6O\n\6\3\7\3\7\3\7\3"+
|
|
"\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7\3\7"+
|
|
"\7\7f\n\7\f\7\16\7i\13\7\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\3\b\7\bt\n\b"+
|
|
"\f\b\16\bw\13\b\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\3\t\7\t\u0085"+
|
|
"\n\t\f\t\16\t\u0088\13\t\3\n\3\n\3\n\3\n\3\n\5\n\u008f\n\n\3\13\3\13\3"+
|
|
"\13\3\13\3\13\5\13\u0096\n\13\3\f\3\f\3\f\3\f\3\f\3\f\3\f\3\f\7\f\u00a0"+
|
|
"\n\f\f\f\16\f\u00a3\13\f\3\f\3\f\7\f\u00a7\n\f\f\f\16\f\u00aa\13\f\3\r"+
|
|
"\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3\r\3"+
|
|
"\r\3\r\7\r\u00c0\n\r\f\r\16\r\u00c3\13\r\3\r\3\r\3\r\3\r\3\r\5\r\u00ca"+
|
|
"\n\r\3\r\5\r\u00cd\n\r\3\16\3\16\3\16\7\16\u00d2\n\16\f\16\16\16\u00d5"+
|
|
"\13\16\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17\3\17"+
|
|
"\3\17\5\17\u01a9\n\17\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20\3\20"+
|
|
"\3\20\3\20\3\20\3\20\5\20\u0229\n\20\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+
|
|
"\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+
|
|
"\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+
|
|
"\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+
|
|
"\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21\3\21"+
|
|
"\5\21\u026a\n\21\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22"+
|
|
"\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\3\22\5\22\u0282\n\22"+
|
|
"\3\23\3\23\3\23\3\23\3\23\7\23\u0289\n\23\f\23\16\23\u028c\13\23\3\23"+
|
|
"\3\23\3\23\3\23\3\23\3\23\3\23\7\23\u0295\n\23\f\23\16\23\u0298\13\23"+
|
|
"\3\23\3\23\3\23\3\23\3\23\3\23\3\23\6\23\u02a1\n\23\r\23\16\23\u02a2\3"+
|
|
"\23\3\23\3\23\3\23\3\23\3\23\3\23\6\23\u02ac\n\23\r\23\16\23\u02ad\3\23"+
|
|
"\3\23\3\23\3\23\3\23\3\23\3\23\6\23\u02b7\n\23\r\23\16\23\u02b8\3\23\3"+
|
|
"\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3\23\3"+
|
|
"\23\5\23\u02cb\n\23\3\23\2\6\f\16\20\26\24\2\4\6\b\n\f\16\20\22\24\26"+
|
|
"\30\32\34\36 \"$\2\2\2\u0329\2)\3\2\2\2\4\65\3\2\2\2\6?\3\2\2\2\bD\3\2"+
|
|
"\2\2\nN\3\2\2\2\fP\3\2\2\2\16j\3\2\2\2\20x\3\2\2\2\22\u008e\3\2\2\2\24"+
|
|
"\u0095\3\2\2\2\26\u0097\3\2\2\2\30\u00cc\3\2\2\2\32\u00ce\3\2\2\2\34\u01a8"+
|
|
"\3\2\2\2\36\u0228\3\2\2\2 \u0269\3\2\2\2\"\u0281\3\2\2\2$\u02ca\3\2\2"+
|
|
"\2&(\5\4\3\2\'&\3\2\2\2(+\3\2\2\2)\'\3\2\2\2)*\3\2\2\2*/\3\2\2\2+)\3\2"+
|
|
"\2\2,.\5\6\4\2-,\3\2\2\2.\61\3\2\2\2/-\3\2\2\2/\60\3\2\2\2\60\62\3\2\2"+
|
|
"\2\61/\3\2\2\2\62\63\5\n\6\2\63\64\7\2\2\3\64\3\3\2\2\2\65\66\7f\2\2\66"+
|
|
"8\7]\2\2\679\5\b\5\28\67\3\2\2\289\3\2\2\29:\3\2\2\2:;\7^\2\2;<\7a\2\2"+
|
|
"<=\5\n\6\2=>\7`\2\2>\5\3\2\2\2?@\7f\2\2@A\7Z\2\2AB\5\n\6\2BC\7`\2\2C\7"+
|
|
"\3\2\2\2DI\7f\2\2EF\7_\2\2FH\7f\2\2GE\3\2\2\2HK\3\2\2\2IG\3\2\2\2IJ\3"+
|
|
"\2\2\2J\t\3\2\2\2KI\3\2\2\2LO\5\30\r\2MO\5\f\7\2NL\3\2\2\2NM\3\2\2\2O"+
|
|
"\13\3\2\2\2PQ\b\7\1\2QR\5\16\b\2Rg\3\2\2\2ST\f\t\2\2TU\7V\2\2Uf\5\16\b"+
|
|
"\2VW\f\b\2\2WX\7U\2\2Xf\5\16\b\2YZ\f\7\2\2Z[\7X\2\2[f\5\16\b\2\\]\f\6"+
|
|
"\2\2]^\7W\2\2^f\5\16\b\2_`\f\5\2\2`a\7Y\2\2af\5\16\b\2bc\f\4\2\2cd\7["+
|
|
"\2\2df\5\16\b\2eS\3\2\2\2eV\3\2\2\2eY\3\2\2\2e\\\3\2\2\2e_\3\2\2\2eb\3"+
|
|
"\2\2\2fi\3\2\2\2ge\3\2\2\2gh\3\2\2\2h\r\3\2\2\2ig\3\2\2\2jk\b\b\1\2kl"+
|
|
"\5\20\t\2lu\3\2\2\2mn\f\5\2\2no\7O\2\2ot\5\20\t\2pq\f\4\2\2qr\7P\2\2r"+
|
|
"t\5\20\t\2sm\3\2\2\2sp\3\2\2\2tw\3\2\2\2us\3\2\2\2uv\3\2\2\2v\17\3\2\2"+
|
|
"\2wu\3\2\2\2xy\b\t\1\2yz\5\22\n\2z\u0086\3\2\2\2{|\f\6\2\2|}\7Q\2\2}\u0085"+
|
|
"\5\22\n\2~\177\f\5\2\2\177\u0080\7R\2\2\u0080\u0085\5\22\n\2\u0081\u0082"+
|
|
"\f\4\2\2\u0082\u0083\7S\2\2\u0083\u0085\5\22\n\2\u0084{\3\2\2\2\u0084"+
|
|
"~\3\2\2\2\u0084\u0081\3\2\2\2\u0085\u0088\3\2\2\2\u0086\u0084\3\2\2\2"+
|
|
"\u0086\u0087\3\2\2\2\u0087\21\3\2\2\2\u0088\u0086\3\2\2\2\u0089\u008a"+
|
|
"\5\24\13\2\u008a\u008b\7T\2\2\u008b\u008c\5\22\n\2\u008c\u008f\3\2\2\2"+
|
|
"\u008d\u008f\5\24\13\2\u008e\u0089\3\2\2\2\u008e\u008d\3\2\2\2\u008f\23"+
|
|
"\3\2\2\2\u0090\u0091\7O\2\2\u0091\u0096\5\24\13\2\u0092\u0093\7P\2\2\u0093"+
|
|
"\u0096\5\24\13\2\u0094\u0096\5\26\f\2\u0095\u0090\3\2\2\2\u0095\u0092"+
|
|
"\3\2\2\2\u0095\u0094\3\2\2\2\u0096\25\3\2\2\2\u0097\u0098\b\f\1\2\u0098"+
|
|
"\u0099\5\30\r\2\u0099\u00a8\3\2\2\2\u009a\u009b\f\4\2\2\u009b\u009c\7"+
|
|
"b\2\2\u009c\u00a1\5\n\6\2\u009d\u009e\7_\2\2\u009e\u00a0\5\n\6\2\u009f"+
|
|
"\u009d\3\2\2\2\u00a0\u00a3\3\2\2\2\u00a1\u009f\3\2\2\2\u00a1\u00a2\3\2"+
|
|
"\2\2\u00a2\u00a4\3\2\2\2\u00a3\u00a1\3\2\2\2\u00a4\u00a5\7c\2\2\u00a5"+
|
|
"\u00a7\3\2\2\2\u00a6\u009a\3\2\2\2\u00a7\u00aa\3\2\2\2\u00a8\u00a6\3\2"+
|
|
"\2\2\u00a8\u00a9\3\2\2\2\u00a9\27\3\2\2\2\u00aa\u00a8\3\2\2\2\u00ab\u00cd"+
|
|
"\5\34\17\2\u00ac\u00cd\5\36\20\2\u00ad\u00cd\5 \21\2\u00ae\u00cd\5\"\22"+
|
|
"\2\u00af\u00cd\5$\23\2\u00b0\u00cd\7f\2\2\u00b1\u00cd\7e\2\2\u00b2\u00cd"+
|
|
"\7d\2\2\u00b3\u00b4\7]\2\2\u00b4\u00b5\5\n\6\2\u00b5\u00b6\7^\2\2\u00b6"+
|
|
"\u00cd\3\2\2\2\u00b7\u00b8\7\\\2\2\u00b8\u00b9\5\n\6\2\u00b9\u00ba\7\\"+
|
|
"\2\2\u00ba\u00cd\3\2\2\2\u00bb\u00bc\7b\2\2\u00bc\u00c1\5\n\6\2\u00bd"+
|
|
"\u00be\7_\2\2\u00be\u00c0\5\n\6\2\u00bf\u00bd\3\2\2\2\u00c0\u00c3\3\2"+
|
|
"\2\2\u00c1\u00bf\3\2\2\2\u00c1\u00c2\3\2\2\2\u00c2\u00c4\3\2\2\2\u00c3"+
|
|
"\u00c1\3\2\2\2\u00c4\u00c5\7c\2\2\u00c5\u00cd\3\2\2\2\u00c6\u00c7\7f\2"+
|
|
"\2\u00c7\u00c9\7]\2\2\u00c8\u00ca\5\32\16\2\u00c9\u00c8\3\2\2\2\u00c9"+
|
|
"\u00ca\3\2\2\2\u00ca\u00cb\3\2\2\2\u00cb\u00cd\7^\2\2\u00cc\u00ab\3\2"+
|
|
"\2\2\u00cc\u00ac\3\2\2\2\u00cc\u00ad\3\2\2\2\u00cc\u00ae\3\2\2\2\u00cc"+
|
|
"\u00af\3\2\2\2\u00cc\u00b0\3\2\2\2\u00cc\u00b1\3\2\2\2\u00cc\u00b2\3\2"+
|
|
"\2\2\u00cc\u00b3\3\2\2\2\u00cc\u00b7\3\2\2\2\u00cc\u00bb\3\2\2\2\u00cc"+
|
|
"\u00c6\3\2\2\2\u00cd\31\3\2\2\2\u00ce\u00d3\5\n\6\2\u00cf\u00d0\7_\2\2"+
|
|
"\u00d0\u00d2\5\n\6\2\u00d1\u00cf\3\2\2\2\u00d2\u00d5\3\2\2\2\u00d3\u00d1"+
|
|
"\3\2\2\2\u00d3\u00d4\3\2\2\2\u00d4\33\3\2\2\2\u00d5\u00d3\3\2\2\2\u00d6"+
|
|
"\u00d7\7\3\2\2\u00d7\u00d8\7]\2\2\u00d8\u00d9\5\n\6\2\u00d9\u00da\7^\2"+
|
|
"\2\u00da\u01a9\3\2\2\2\u00db\u00dc\7\4\2\2\u00dc\u00dd\7]\2\2\u00dd\u00de"+
|
|
"\5\n\6\2\u00de\u00df\7^\2\2\u00df\u01a9\3\2\2\2\u00e0\u00e1\7\5\2\2\u00e1"+
|
|
"\u00e2\7]\2\2\u00e2\u00e3\5\n\6\2\u00e3\u00e4\7^\2\2\u00e4\u01a9\3\2\2"+
|
|
"\2\u00e5\u00e6\7\6\2\2\u00e6\u00e7\7]\2\2\u00e7\u00e8\5\n\6\2\u00e8\u00e9"+
|
|
"\7^\2\2\u00e9\u01a9\3\2\2\2\u00ea\u00eb\7\7\2\2\u00eb\u00ec\7]\2\2\u00ec"+
|
|
"\u00ed\5\n\6\2\u00ed\u00ee\7^\2\2\u00ee\u01a9\3\2\2\2\u00ef\u00f0\7\b"+
|
|
"\2\2\u00f0\u00f1\7]\2\2\u00f1\u00f2\5\n\6\2\u00f2\u00f3\7^\2\2\u00f3\u01a9"+
|
|
"\3\2\2\2\u00f4\u00f5\7\n\2\2\u00f5\u00f6\7]\2\2\u00f6\u00f7\5\n\6\2\u00f7"+
|
|
"\u00f8\7^\2\2\u00f8\u01a9\3\2\2\2\u00f9\u00fa\7\13\2\2\u00fa\u00fb\7]"+
|
|
"\2\2\u00fb\u00fc\5\n\6\2\u00fc\u00fd\7^\2\2\u00fd\u01a9\3\2\2\2\u00fe"+
|
|
"\u00ff\7\f\2\2\u00ff\u0100\7]\2\2\u0100\u0101\5\n\6\2\u0101\u0102\7^\2"+
|
|
"\2\u0102\u01a9\3\2\2\2\u0103\u0104\7\r\2\2\u0104\u0105\7]\2\2\u0105\u0106"+
|
|
"\5\n\6\2\u0106\u0107\7^\2\2\u0107\u01a9\3\2\2\2\u0108\u0109\7\16\2\2\u0109"+
|
|
"\u010a\7]\2\2\u010a\u010b\5\n\6\2\u010b\u010c\7^\2\2\u010c\u01a9\3\2\2"+
|
|
"\2\u010d\u010e\7\17\2\2\u010e\u010f\7]\2\2\u010f\u0110\5\n\6\2\u0110\u0111"+
|
|
"\7^\2\2\u0111\u01a9\3\2\2\2\u0112\u0113\7\20\2\2\u0113\u0114\7]\2\2\u0114"+
|
|
"\u0115\5\n\6\2\u0115\u0116\7^\2\2\u0116\u01a9\3\2\2\2\u0117\u0118\7\21"+
|
|
"\2\2\u0118\u0119\7]\2\2\u0119\u011a\5\n\6\2\u011a\u011b\7^\2\2\u011b\u01a9"+
|
|
"\3\2\2\2\u011c\u011d\7\22\2\2\u011d\u011e\7]\2\2\u011e\u011f\5\n\6\2\u011f"+
|
|
"\u0120\7^\2\2\u0120\u01a9\3\2\2\2\u0121\u0122\7\23\2\2\u0122\u0123\7]"+
|
|
"\2\2\u0123\u0124\5\n\6\2\u0124\u0125\7^\2\2\u0125\u01a9\3\2\2\2\u0126"+
|
|
"\u0127\7\24\2\2\u0127\u0128\7]\2\2\u0128\u0129\5\n\6\2\u0129\u012a\7^"+
|
|
"\2\2\u012a\u01a9\3\2\2\2\u012b\u012c\7\31\2\2\u012c\u012d\7]\2\2\u012d"+
|
|
"\u012e\5\n\6\2\u012e\u012f\7^\2\2\u012f\u01a9\3\2\2\2\u0130\u0131\7\32"+
|
|
"\2\2\u0131\u0132\7]\2\2\u0132\u0133\5\n\6\2\u0133\u0134\7^\2\2\u0134\u01a9"+
|
|
"\3\2\2\2\u0135\u0136\7\33\2\2\u0136\u0137\7]\2\2\u0137\u0138\5\n\6\2\u0138"+
|
|
"\u0139\7^\2\2\u0139\u01a9\3\2\2\2\u013a\u013b\7\34\2\2\u013b\u013c\7]"+
|
|
"\2\2\u013c\u013d\5\n\6\2\u013d\u013e\7^\2\2\u013e\u01a9\3\2\2\2\u013f"+
|
|
"\u0140\7\35\2\2\u0140\u0141\7]\2\2\u0141\u0142\5\n\6\2\u0142\u0143\7^"+
|
|
"\2\2\u0143\u01a9\3\2\2\2\u0144\u0145\7\36\2\2\u0145\u0146\7]\2\2\u0146"+
|
|
"\u0147\5\n\6\2\u0147\u0148\7^\2\2\u0148\u01a9\3\2\2\2\u0149\u014a\7 \2"+
|
|
"\2\u014a\u014b\7]\2\2\u014b\u014c\5\n\6\2\u014c\u014d\7^\2\2\u014d\u01a9"+
|
|
"\3\2\2\2\u014e\u014f\7\"\2\2\u014f\u0150\7]\2\2\u0150\u0151\5\n\6\2\u0151"+
|
|
"\u0152\7^\2\2\u0152\u01a9\3\2\2\2\u0153\u0154\7#\2\2\u0154\u0155\7]\2"+
|
|
"\2\u0155\u0156\5\n\6\2\u0156\u0157\7^\2\2\u0157\u01a9\3\2\2\2\u0158\u0159"+
|
|
"\7$\2\2\u0159\u015a\7]\2\2\u015a\u015b\5\n\6\2\u015b\u015c\7^\2\2\u015c"+
|
|
"\u01a9\3\2\2\2\u015d\u015e\7%\2\2\u015e\u015f\7]\2\2\u015f\u0160\5\n\6"+
|
|
"\2\u0160\u0161\7^\2\2\u0161\u01a9\3\2\2\2\u0162\u0163\7+\2\2\u0163\u0164"+
|
|
"\7]\2\2\u0164\u0165\5\n\6\2\u0165\u0166\7^\2\2\u0166\u01a9\3\2\2\2\u0167"+
|
|
"\u0168\7,\2\2\u0168\u0169\7]\2\2\u0169\u016a\5\n\6\2\u016a\u016b\7^\2"+
|
|
"\2\u016b\u01a9\3\2\2\2\u016c\u016d\7-\2\2\u016d\u016e\7]\2\2\u016e\u016f"+
|
|
"\5\n\6\2\u016f\u0170\7^\2\2\u0170\u01a9\3\2\2\2\u0171\u0172\7.\2\2\u0172"+
|
|
"\u0173\7]\2\2\u0173\u0174\5\n\6\2\u0174\u0175\7^\2\2\u0175\u01a9\3\2\2"+
|
|
"\2\u0176\u0177\7/\2\2\u0177\u0178\7]\2\2\u0178\u0179\5\n\6\2\u0179\u017a"+
|
|
"\7^\2\2\u017a\u01a9\3\2\2\2\u017b\u017c\7&\2\2\u017c\u017d\7]\2\2\u017d"+
|
|
"\u017e\5\n\6\2\u017e\u017f\7^\2\2\u017f\u01a9\3\2\2\2\u0180\u0181\79\2"+
|
|
"\2\u0181\u0182\7]\2\2\u0182\u0183\5\n\6\2\u0183\u0184\7^\2\2\u0184\u01a9"+
|
|
"\3\2\2\2\u0185\u0186\7:\2\2\u0186\u0187\7]\2\2\u0187\u0188\5\n\6\2\u0188"+
|
|
"\u0189\7^\2\2\u0189\u01a9\3\2\2\2\u018a\u018b\7;\2\2\u018b\u018c\7]\2"+
|
|
"\2\u018c\u018d\5\n\6\2\u018d\u018e\7^\2\2\u018e\u01a9\3\2\2\2\u018f\u0190"+
|
|
"\7<\2\2\u0190\u0191\7]\2\2\u0191\u0192\5\n\6\2\u0192\u0193\7^\2\2\u0193"+
|
|
"\u01a9\3\2\2\2\u0194\u0195\7=\2\2\u0195\u0196\7]\2\2\u0196\u0197\5\n\6"+
|
|
"\2\u0197\u0198\7^\2\2\u0198\u01a9\3\2\2\2\u0199\u019a\7M\2\2\u019a\u019b"+
|
|
"\7]\2\2\u019b\u019c\5\n\6\2\u019c\u019d\7^\2\2\u019d\u01a9\3\2\2\2\u019e"+
|
|
"\u019f\7C\2\2\u019f\u01a0\7]\2\2\u01a0\u01a1\5\n\6\2\u01a1\u01a2\7^\2"+
|
|
"\2\u01a2\u01a9\3\2\2\2\u01a3\u01a4\7D\2\2\u01a4\u01a5\7]\2\2\u01a5\u01a6"+
|
|
"\5\n\6\2\u01a6\u01a7\7^\2\2\u01a7\u01a9\3\2\2\2\u01a8\u00d6\3\2\2\2\u01a8"+
|
|
"\u00db\3\2\2\2\u01a8\u00e0\3\2\2\2\u01a8\u00e5\3\2\2\2\u01a8\u00ea\3\2"+
|
|
"\2\2\u01a8\u00ef\3\2\2\2\u01a8\u00f4\3\2\2\2\u01a8\u00f9\3\2\2\2\u01a8"+
|
|
"\u00fe\3\2\2\2\u01a8\u0103\3\2\2\2\u01a8\u0108\3\2\2\2\u01a8\u010d\3\2"+
|
|
"\2\2\u01a8\u0112\3\2\2\2\u01a8\u0117\3\2\2\2\u01a8\u011c\3\2\2\2\u01a8"+
|
|
"\u0121\3\2\2\2\u01a8\u0126\3\2\2\2\u01a8\u012b\3\2\2\2\u01a8\u0130\3\2"+
|
|
"\2\2\u01a8\u0135\3\2\2\2\u01a8\u013a\3\2\2\2\u01a8\u013f\3\2\2\2\u01a8"+
|
|
"\u0144\3\2\2\2\u01a8\u0149\3\2\2\2\u01a8\u014e\3\2\2\2\u01a8\u0153\3\2"+
|
|
"\2\2\u01a8\u0158\3\2\2\2\u01a8\u015d\3\2\2\2\u01a8\u0162\3\2\2\2\u01a8"+
|
|
"\u0167\3\2\2\2\u01a8\u016c\3\2\2\2\u01a8\u0171\3\2\2\2\u01a8\u0176\3\2"+
|
|
"\2\2\u01a8\u017b\3\2\2\2\u01a8\u0180\3\2\2\2\u01a8\u0185\3\2\2\2\u01a8"+
|
|
"\u018a\3\2\2\2\u01a8\u018f\3\2\2\2\u01a8\u0194\3\2\2\2\u01a8\u0199\3\2"+
|
|
"\2\2\u01a8\u019e\3\2\2\2\u01a8\u01a3\3\2\2\2\u01a9\35\3\2\2\2\u01aa\u01ab"+
|
|
"\7\37\2\2\u01ab\u01ac\7]\2\2\u01ac\u01ad\5\n\6\2\u01ad\u01ae\7_\2\2\u01ae"+
|
|
"\u01af\5\n\6\2\u01af\u01b0\7^\2\2\u01b0\u0229\3\2\2\2\u01b1\u01b2\7\t"+
|
|
"\2\2\u01b2\u01b3\7]\2\2\u01b3\u01b4\5\n\6\2\u01b4\u01b5\7_\2\2\u01b5\u01b6"+
|
|
"\5\n\6\2\u01b6\u01b7\7^\2\2\u01b7\u0229\3\2\2\2\u01b8\u01b9\7\27\2\2\u01b9"+
|
|
"\u01ba\7]\2\2\u01ba\u01bb\5\n\6\2\u01bb\u01bc\7_\2\2\u01bc\u01bd\5\n\6"+
|
|
"\2\u01bd\u01be\7^\2\2\u01be\u0229\3\2\2\2\u01bf\u01c0\7\30\2\2\u01c0\u01c1"+
|
|
"\7]\2\2\u01c1\u01c2\5\n\6\2\u01c2\u01c3\7_\2\2\u01c3\u01c4\5\n\6\2\u01c4"+
|
|
"\u01c5\7^\2\2\u01c5\u0229\3\2\2\2\u01c6\u01c7\7)\2\2\u01c7\u01c8\7]\2"+
|
|
"\2\u01c8\u01c9\5\n\6\2\u01c9\u01ca\7_\2\2\u01ca\u01cb\5\n\6\2\u01cb\u01cc"+
|
|
"\7^\2\2\u01cc\u0229\3\2\2\2\u01cd\u01ce\7\67\2\2\u01ce\u01cf\7]\2\2\u01cf"+
|
|
"\u01d0\5\n\6\2\u01d0\u01d1\7_\2\2\u01d1\u01d2\5\n\6\2\u01d2\u01d3\7^\2"+
|
|
"\2\u01d3\u0229\3\2\2\2\u01d4\u01d5\78\2\2\u01d5\u01d6\7]\2\2\u01d6\u01d7"+
|
|
"\5\n\6\2\u01d7\u01d8\7_\2\2\u01d8\u01d9\5\n\6\2\u01d9\u01da\7^\2\2\u01da"+
|
|
"\u0229\3\2\2\2\u01db\u01dc\7>\2\2\u01dc\u01dd\7]\2\2\u01dd\u01de\5\n\6"+
|
|
"\2\u01de\u01df\7_\2\2\u01df\u01e0\5\n\6\2\u01e0\u01e1\7^\2\2\u01e1\u0229"+
|
|
"\3\2\2\2\u01e2\u01e3\7?\2\2\u01e3\u01e4\7]\2\2\u01e4\u01e5\5\n\6\2\u01e5"+
|
|
"\u01e6\7_\2\2\u01e6\u01e7\5\n\6\2\u01e7\u01e8\7^\2\2\u01e8\u0229\3\2\2"+
|
|
"\2\u01e9\u01ea\7@\2\2\u01ea\u01eb\7]\2\2\u01eb\u01ec\5\n\6\2\u01ec\u01ed"+
|
|
"\7_\2\2\u01ed\u01ee\5\n\6\2\u01ee\u01ef\7^\2\2\u01ef\u0229\3\2\2\2\u01f0"+
|
|
"\u01f1\7A\2\2\u01f1\u01f2\7]\2\2\u01f2\u01f3\5\n\6\2\u01f3\u01f4\7_\2"+
|
|
"\2\u01f4\u01f5\5\n\6\2\u01f5\u01f6\7^\2\2\u01f6\u0229\3\2\2\2\u01f7\u01f8"+
|
|
"\7J\2\2\u01f8\u01f9\7]\2\2\u01f9\u01fa\5\n\6\2\u01fa\u01fb\7_\2\2\u01fb"+
|
|
"\u01fc\5\n\6\2\u01fc\u01fd\7^\2\2\u01fd\u0229\3\2\2\2\u01fe\u01ff\7K\2"+
|
|
"\2\u01ff\u0200\7]\2\2\u0200\u0201\5\n\6\2\u0201\u0202\7_\2\2\u0202\u0203"+
|
|
"\5\n\6\2\u0203\u0204\7^\2\2\u0204\u0229\3\2\2\2\u0205\u0206\7L\2\2\u0206"+
|
|
"\u0207\7]\2\2\u0207\u0208\5\n\6\2\u0208\u0209\7_\2\2\u0209\u020a\5\n\6"+
|
|
"\2\u020a\u020b\7^\2\2\u020b\u0229\3\2\2\2\u020c\u020d\7N\2\2\u020d\u020e"+
|
|
"\7]\2\2\u020e\u020f\5\n\6\2\u020f\u0210\7_\2\2\u0210\u0211\5\n\6\2\u0211"+
|
|
"\u0212\7^\2\2\u0212\u0229\3\2\2\2\u0213\u0214\7F\2\2\u0214\u0215\7]\2"+
|
|
"\2\u0215\u0216\5\n\6\2\u0216\u0217\7_\2\2\u0217\u0218\5\n\6\2\u0218\u0219"+
|
|
"\7^\2\2\u0219\u0229\3\2\2\2\u021a\u021b\7H\2\2\u021b\u021c\7]\2\2\u021c"+
|
|
"\u021d\5\n\6\2\u021d\u021e\7_\2\2\u021e\u021f\5\n\6\2\u021f\u0220\7^\2"+
|
|
"\2\u0220\u0229\3\2\2\2\u0221\u0222\7I\2\2\u0222\u0223\7]\2\2\u0223\u0224"+
|
|
"\5\n\6\2\u0224\u0225\7_\2\2\u0225\u0226\5\n\6\2\u0226\u0227\7^\2\2\u0227"+
|
|
"\u0229\3\2\2\2\u0228\u01aa\3\2\2\2\u0228\u01b1\3\2\2\2\u0228\u01b8\3\2"+
|
|
"\2\2\u0228\u01bf\3\2\2\2\u0228\u01c6\3\2\2\2\u0228\u01cd\3\2\2\2\u0228"+
|
|
"\u01d4\3\2\2\2\u0228\u01db\3\2\2\2\u0228\u01e2\3\2\2\2\u0228\u01e9\3\2"+
|
|
"\2\2\u0228\u01f0\3\2\2\2\u0228\u01f7\3\2\2\2\u0228\u01fe\3\2\2\2\u0228"+
|
|
"\u0205\3\2\2\2\u0228\u020c\3\2\2\2\u0228\u0213\3\2\2\2\u0228\u021a\3\2"+
|
|
"\2\2\u0228\u0221\3\2\2\2\u0229\37\3\2\2\2\u022a\u022b\7!\2\2\u022b\u022c"+
|
|
"\7]\2\2\u022c\u022d\5\n\6\2\u022d\u022e\7_\2\2\u022e\u022f\5\n\6\2\u022f"+
|
|
"\u0230\7_\2\2\u0230\u0231\5\n\6\2\u0231\u0232\7^\2\2\u0232\u026a\3\2\2"+
|
|
"\2\u0233\u0234\7(\2\2\u0234\u0235\7]\2\2\u0235\u0236\5\n\6\2\u0236\u0237"+
|
|
"\7_\2\2\u0237\u0238\5\n\6\2\u0238\u0239\7_\2\2\u0239\u023a\5\n\6\2\u023a"+
|
|
"\u023b\7^\2\2\u023b\u026a\3\2\2\2\u023c\u023d\7*\2\2\u023d\u023e\7]\2"+
|
|
"\2\u023e\u023f\5\n\6\2\u023f\u0240\7_\2\2\u0240\u0241\5\n\6\2\u0241\u0242"+
|
|
"\7_\2\2\u0242\u0243\5\n\6\2\u0243\u0244\7^\2\2\u0244\u026a\3\2\2\2\u0245"+
|
|
"\u0246\7\66\2\2\u0246\u0247\7]\2\2\u0247\u0248\5\n\6\2\u0248\u0249\7_"+
|
|
"\2\2\u0249\u024a\5\n\6\2\u024a\u024b\7_\2\2\u024b\u024c\5\n\6\2\u024c"+
|
|
"\u024d\7^\2\2\u024d\u026a\3\2\2\2\u024e\u024f\7B\2\2\u024f\u0250\7]\2"+
|
|
"\2\u0250\u0251\5\n\6\2\u0251\u0252\7_\2\2\u0252\u0253\5\n\6\2\u0253\u0254"+
|
|
"\7_\2\2\u0254\u0255\5\n\6\2\u0255\u0256\7^\2\2\u0256\u026a\3\2\2\2\u0257"+
|
|
"\u0258\7E\2\2\u0258\u0259\7]\2\2\u0259\u025a\5\n\6\2\u025a\u025b\7_\2"+
|
|
"\2\u025b\u025c\5\n\6\2\u025c\u025d\7_\2\2\u025d\u025e\5\n\6\2\u025e\u025f"+
|
|
"\7^\2\2\u025f\u026a\3\2\2\2\u0260\u0261\7G\2\2\u0261\u0262\7]\2\2\u0262"+
|
|
"\u0263\5\n\6\2\u0263\u0264\7_\2\2\u0264\u0265\5\n\6\2\u0265\u0266\7_\2"+
|
|
"\2\u0266\u0267\5\n\6\2\u0267\u0268\7^\2\2\u0268\u026a\3\2\2\2\u0269\u022a"+
|
|
"\3\2\2\2\u0269\u0233\3\2\2\2\u0269\u023c\3\2\2\2\u0269\u0245\3\2\2\2\u0269"+
|
|
"\u024e\3\2\2\2\u0269\u0257\3\2\2\2\u0269\u0260\3\2\2\2\u026a!\3\2\2\2"+
|
|
"\u026b\u026c\7\63\2\2\u026c\u026d\7]\2\2\u026d\u026e\5\n\6\2\u026e\u026f"+
|
|
"\7_\2\2\u026f\u0270\5\n\6\2\u0270\u0271\7_\2\2\u0271\u0272\5\n\6\2\u0272"+
|
|
"\u0273\7_\2\2\u0273\u0274\5\n\6\2\u0274\u0275\7^\2\2\u0275\u0282\3\2\2"+
|
|
"\2\u0276\u0277\7\'\2\2\u0277\u0278\7]\2\2\u0278\u0279\5\n\6\2\u0279\u027a"+
|
|
"\7_\2\2\u027a\u027b\5\n\6\2\u027b\u027c\7_\2\2\u027c\u027d\5\n\6\2\u027d"+
|
|
"\u027e\7_\2\2\u027e\u027f\5\n\6\2\u027f\u0280\7^\2\2\u0280\u0282\3\2\2"+
|
|
"\2\u0281\u026b\3\2\2\2\u0281\u0276\3\2\2\2\u0282#\3\2\2\2\u0283\u0284"+
|
|
"\7\25\2\2\u0284\u0285\7]\2\2\u0285\u028a\5\n\6\2\u0286\u0287\7_\2\2\u0287"+
|
|
"\u0289\5\n\6\2\u0288\u0286\3\2\2\2\u0289\u028c\3\2\2\2\u028a\u0288\3\2"+
|
|
"\2\2\u028a\u028b\3\2\2\2\u028b\u028d\3\2\2\2\u028c\u028a\3\2\2\2\u028d"+
|
|
"\u028e\7^\2\2\u028e\u02cb\3\2\2\2\u028f\u0290\7\26\2\2\u0290\u0291\7]"+
|
|
"\2\2\u0291\u0296\5\n\6\2\u0292\u0293\7_\2\2\u0293\u0295\5\n\6\2\u0294"+
|
|
"\u0292\3\2\2\2\u0295\u0298\3\2\2\2\u0296\u0294\3\2\2\2\u0296\u0297\3\2"+
|
|
"\2\2\u0297\u0299\3\2\2\2\u0298\u0296\3\2\2\2\u0299\u029a\7^\2\2\u029a"+
|
|
"\u02cb\3\2\2\2\u029b\u029c\7\60\2\2\u029c\u029d\7]\2\2\u029d\u02a0\5\n"+
|
|
"\6\2\u029e\u029f\7_\2\2\u029f\u02a1\5\n\6\2\u02a0\u029e\3\2\2\2\u02a1"+
|
|
"\u02a2\3\2\2\2\u02a2\u02a0\3\2\2\2\u02a2\u02a3\3\2\2\2\u02a3\u02a4\3\2"+
|
|
"\2\2\u02a4\u02a5\7^\2\2\u02a5\u02cb\3\2\2\2\u02a6\u02a7\7\61\2\2\u02a7"+
|
|
"\u02a8\7]\2\2\u02a8\u02ab\5\n\6\2\u02a9\u02aa\7_\2\2\u02aa\u02ac\5\n\6"+
|
|
"\2\u02ab\u02a9\3\2\2\2\u02ac\u02ad\3\2\2\2\u02ad\u02ab\3\2\2\2\u02ad\u02ae"+
|
|
"\3\2\2\2\u02ae\u02af\3\2\2\2\u02af\u02b0\7^\2\2\u02b0\u02cb\3\2\2\2\u02b1"+
|
|
"\u02b2\7\62\2\2\u02b2\u02b3\7]\2\2\u02b3\u02b6\5\n\6\2\u02b4\u02b5\7_"+
|
|
"\2\2\u02b5\u02b7\5\n\6\2\u02b6\u02b4\3\2\2\2\u02b7\u02b8\3\2\2\2\u02b8"+
|
|
"\u02b6\3\2\2\2\u02b8\u02b9\3\2\2\2\u02b9\u02ba\3\2\2\2\u02ba\u02bb\7^"+
|
|
"\2\2\u02bb\u02cb\3\2\2\2\u02bc\u02bd\7\64\2\2\u02bd\u02be\7]\2\2\u02be"+
|
|
"\u02bf\5\n\6\2\u02bf\u02c0\7_\2\2\u02c0\u02c1\5\n\6\2\u02c1\u02c2\7^\2"+
|
|
"\2\u02c2\u02cb\3\2\2\2\u02c3\u02c4\7\65\2\2\u02c4\u02c5\7]\2\2\u02c5\u02c6"+
|
|
"\5\n\6\2\u02c6\u02c7\7_\2\2\u02c7\u02c8\5\n\6\2\u02c8\u02c9\7^\2\2\u02c9"+
|
|
"\u02cb\3\2\2\2\u02ca\u0283\3\2\2\2\u02ca\u028f\3\2\2\2\u02ca\u029b\3\2"+
|
|
"\2\2\u02ca\u02a6\3\2\2\2\u02ca\u02b1\3\2\2\2\u02ca\u02bc\3\2\2\2\u02ca"+
|
|
"\u02c3\3\2\2\2\u02cb%\3\2\2\2\37)/8INegsu\u0084\u0086\u008e\u0095\u00a1"+
|
|
"\u00a8\u00c1\u00c9\u00cc\u00d3\u01a8\u0228\u0269\u0281\u028a\u0296\u02a2"+
|
|
"\u02ad\u02b8\u02ca";
|
|
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);
|
|
}
|
|
}
|
|
} |