edu.uvm.ccts.arden.action.antlr.ActionParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of arden-parser Show documentation
Show all versions of arden-parser Show documentation
ANTLR grammar and Java logic used to traverse the generated abstract syntax trees related to Arden-syntax Medical Logic Modules (MLMs)
// Generated from Action.g4 by ANTLR 4.1
package edu.uvm.ccts.arden.action.antlr;
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 ActionParser extends Parser {
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__7=1, T__6=2, T__5=3, T__4=4, T__3=5, T__2=6, T__1=7, T__0=8, Write=9,
Delay=10, Return=11, If=12, Then=13, ElsIf=14, Else=15, EndIf=16, While=17,
Do=18, EndDo=19, Switch=20, Case=21, Default=22, EndSwitch=23, BreakLoop=24,
Continue=25, And=26, Or=27, SeqTo=28, AsNumber=29, AsTime=30, AsString=31,
Plus=32, Minus=33, Mul=34, Div=35, Pow=36, Arccos=37, Arcsin=38, Arctan=39,
Cosine=40, Sine=41, Tangent=42, Exp=43, Log=44, Log10=45, Int=46, Floor=47,
Ceiling=48, Truncate=49, Round=50, Abs=51, Sqrt=52, LessThan=53, LessThanOrEqual=54,
EqualTo=55, NotEqualTo=56, GreaterThan=57, GreaterThanOrEqual=58, Min=59,
Max=60, Earliest=61, Latest=62, Nearest=63, Least=64, Most=65, First=66,
Last=67, Count=68, Interval=69, Exist=70, Avg=71, Median=72, Sum=73, Stddev=74,
Variance=75, Index=76, Any=77, All=78, No=79, Of=80, IsTrue=81, AreTrue=82,
Ago=83, AtTime=84, Time=85, Is=86, String=87, MatchesPattern=88, Length=89,
Uppercase=90, Lowercase=91, Trim=92, Left=93, Right=94, Find=95, StartingAt=96,
Substring=97, Characters=98, Add=99, Elements=100, Percent=101, Increase=102,
Decrease=103, List=104, Sublist=105, Remove=106, Merge=107, WhereTimePresent=108,
Sort=109, Data=110, Year=111, Month=112, Week=113, Day=114, Hour=115,
Minute=116, Second=117, Years=118, Months=119, Weeks=120, Days=121, Hours=122,
Minutes=123, Seconds=124, New=125, Clone=126, Attribute=127, Names=128,
Extract=129, Duration=130, Null=131, Boolean=132, BooleanVal=133, Replace=134,
Present=135, TimeOfDay=136, Reverse=137, EmptyList=138, Concat=139, Number=140,
NumberVal=141, IntVal=142, Now=143, CurrentTime=144, TimeVal=145, TimeOfDayFunc=146,
TimeOfDayVal=147, DayOfWeekFunc=148, DayOfWeek=149, Print=150, For=151,
Let=152, Be=153, As=154, Where=155, Within=156, The=157, To=158, Preceding=159,
Following=160, Surrounding=161, Past=162, SameDayAs=163, Before=164, After=165,
Occur=166, Not=167, In=168, At=169, From=170, Call=171, With=172, Equal=173,
Object=174, StringVal=175, ID=176, S=177, LINE_COMMENT=178, COMMENT=179,
WS=180;
public static final String[] tokenNames = {
"", "']'", "')'", "'.'", "','", "':='", "'['", "'('", "';'",
"Write", "Delay", "Return", "If", "Then", "ElsIf", "Else", "EndIf", "While",
"Do", "EndDo", "Switch", "Case", "Default", "EndSwitch", "BreakLoop",
"Continue", "And", "Or", "SeqTo", "AsNumber", "AsTime", "AsString", "'+'",
"'-'", "'*'", "'/'", "'**'", "Arccos", "Arcsin", "Arctan", "Cosine", "Sine",
"Tangent", "Exp", "Log", "Log10", "Int", "Floor", "Ceiling", "Truncate",
"Round", "Abs", "Sqrt", "LessThan", "LessThanOrEqual", "EqualTo", "NotEqualTo",
"GreaterThan", "GreaterThanOrEqual", "Min", "Max", "Earliest", "Latest",
"Nearest", "Least", "Most", "First", "Last", "Count", "Interval", "Exist",
"Avg", "Median", "Sum", "Stddev", "Variance", "Index", "Any", "All", "No",
"Of", "IsTrue", "AreTrue", "Ago", "AtTime", "Time", "Is", "String", "MatchesPattern",
"Length", "Uppercase", "Lowercase", "Trim", "Left", "Right", "Find", "StartingAt",
"Substring", "Characters", "Add", "Elements", "Percent", "Increase", "Decrease",
"List", "Sublist", "Remove", "Merge", "WhereTimePresent", "Sort", "Data",
"Year", "Month", "Week", "Day", "Hour", "Minute", "Second", "Years", "Months",
"Weeks", "Days", "Hours", "Minutes", "Seconds", "New", "Clone", "Attribute",
"Names", "Extract", "Duration", "Null", "Boolean", "BooleanVal", "Replace",
"Present", "TimeOfDay", "Reverse", "EmptyList", "'||'", "Number", "NumberVal",
"IntVal", "Now", "CurrentTime", "TimeVal", "TimeOfDayFunc", "TimeOfDayVal",
"DayOfWeekFunc", "DayOfWeek", "Print", "For", "Let", "Be", "As", "Where",
"Within", "The", "To", "Preceding", "Following", "Surrounding", "Past",
"SameDayAs", "Before", "After", "Occur", "Not", "In", "At", "From", "Call",
"With", "Equal", "Object", "StringVal", "ID", "S", "LINE_COMMENT", "COMMENT",
"WS"
};
public static final int
RULE_block = 0, RULE_ifStatement = 1, RULE_switchStatement = 2, RULE_whileLoop = 3,
RULE_forLoop = 4, RULE_breakLoop = 5, RULE_continueLoop = 6, RULE_init = 7,
RULE_print = 8, RULE_stmt = 9, RULE_assignmentStatement = 10, RULE_objOrIndexRule = 11,
RULE_assignable = 12, RULE_call = 13, RULE_writeStatement = 14, RULE_returnStatement = 15,
RULE_indexType = 16, RULE_dataType = 17, RULE_durationUnit = 18, RULE_durationExpr = 19,
RULE_temporalUnit = 20, RULE_expr = 21, RULE_objOrderedWith = 22, RULE_objNamedWith = 23;
public static final String[] ruleNames = {
"block", "ifStatement", "switchStatement", "whileLoop", "forLoop", "breakLoop",
"continueLoop", "init", "print", "stmt", "assignmentStatement", "objOrIndexRule",
"assignable", "call", "writeStatement", "returnStatement", "indexType",
"dataType", "durationUnit", "durationExpr", "temporalUnit", "expr", "objOrderedWith",
"objNamedWith"
};
@Override
public String getGrammarFileName() { return "Action.g4"; }
@Override
public String[] getTokenNames() { return tokenNames; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public ATN getATN() { return _ATN; }
private static final List stack = new ArrayList();
private static void push(Boolean b) { stack.add(0, b); }
private static void pop() { if (stack.size() > 0) stack.remove(0); }
private static Boolean list() { return stack.size() > 0 ? stack.get(0) : true; }
public ActionParser(TokenStream input) {
super(input);
_interp = new ParserATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
public static class BlockContext extends ParserRuleContext {
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public List stmt() {
return getRuleContexts(StmtContext.class);
}
public BlockContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_block; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBlock(this);
else return visitor.visitChildren(this);
}
}
public final BlockContext block() throws RecognitionException {
BlockContext _localctx = new BlockContext(_ctx, getState());
enterRule(_localctx, 0, RULE_block);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(51);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << 7) | (1L << Write) | (1L << Return) | (1L << If) | (1L << While) | (1L << Switch) | (1L << BreakLoop) | (1L << Continue))) != 0) || ((((_la - 151)) & ~0x3f) == 0 && ((1L << (_la - 151)) & ((1L << (For - 151)) | (1L << (Let - 151)) | (1L << (Call - 151)) | (1L << (ID - 151)))) != 0)) {
{
{
setState(48); stmt();
}
}
setState(53);
_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 IfStatementContext extends ParserRuleContext {
public TerminalNode Then(int i) {
return getToken(ActionParser.Then, i);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Else() { return getToken(ActionParser.Else, 0); }
public TerminalNode EndIf() { return getToken(ActionParser.EndIf, 0); }
public BlockContext block(int i) {
return getRuleContext(BlockContext.class,i);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode If() { return getToken(ActionParser.If, 0); }
public TerminalNode ElsIf(int i) {
return getToken(ActionParser.ElsIf, i);
}
public List block() {
return getRuleContexts(BlockContext.class);
}
public List ElsIf() { return getTokens(ActionParser.ElsIf); }
public List Then() { return getTokens(ActionParser.Then); }
public IfStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_ifStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIfStatement(this);
else return visitor.visitChildren(this);
}
}
public final IfStatementContext ifStatement() throws RecognitionException {
IfStatementContext _localctx = new IfStatementContext(_ctx, getState());
enterRule(_localctx, 2, RULE_ifStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(54); match(If);
setState(55); expr(0);
setState(56); match(Then);
setState(57); block();
setState(65);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==ElsIf) {
{
{
setState(58); match(ElsIf);
setState(59); expr(0);
setState(60); match(Then);
setState(61); block();
}
}
setState(67);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(70);
_la = _input.LA(1);
if (_la==Else) {
{
setState(68); match(Else);
setState(69); block();
}
}
setState(72); match(EndIf);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class SwitchStatementContext extends ParserRuleContext {
public TerminalNode EndSwitch() { return getToken(ActionParser.EndSwitch, 0); }
public TerminalNode Default() { return getToken(ActionParser.Default, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public List Case() { return getTokens(ActionParser.Case); }
public BlockContext block(int i) {
return getRuleContext(BlockContext.class,i);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public TerminalNode Switch() { return getToken(ActionParser.Switch, 0); }
public List block() {
return getRuleContexts(BlockContext.class);
}
public TerminalNode Case(int i) {
return getToken(ActionParser.Case, i);
}
public SwitchStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_switchStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSwitchStatement(this);
else return visitor.visitChildren(this);
}
}
public final SwitchStatementContext switchStatement() throws RecognitionException {
SwitchStatementContext _localctx = new SwitchStatementContext(_ctx, getState());
enterRule(_localctx, 4, RULE_switchStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(74); match(Switch);
setState(75); match(ID);
setState(80);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(76); match(Case);
setState(77); expr(0);
setState(78); block();
}
}
setState(82);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==Case );
setState(86);
_la = _input.LA(1);
if (_la==Default) {
{
setState(84); match(Default);
setState(85); block();
}
}
setState(88); match(EndSwitch);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class WhileLoopContext extends ParserRuleContext {
public TerminalNode While() { return getToken(ActionParser.While, 0); }
public TerminalNode Do() { return getToken(ActionParser.Do, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode EndDo() { return getToken(ActionParser.EndDo, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public WhileLoopContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_whileLoop; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitWhileLoop(this);
else return visitor.visitChildren(this);
}
}
public final WhileLoopContext whileLoop() throws RecognitionException {
WhileLoopContext _localctx = new WhileLoopContext(_ctx, getState());
enterRule(_localctx, 6, RULE_whileLoop);
try {
enterOuterAlt(_localctx, 1);
{
setState(90); match(While);
setState(91); expr(0);
setState(92); match(Do);
setState(93); block();
setState(94); match(EndDo);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ForLoopContext extends ParserRuleContext {
public TerminalNode For() { return getToken(ActionParser.For, 0); }
public TerminalNode Do() { return getToken(ActionParser.Do, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public TerminalNode EndDo() { return getToken(ActionParser.EndDo, 0); }
public BlockContext block() {
return getRuleContext(BlockContext.class,0);
}
public TerminalNode In() { return getToken(ActionParser.In, 0); }
public ForLoopContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_forLoop; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitForLoop(this);
else return visitor.visitChildren(this);
}
}
public final ForLoopContext forLoop() throws RecognitionException {
ForLoopContext _localctx = new ForLoopContext(_ctx, getState());
enterRule(_localctx, 8, RULE_forLoop);
try {
enterOuterAlt(_localctx, 1);
{
setState(96); match(For);
setState(97); match(ID);
setState(98); match(In);
setState(99); expr(0);
setState(100); match(Do);
setState(101); block();
setState(102); match(EndDo);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class BreakLoopContext extends ParserRuleContext {
public TerminalNode BreakLoop() { return getToken(ActionParser.BreakLoop, 0); }
public BreakLoopContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_breakLoop; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBreakLoop(this);
else return visitor.visitChildren(this);
}
}
public final BreakLoopContext breakLoop() throws RecognitionException {
BreakLoopContext _localctx = new BreakLoopContext(_ctx, getState());
enterRule(_localctx, 10, RULE_breakLoop);
try {
enterOuterAlt(_localctx, 1);
{
setState(104); match(BreakLoop);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ContinueLoopContext extends ParserRuleContext {
public TerminalNode Continue() { return getToken(ActionParser.Continue, 0); }
public ContinueLoopContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_continueLoop; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitContinueLoop(this);
else return visitor.visitChildren(this);
}
}
public final ContinueLoopContext continueLoop() throws RecognitionException {
ContinueLoopContext _localctx = new ContinueLoopContext(_ctx, getState());
enterRule(_localctx, 12, RULE_continueLoop);
try {
enterOuterAlt(_localctx, 1);
{
setState(106); match(Continue);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class InitContext extends ParserRuleContext {
public TerminalNode EOF() { return getToken(ActionParser.EOF, 0); }
public StmtContext stmt(int i) {
return getRuleContext(StmtContext.class,i);
}
public List stmt() {
return getRuleContexts(StmtContext.class);
}
public InitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_init; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitInit(this);
else return visitor.visitChildren(this);
}
}
public final InitContext init() throws RecognitionException {
InitContext _localctx = new InitContext(_ctx, getState());
enterRule(_localctx, 14, RULE_init);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(111);
_errHandler.sync(this);
_la = _input.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << 7) | (1L << Write) | (1L << Return) | (1L << If) | (1L << While) | (1L << Switch) | (1L << BreakLoop) | (1L << Continue))) != 0) || ((((_la - 151)) & ~0x3f) == 0 && ((1L << (_la - 151)) & ((1L << (For - 151)) | (1L << (Let - 151)) | (1L << (Call - 151)) | (1L << (ID - 151)))) != 0)) {
{
{
setState(108); stmt();
}
}
setState(113);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(114); match(EOF);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class PrintContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Print() { return getToken(ActionParser.Print, 0); }
public PrintContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_print; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitPrint(this);
else return visitor.visitChildren(this);
}
}
public final PrintContext print() throws RecognitionException {
PrintContext _localctx = new PrintContext(_ctx, getState());
enterRule(_localctx, 16, RULE_print);
try {
enterOuterAlt(_localctx, 1);
{
setState(116); match(Print);
setState(117); expr(0);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class StmtContext extends ParserRuleContext {
public ContinueLoopContext continueLoop() {
return getRuleContext(ContinueLoopContext.class,0);
}
public AssignmentStatementContext assignmentStatement() {
return getRuleContext(AssignmentStatementContext.class,0);
}
public WhileLoopContext whileLoop() {
return getRuleContext(WhileLoopContext.class,0);
}
public IfStatementContext ifStatement() {
return getRuleContext(IfStatementContext.class,0);
}
public WriteStatementContext writeStatement() {
return getRuleContext(WriteStatementContext.class,0);
}
public ReturnStatementContext returnStatement() {
return getRuleContext(ReturnStatementContext.class,0);
}
public ForLoopContext forLoop() {
return getRuleContext(ForLoopContext.class,0);
}
public BreakLoopContext breakLoop() {
return getRuleContext(BreakLoopContext.class,0);
}
public CallContext call() {
return getRuleContext(CallContext.class,0);
}
public SwitchStatementContext switchStatement() {
return getRuleContext(SwitchStatementContext.class,0);
}
public StmtContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_stmt; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitStmt(this);
else return visitor.visitChildren(this);
}
}
public final StmtContext stmt() throws RecognitionException {
StmtContext _localctx = new StmtContext(_ctx, getState());
enterRule(_localctx, 18, RULE_stmt);
try {
setState(149);
switch (_input.LA(1)) {
case 7:
case Let:
case ID:
enterOuterAlt(_localctx, 1);
{
setState(119); assignmentStatement();
setState(120); match(8);
}
break;
case If:
enterOuterAlt(_localctx, 2);
{
setState(122); ifStatement();
setState(123); match(8);
}
break;
case Switch:
enterOuterAlt(_localctx, 3);
{
setState(125); switchStatement();
setState(126); match(8);
}
break;
case While:
enterOuterAlt(_localctx, 4);
{
setState(128); whileLoop();
setState(129); match(8);
}
break;
case For:
enterOuterAlt(_localctx, 5);
{
setState(131); forLoop();
setState(132); match(8);
}
break;
case BreakLoop:
enterOuterAlt(_localctx, 6);
{
setState(134); breakLoop();
setState(135); match(8);
}
break;
case Continue:
enterOuterAlt(_localctx, 7);
{
setState(137); continueLoop();
setState(138); match(8);
}
break;
case Call:
enterOuterAlt(_localctx, 8);
{
setState(140); call();
setState(141); match(8);
}
break;
case Write:
enterOuterAlt(_localctx, 9);
{
setState(143); writeStatement();
setState(144); match(8);
}
break;
case Return:
enterOuterAlt(_localctx, 10);
{
setState(146); returnStatement();
setState(147); match(8);
}
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 AssignmentStatementContext extends ParserRuleContext {
public AssignmentStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignmentStatement; }
public AssignmentStatementContext() { }
public void copyFrom(AssignmentStatementContext ctx) {
super.copyFrom(ctx);
}
}
public static class AssignmentContext extends AssignmentStatementContext {
public AssignableContext assignable() {
return getRuleContext(AssignableContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public TerminalNode Let() { return getToken(ActionParser.Let, 0); }
public TerminalNode Be() { return getToken(ActionParser.Be, 0); }
public AssignmentContext(AssignmentStatementContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAssignment(this);
else return visitor.visitChildren(this);
}
}
public static class MultipleAssignmentContext extends AssignmentStatementContext {
public AssignableContext assignable() {
return getRuleContext(AssignableContext.class,0);
}
public List ID() { return getTokens(ActionParser.ID); }
public TerminalNode Let() { return getToken(ActionParser.Let, 0); }
public TerminalNode Be() { return getToken(ActionParser.Be, 0); }
public TerminalNode ID(int i) {
return getToken(ActionParser.ID, i);
}
public MultipleAssignmentContext(AssignmentStatementContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMultipleAssignment(this);
else return visitor.visitChildren(this);
}
}
public static class EnhancedAssignmentContext extends AssignmentStatementContext {
public AssignableContext assignable() {
return getRuleContext(AssignableContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public List objOrIndexRule() {
return getRuleContexts(ObjOrIndexRuleContext.class);
}
public ObjOrIndexRuleContext objOrIndexRule(int i) {
return getRuleContext(ObjOrIndexRuleContext.class,i);
}
public EnhancedAssignmentContext(AssignmentStatementContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitEnhancedAssignment(this);
else return visitor.visitChildren(this);
}
}
public final AssignmentStatementContext assignmentStatement() throws RecognitionException {
AssignmentStatementContext _localctx = new AssignmentStatementContext(_ctx, getState());
enterRule(_localctx, 20, RULE_assignmentStatement);
int _la;
try {
setState(192);
switch ( getInterpreter().adaptivePredict(_input,10,_ctx) ) {
case 1:
_localctx = new AssignmentContext(_localctx);
enterOuterAlt(_localctx, 1);
{
setState(151); match(ID);
setState(152); match(5);
setState(153); assignable();
}
break;
case 2:
_localctx = new AssignmentContext(_localctx);
enterOuterAlt(_localctx, 2);
{
setState(154); match(Let);
setState(155); match(ID);
setState(156); match(Be);
setState(157); assignable();
}
break;
case 3:
_localctx = new MultipleAssignmentContext(_localctx);
enterOuterAlt(_localctx, 3);
{
setState(158); match(7);
setState(159); match(ID);
setState(164);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==4) {
{
{
setState(160); match(4);
setState(161); match(ID);
}
}
setState(166);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(167); match(2);
setState(168); match(5);
setState(169); assignable();
}
break;
case 4:
_localctx = new MultipleAssignmentContext(_localctx);
enterOuterAlt(_localctx, 4);
{
setState(170); match(Let);
setState(171); match(7);
setState(172); match(ID);
setState(177);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==4) {
{
{
setState(173); match(4);
setState(174); match(ID);
}
}
setState(179);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(180); match(2);
setState(181); match(Be);
setState(182); assignable();
}
break;
case 5:
_localctx = new EnhancedAssignmentContext(_localctx);
enterOuterAlt(_localctx, 5);
{
setState(183); match(ID);
setState(185);
_errHandler.sync(this);
_la = _input.LA(1);
do {
{
{
setState(184); objOrIndexRule();
}
}
setState(187);
_errHandler.sync(this);
_la = _input.LA(1);
} while ( _la==3 || _la==6 );
setState(189); match(5);
setState(190); assignable();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ObjOrIndexRuleContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public ObjOrIndexRuleContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objOrIndexRule; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitObjOrIndexRule(this);
else return visitor.visitChildren(this);
}
}
public final ObjOrIndexRuleContext objOrIndexRule() throws RecognitionException {
ObjOrIndexRuleContext _localctx = new ObjOrIndexRuleContext(_ctx, getState());
enterRule(_localctx, 22, RULE_objOrIndexRule);
try {
setState(200);
switch (_input.LA(1)) {
case 3:
enterOuterAlt(_localctx, 1);
{
setState(194); match(3);
setState(195); match(ID);
}
break;
case 6:
enterOuterAlt(_localctx, 2);
{
setState(196); match(6);
setState(197); expr(0);
setState(198); match(1);
}
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 AssignableContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public CallContext call() {
return getRuleContext(CallContext.class,0);
}
public AssignableContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_assignable; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAssignable(this);
else return visitor.visitChildren(this);
}
}
public final AssignableContext assignable() throws RecognitionException {
AssignableContext _localctx = new AssignableContext(_ctx, getState());
enterRule(_localctx, 24, RULE_assignable);
try {
setState(204);
switch (_input.LA(1)) {
case 4:
case 7:
case Plus:
case Minus:
case Arccos:
case Arcsin:
case Arctan:
case Cosine:
case Sine:
case Tangent:
case Exp:
case Log:
case Log10:
case Int:
case Floor:
case Ceiling:
case Truncate:
case Round:
case Abs:
case Sqrt:
case Min:
case Max:
case Earliest:
case Latest:
case Nearest:
case First:
case Last:
case Count:
case Interval:
case Exist:
case Avg:
case Median:
case Sum:
case Stddev:
case Variance:
case Index:
case Any:
case All:
case No:
case Time:
case String:
case Length:
case Uppercase:
case Lowercase:
case Trim:
case Find:
case Substring:
case Add:
case Percent:
case Increase:
case Decrease:
case Sublist:
case Remove:
case Sort:
case New:
case Clone:
case Attribute:
case Extract:
case Null:
case BooleanVal:
case Replace:
case Reverse:
case EmptyList:
case NumberVal:
case Now:
case CurrentTime:
case TimeVal:
case TimeOfDayFunc:
case TimeOfDayVal:
case DayOfWeekFunc:
case DayOfWeek:
case The:
case Not:
case At:
case StringVal:
case ID:
enterOuterAlt(_localctx, 1);
{
setState(202); expr(0);
}
break;
case Call:
enterOuterAlt(_localctx, 2);
{
setState(203); call();
}
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 CallContext extends ParserRuleContext {
public TerminalNode With() { return getToken(ActionParser.With, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Call() { return getToken(ActionParser.Call, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public DurationExprContext durationExpr() {
return getRuleContext(DurationExprContext.class,0);
}
public TerminalNode Delay() { return getToken(ActionParser.Delay, 0); }
public CallContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_call; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitCall(this);
else return visitor.visitChildren(this);
}
}
public final CallContext call() throws RecognitionException {
CallContext _localctx = new CallContext(_ctx, getState());
enterRule(_localctx, 26, RULE_call);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(206); match(Call);
setState(207); match(ID);
setState(217);
_la = _input.LA(1);
if (_la==With) {
{
setState(208); match(With);
setState(209); expr(0);
setState(214);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==4) {
{
{
setState(210); match(4);
setState(211); expr(0);
}
}
setState(216);
_errHandler.sync(this);
_la = _input.LA(1);
}
}
}
setState(221);
_la = _input.LA(1);
if (_la==Delay) {
{
setState(219); match(Delay);
setState(220); durationExpr();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class WriteStatementContext extends ParserRuleContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public TerminalNode Write() { return getToken(ActionParser.Write, 0); }
public TerminalNode At() { return getToken(ActionParser.At, 0); }
public WriteStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_writeStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitWriteStatement(this);
else return visitor.visitChildren(this);
}
}
public final WriteStatementContext writeStatement() throws RecognitionException {
WriteStatementContext _localctx = new WriteStatementContext(_ctx, getState());
enterRule(_localctx, 28, RULE_writeStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(223); match(Write);
setState(224); expr(0);
setState(227);
_la = _input.LA(1);
if (_la==At) {
{
setState(225); match(At);
setState(226); match(ID);
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ReturnStatementContext extends ParserRuleContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Return() { return getToken(ActionParser.Return, 0); }
public ReturnStatementContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_returnStatement; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitReturnStatement(this);
else return visitor.visitChildren(this);
}
}
public final ReturnStatementContext returnStatement() throws RecognitionException {
ReturnStatementContext _localctx = new ReturnStatementContext(_ctx, getState());
enterRule(_localctx, 30, RULE_returnStatement);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(229); match(Return);
setState(230); expr(0);
setState(235);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==4) {
{
{
setState(231); match(4);
setState(232); expr(0);
}
}
setState(237);
_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 IndexTypeContext extends ParserRuleContext {
public TerminalNode Latest() { return getToken(ActionParser.Latest, 0); }
public TerminalNode Earliest() { return getToken(ActionParser.Earliest, 0); }
public TerminalNode Max() { return getToken(ActionParser.Max, 0); }
public TerminalNode Min() { return getToken(ActionParser.Min, 0); }
public IndexTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_indexType; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIndexType(this);
else return visitor.visitChildren(this);
}
}
public final IndexTypeContext indexType() throws RecognitionException {
IndexTypeContext _localctx = new IndexTypeContext(_ctx, getState());
enterRule(_localctx, 32, RULE_indexType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(238);
_la = _input.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << Min) | (1L << Max) | (1L << Earliest) | (1L << Latest))) != 0)) ) {
_errHandler.recoverInline(this);
}
consume();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DataTypeContext extends ParserRuleContext {
public TerminalNode String() { return getToken(ActionParser.String, 0); }
public TerminalNode Time() { return getToken(ActionParser.Time, 0); }
public TerminalNode Present() { return getToken(ActionParser.Present, 0); }
public TerminalNode Number() { return getToken(ActionParser.Number, 0); }
public TerminalNode Object() { return getToken(ActionParser.Object, 0); }
public TerminalNode List() { return getToken(ActionParser.List, 0); }
public TerminalNode Duration() { return getToken(ActionParser.Duration, 0); }
public TerminalNode Null() { return getToken(ActionParser.Null, 0); }
public TerminalNode TimeOfDay() { return getToken(ActionParser.TimeOfDay, 0); }
public TerminalNode Boolean() { return getToken(ActionParser.Boolean, 0); }
public DataTypeContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_dataType; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDataType(this);
else return visitor.visitChildren(this);
}
}
public final DataTypeContext dataType() throws RecognitionException {
DataTypeContext _localctx = new DataTypeContext(_ctx, getState());
enterRule(_localctx, 34, RULE_dataType);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(240);
_la = _input.LA(1);
if ( !(((((_la - 85)) & ~0x3f) == 0 && ((1L << (_la - 85)) & ((1L << (Time - 85)) | (1L << (String - 85)) | (1L << (List - 85)) | (1L << (Duration - 85)) | (1L << (Null - 85)) | (1L << (Boolean - 85)) | (1L << (Present - 85)) | (1L << (TimeOfDay - 85)) | (1L << (Number - 85)))) != 0) || _la==Object) ) {
_errHandler.recoverInline(this);
}
consume();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class DurationUnitContext extends ParserRuleContext {
public TerminalNode Minute() { return getToken(ActionParser.Minute, 0); }
public TerminalNode Days() { return getToken(ActionParser.Days, 0); }
public TerminalNode Second() { return getToken(ActionParser.Second, 0); }
public TerminalNode Seconds() { return getToken(ActionParser.Seconds, 0); }
public TerminalNode Weeks() { return getToken(ActionParser.Weeks, 0); }
public TerminalNode Week() { return getToken(ActionParser.Week, 0); }
public TerminalNode Minutes() { return getToken(ActionParser.Minutes, 0); }
public TerminalNode Month() { return getToken(ActionParser.Month, 0); }
public TerminalNode Hours() { return getToken(ActionParser.Hours, 0); }
public TerminalNode Year() { return getToken(ActionParser.Year, 0); }
public TerminalNode Years() { return getToken(ActionParser.Years, 0); }
public TerminalNode Day() { return getToken(ActionParser.Day, 0); }
public TerminalNode Months() { return getToken(ActionParser.Months, 0); }
public TerminalNode Hour() { return getToken(ActionParser.Hour, 0); }
public DurationUnitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_durationUnit; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDurationUnit(this);
else return visitor.visitChildren(this);
}
}
public final DurationUnitContext durationUnit() throws RecognitionException {
DurationUnitContext _localctx = new DurationUnitContext(_ctx, getState());
enterRule(_localctx, 36, RULE_durationUnit);
int _la;
try {
setState(249);
switch (_input.LA(1)) {
case Year:
case Years:
enterOuterAlt(_localctx, 1);
{
setState(242);
_la = _input.LA(1);
if ( !(_la==Year || _la==Years) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Month:
case Months:
enterOuterAlt(_localctx, 2);
{
setState(243);
_la = _input.LA(1);
if ( !(_la==Month || _la==Months) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Week:
case Weeks:
enterOuterAlt(_localctx, 3);
{
setState(244);
_la = _input.LA(1);
if ( !(_la==Week || _la==Weeks) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Day:
case Days:
enterOuterAlt(_localctx, 4);
{
setState(245);
_la = _input.LA(1);
if ( !(_la==Day || _la==Days) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Hour:
case Hours:
enterOuterAlt(_localctx, 5);
{
setState(246);
_la = _input.LA(1);
if ( !(_la==Hour || _la==Hours) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Minute:
case Minutes:
enterOuterAlt(_localctx, 6);
{
setState(247);
_la = _input.LA(1);
if ( !(_la==Minute || _la==Minutes) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
case Second:
case Seconds:
enterOuterAlt(_localctx, 7);
{
setState(248);
_la = _input.LA(1);
if ( !(_la==Second || _la==Seconds) ) {
_errHandler.recoverInline(this);
}
consume();
}
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 DurationExprContext extends ParserRuleContext {
public List durationUnit() {
return getRuleContexts(DurationUnitContext.class);
}
public DurationUnitContext durationUnit(int i) {
return getRuleContext(DurationUnitContext.class,i);
}
public List NumberVal() { return getTokens(ActionParser.NumberVal); }
public TerminalNode NumberVal(int i) {
return getToken(ActionParser.NumberVal, i);
}
public DurationExprContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_durationExpr; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDurationExpr(this);
else return visitor.visitChildren(this);
}
}
public final DurationExprContext durationExpr() throws RecognitionException {
DurationExprContext _localctx = new DurationExprContext(_ctx, getState());
enterRule(_localctx, 38, RULE_durationExpr);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(253);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,19,_ctx);
do {
switch (_alt) {
case 1:
{
{
setState(251); match(NumberVal);
setState(252); durationUnit();
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(255);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,19,_ctx);
} while ( _alt!=2 && _alt!=-1 );
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class TemporalUnitContext extends ParserRuleContext {
public TerminalNode Second() { return getToken(ActionParser.Second, 0); }
public TerminalNode Month() { return getToken(ActionParser.Month, 0); }
public TerminalNode Minute() { return getToken(ActionParser.Minute, 0); }
public TerminalNode Year() { return getToken(ActionParser.Year, 0); }
public TerminalNode Day() { return getToken(ActionParser.Day, 0); }
public TerminalNode Hour() { return getToken(ActionParser.Hour, 0); }
public TemporalUnitContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_temporalUnit; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTemporalUnit(this);
else return visitor.visitChildren(this);
}
}
public final TemporalUnitContext temporalUnit() throws RecognitionException {
TemporalUnitContext _localctx = new TemporalUnitContext(_ctx, getState());
enterRule(_localctx, 40, RULE_temporalUnit);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(257);
_la = _input.LA(1);
if ( !(((((_la - 111)) & ~0x3f) == 0 && ((1L << (_la - 111)) & ((1L << (Year - 111)) | (1L << (Month - 111)) | (1L << (Day - 111)) | (1L << (Hour - 111)) | (1L << (Minute - 111)) | (1L << (Second - 111)))) != 0)) ) {
_errHandler.recoverInline(this);
}
consume();
}
}
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 int _p;
public ExprContext(ParserRuleContext parent, int invokingState) { super(parent, invokingState); }
public ExprContext(ParserRuleContext parent, int invokingState, int _p) {
super(parent, invokingState);
this._p = _p;
}
@Override public int getRuleIndex() { return RULE_expr; }
public ExprContext() { }
public void copyFrom(ExprContext ctx) {
super.copyFrom(ctx);
this._p = ctx._p;
}
}
public static class ArccosContext extends ExprContext {
public TerminalNode Arccos() { return getToken(ActionParser.Arccos, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ArccosContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitArccos(this);
else return visitor.visitChildren(this);
}
}
public static class NoContext extends ExprContext {
public TerminalNode No() { return getToken(ActionParser.No, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode IsTrue() { return getToken(ActionParser.IsTrue, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public NoContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNo(this);
else return visitor.visitChildren(this);
}
}
public static class FirstFromContext extends ExprContext {
public TerminalNode First() { return getToken(ActionParser.First, 0); }
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public FirstFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitFirstFrom(this);
else return visitor.visitChildren(this);
}
}
public static class AsStringContext extends ExprContext {
public TerminalNode AsString() { return getToken(ActionParser.AsString, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public AsStringContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAsString(this);
else return visitor.visitChildren(this);
}
}
public static class DotContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public DotContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDot(this);
else return visitor.visitChildren(this);
}
}
public static class MinimumFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Min() { return getToken(ActionParser.Min, 0); }
public MinimumFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMinimumFrom(this);
else return visitor.visitChildren(this);
}
}
public static class MatchesContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode MatchesPattern() { return getToken(ActionParser.MatchesPattern, 0); }
public MatchesContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMatches(this);
else return visitor.visitChildren(this);
}
}
public static class AbsContext extends ExprContext {
public TerminalNode Abs() { return getToken(ActionParser.Abs, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public AbsContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAbs(this);
else return visitor.visitChildren(this);
}
}
public static class IndexOfFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Index() { return getToken(ActionParser.Index, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public IndexOfFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIndexOfFrom(this);
else return visitor.visitChildren(this);
}
}
public static class IsInContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode In() { return getToken(ActionParser.In, 0); }
public IsInContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsIn(this);
else return visitor.visitChildren(this);
}
}
public static class SubstringContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode StartingAt() { return getToken(ActionParser.StartingAt, 0); }
public TerminalNode Substring() { return getToken(ActionParser.Substring, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Characters() { return getToken(ActionParser.Characters, 0); }
public SubstringContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSubstring(this);
else return visitor.visitChildren(this);
}
}
public static class ElementContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public ElementContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitElement(this);
else return visitor.visitChildren(this);
}
}
public static class CloneContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Clone() { return getToken(ActionParser.Clone, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public CloneContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitClone(this);
else return visitor.visitChildren(this);
}
}
public static class OccurEqualContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode At() { return getToken(ActionParser.At, 0); }
public TerminalNode Equal() { return getToken(ActionParser.Equal, 0); }
public OccurEqualContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurEqual(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinFollowingContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Following() { return getToken(ActionParser.Following, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public IsWithinFollowingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinFollowing(this);
else return visitor.visitChildren(this);
}
}
public static class UnaryMinusContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Minus() { return getToken(ActionParser.Minus, 0); }
public UnaryMinusContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitUnaryMinus(this);
else return visitor.visitChildren(this);
}
}
public static class OrContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Or() { return getToken(ActionParser.Or, 0); }
public OrContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOr(this);
else return visitor.visitChildren(this);
}
}
public static class UnaryListContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public UnaryListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitUnaryList(this);
else return visitor.visitChildren(this);
}
}
public static class ParensContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public ParensContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitParens(this);
else return visitor.visitChildren(this);
}
}
public static class LogContext extends ExprContext {
public TerminalNode Log() { return getToken(ActionParser.Log, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public LogContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLog(this);
else return visitor.visitChildren(this);
}
}
public static class AtMostOrLeastContext extends ExprContext {
public TerminalNode AreTrue() { return getToken(ActionParser.AreTrue, 0); }
public TerminalNode Least() { return getToken(ActionParser.Least, 0); }
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode At() { return getToken(ActionParser.At, 0); }
public TerminalNode IsTrue() { return getToken(ActionParser.IsTrue, 0); }
public TerminalNode Most() { return getToken(ActionParser.Most, 0); }
public AtMostOrLeastContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAtMostOrLeast(this);
else return visitor.visitChildren(this);
}
}
public static class ExtractContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TemporalUnitContext temporalUnit() {
return getRuleContext(TemporalUnitContext.class,0);
}
public TerminalNode Extract() { return getToken(ActionParser.Extract, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ExtractContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitExtract(this);
else return visitor.visitChildren(this);
}
}
public static class TimeOfDayValContext extends ExprContext {
public TerminalNode TimeOfDayVal() { return getToken(ActionParser.TimeOfDayVal, 0); }
public TimeOfDayValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTimeOfDayVal(this);
else return visitor.visitChildren(this);
}
}
public static class NotContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public NotContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNot(this);
else return visitor.visitChildren(this);
}
}
public static class MedianContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Median() { return getToken(ActionParser.Median, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public MedianContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMedian(this);
else return visitor.visitChildren(this);
}
}
public static class FloorContext extends ExprContext {
public TerminalNode Floor() { return getToken(ActionParser.Floor, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Int() { return getToken(ActionParser.Int, 0); }
public FloorContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitFloor(this);
else return visitor.visitChildren(this);
}
}
public static class NowContext extends ExprContext {
public TerminalNode Now() { return getToken(ActionParser.Now, 0); }
public NowContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNow(this);
else return visitor.visitChildren(this);
}
}
public static class TruncateContext extends ExprContext {
public TerminalNode Truncate() { return getToken(ActionParser.Truncate, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TruncateContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTruncate(this);
else return visitor.visitChildren(this);
}
}
public static class IsLessThanOrEqualContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode LessThanOrEqual() { return getToken(ActionParser.LessThanOrEqual, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsLessThanOrEqualContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsLessThanOrEqual(this);
else return visitor.visitChildren(this);
}
}
public static class NullValContext extends ExprContext {
public TerminalNode Null() { return getToken(ActionParser.Null, 0); }
public NullValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNullVal(this);
else return visitor.visitChildren(this);
}
}
public static class OccurBeforeContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Before() { return getToken(ActionParser.Before, 0); }
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public OccurBeforeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurBefore(this);
else return visitor.visitChildren(this);
}
}
public static class WhereTimeIsPresentContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode WhereTimePresent() { return getToken(ActionParser.WhereTimePresent, 0); }
public WhereTimeIsPresentContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitWhereTimeIsPresent(this);
else return visitor.visitChildren(this);
}
}
public static class SortContext extends ExprContext {
public TerminalNode Sort() { return getToken(ActionParser.Sort, 0); }
public TerminalNode Time() { return getToken(ActionParser.Time, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Data() { return getToken(ActionParser.Data, 0); }
public SortContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSort(this);
else return visitor.visitChildren(this);
}
}
public static class IntervalContext extends ExprContext {
public TerminalNode Interval() { return getToken(ActionParser.Interval, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public IntervalContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitInterval(this);
else return visitor.visitChildren(this);
}
}
public static class MinimumContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Min() { return getToken(ActionParser.Min, 0); }
public MinimumContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMinimum(this);
else return visitor.visitChildren(this);
}
}
public static class BeforeContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Before() { return getToken(ActionParser.Before, 0); }
public BeforeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBefore(this);
else return visitor.visitChildren(this);
}
}
public static class MergeContext extends ExprContext {
public TerminalNode Merge() { return getToken(ActionParser.Merge, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public MergeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMerge(this);
else return visitor.visitChildren(this);
}
}
public static class IsLessThanContext extends ExprContext {
public TerminalNode LessThan() { return getToken(ActionParser.LessThan, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsLessThanContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsLessThan(this);
else return visitor.visitChildren(this);
}
}
public static class UnaryPlusContext extends ExprContext {
public TerminalNode Plus() { return getToken(ActionParser.Plus, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public UnaryPlusContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitUnaryPlus(this);
else return visitor.visitChildren(this);
}
}
public static class IsBeforeContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Before() { return getToken(ActionParser.Before, 0); }
public IsBeforeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsBefore(this);
else return visitor.visitChildren(this);
}
}
public static class AddToListContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode To() { return getToken(ActionParser.To, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode At() { return getToken(ActionParser.At, 0); }
public TerminalNode Add() { return getToken(ActionParser.Add, 0); }
public AddToListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAddToList(this);
else return visitor.visitChildren(this);
}
}
public static class LengthContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Length() { return getToken(ActionParser.Length, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public LengthContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLength(this);
else return visitor.visitChildren(this);
}
}
public static class AtTimeContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode AtTime() { return getToken(ActionParser.AtTime, 0); }
public AtTimeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAtTime(this);
else return visitor.visitChildren(this);
}
}
public static class EarliestFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Earliest() { return getToken(ActionParser.Earliest, 0); }
public EarliestFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitEarliestFrom(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinFollowingContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Following() { return getToken(ActionParser.Following, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public OccurWithinFollowingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinFollowing(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinPrecedingContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public TerminalNode Preceding() { return getToken(ActionParser.Preceding, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public OccurWithinPrecedingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinPreceding(this);
else return visitor.visitChildren(this);
}
}
public static class ReverseContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Reverse() { return getToken(ActionParser.Reverse, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ReverseContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitReverse(this);
else return visitor.visitChildren(this);
}
}
public static class IsDataTypeContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public DataTypeContext dataType() {
return getRuleContext(DataTypeContext.class,0);
}
public IsDataTypeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsDataType(this);
else return visitor.visitChildren(this);
}
}
public static class ArctanContext extends ExprContext {
public TerminalNode Arctan() { return getToken(ActionParser.Arctan, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ArctanContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitArctan(this);
else return visitor.visitChildren(this);
}
}
public static class SqrtContext extends ExprContext {
public TerminalNode Sqrt() { return getToken(ActionParser.Sqrt, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public SqrtContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSqrt(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinPastContext extends ExprContext {
public TerminalNode The() { return getToken(ActionParser.The, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Past() { return getToken(ActionParser.Past, 0); }
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public OccurWithinPastContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinPast(this);
else return visitor.visitChildren(this);
}
}
public static class AsNumberContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode AsNumber() { return getToken(ActionParser.AsNumber, 0); }
public AsNumberContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAsNumber(this);
else return visitor.visitChildren(this);
}
}
public static class DivideContext extends ExprContext {
public TerminalNode Div() { return getToken(ActionParser.Div, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public DivideContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDivide(this);
else return visitor.visitChildren(this);
}
}
public static class StringValContext extends ExprContext {
public TerminalNode StringVal() { return getToken(ActionParser.StringVal, 0); }
public StringValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitStringVal(this);
else return visitor.visitChildren(this);
}
}
public static class ReplaceContext extends ExprContext {
public TerminalNode With() { return getToken(ActionParser.With, 0); }
public TerminalNode Replace() { return getToken(ActionParser.Replace, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TemporalUnitContext temporalUnit() {
return getRuleContext(TemporalUnitContext.class,0);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ReplaceContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitReplace(this);
else return visitor.visitChildren(this);
}
}
public static class ArcsinContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Arcsin() { return getToken(ActionParser.Arcsin, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ArcsinContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitArcsin(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinToContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public TerminalNode To() { return getToken(ActionParser.To, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public IsWithinToContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinTo(this);
else return visitor.visitChildren(this);
}
}
public static class MaximumFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Max() { return getToken(ActionParser.Max, 0); }
public MaximumFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMaximumFrom(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinSurroundingContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public TerminalNode Surrounding() { return getToken(ActionParser.Surrounding, 0); }
public IsWithinSurroundingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinSurrounding(this);
else return visitor.visitChildren(this);
}
}
public static class IsObjectTypeContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsObjectTypeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsObjectType(this);
else return visitor.visitChildren(this);
}
}
public static class AgoContext extends ExprContext {
public TerminalNode Ago() { return getToken(ActionParser.Ago, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public AgoContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAgo(this);
else return visitor.visitChildren(this);
}
}
public static class DecreaseContext extends ExprContext {
public TerminalNode Percent() { return getToken(ActionParser.Percent, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Decrease() { return getToken(ActionParser.Decrease, 0); }
public DecreaseContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDecrease(this);
else return visitor.visitChildren(this);
}
}
public static class StdDevContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Stddev() { return getToken(ActionParser.Stddev, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public StdDevContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitStdDev(this);
else return visitor.visitChildren(this);
}
}
public static class ExtractCharsContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Extract() { return getToken(ActionParser.Extract, 0); }
public TerminalNode Characters() { return getToken(ActionParser.Characters, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ExtractCharsContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitExtractChars(this);
else return visitor.visitChildren(this);
}
}
public static class CountContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Count() { return getToken(ActionParser.Count, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public CountContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitCount(this);
else return visitor.visitChildren(this);
}
}
public static class LastContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Last() { return getToken(ActionParser.Last, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public LastContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLast(this);
else return visitor.visitChildren(this);
}
}
public static class NumberValContext extends ExprContext {
public TerminalNode NumberVal() { return getToken(ActionParser.NumberVal, 0); }
public NumberValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNumberVal(this);
else return visitor.visitChildren(this);
}
}
public static class BooleanValContext extends ExprContext {
public TerminalNode BooleanVal() { return getToken(ActionParser.BooleanVal, 0); }
public BooleanValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBooleanVal(this);
else return visitor.visitChildren(this);
}
}
public static class RoundContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Round() { return getToken(ActionParser.Round, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public RoundContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitRound(this);
else return visitor.visitChildren(this);
}
}
public static class WhereContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Where() { return getToken(ActionParser.Where, 0); }
public WhereContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitWhere(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinPrecedingContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public TerminalNode Preceding() { return getToken(ActionParser.Preceding, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public IsWithinPrecedingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinPreceding(this);
else return visitor.visitChildren(this);
}
}
public static class LastFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Last() { return getToken(ActionParser.Last, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public LastFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLastFrom(this);
else return visitor.visitChildren(this);
}
}
public static class BinaryListContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public BinaryListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBinaryList(this);
else return visitor.visitChildren(this);
}
}
public static class IsAfterContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public TerminalNode After() { return getToken(ActionParser.After, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsAfterContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsAfter(this);
else return visitor.visitChildren(this);
}
}
public static class UppercaseContext extends ExprContext {
public TerminalNode Uppercase() { return getToken(ActionParser.Uppercase, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public UppercaseContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitUppercase(this);
else return visitor.visitChildren(this);
}
}
public static class BuildStringContext extends ExprContext {
public TerminalNode String() { return getToken(ActionParser.String, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public BuildStringContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitBuildString(this);
else return visitor.visitChildren(this);
}
}
public static class AfterContext extends ExprContext {
public TerminalNode After() { return getToken(ActionParser.After, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public AfterContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAfter(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinToContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public TerminalNode To() { return getToken(ActionParser.To, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public OccurWithinToContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinTo(this);
else return visitor.visitChildren(this);
}
}
public static class EarliestContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Earliest() { return getToken(ActionParser.Earliest, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public EarliestContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitEarliest(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinSameDayContext extends ExprContext {
public TerminalNode SameDayAs() { return getToken(ActionParser.SameDayAs, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public OccurWithinSameDayContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinSameDay(this);
else return visitor.visitChildren(this);
}
}
public static class AnyContext extends ExprContext {
public TerminalNode Any() { return getToken(ActionParser.Any, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode IsTrue() { return getToken(ActionParser.IsTrue, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public AnyContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAny(this);
else return visitor.visitChildren(this);
}
}
public static class DayOfWeekFuncContext extends ExprContext {
public TerminalNode DayOfWeekFunc() { return getToken(ActionParser.DayOfWeekFunc, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public DayOfWeekFuncContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDayOfWeekFunc(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinSameDayContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public TerminalNode SameDayAs() { return getToken(ActionParser.SameDayAs, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public IsWithinSameDayContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinSameDay(this);
else return visitor.visitChildren(this);
}
}
public static class SubListContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode StartingAt() { return getToken(ActionParser.StartingAt, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Sublist() { return getToken(ActionParser.Sublist, 0); }
public TerminalNode Elements() { return getToken(ActionParser.Elements, 0); }
public SubListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSubList(this);
else return visitor.visitChildren(this);
}
}
public static class IndexContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Index() { return getToken(ActionParser.Index, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public IndexTypeContext indexType() {
return getRuleContext(IndexTypeContext.class,0);
}
public IndexContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIndex(this);
else return visitor.visitChildren(this);
}
}
public static class LatestFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Latest() { return getToken(ActionParser.Latest, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public LatestFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLatestFrom(this);
else return visitor.visitChildren(this);
}
}
public static class IndexFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Index() { return getToken(ActionParser.Index, 0); }
public IndexTypeContext indexType() {
return getRuleContext(IndexTypeContext.class,0);
}
public IndexFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIndexFrom(this);
else return visitor.visitChildren(this);
}
}
public static class AndContext extends ExprContext {
public TerminalNode And() { return getToken(ActionParser.And, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public AndContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAnd(this);
else return visitor.visitChildren(this);
}
}
public static class IsGreaterThanOrEqualContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode GreaterThanOrEqual() { return getToken(ActionParser.GreaterThanOrEqual, 0); }
public IsGreaterThanOrEqualContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsGreaterThanOrEqual(this);
else return visitor.visitChildren(this);
}
}
public static class ExtractAttrNamesContext extends ExprContext {
public TerminalNode Names() { return getToken(ActionParser.Names, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Extract() { return getToken(ActionParser.Extract, 0); }
public TerminalNode Attribute() { return getToken(ActionParser.Attribute, 0); }
public ExtractAttrNamesContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitExtractAttrNames(this);
else return visitor.visitChildren(this);
}
}
public static class ExpContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Exp() { return getToken(ActionParser.Exp, 0); }
public ExpContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitExp(this);
else return visitor.visitChildren(this);
}
}
public static class CeilingContext extends ExprContext {
public TerminalNode Ceiling() { return getToken(ActionParser.Ceiling, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public CeilingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitCeiling(this);
else return visitor.visitChildren(this);
}
}
public static class SineContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Sine() { return getToken(ActionParser.Sine, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public SineContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSine(this);
else return visitor.visitChildren(this);
}
}
public static class MaximumContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Max() { return getToken(ActionParser.Max, 0); }
public MaximumContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMaximum(this);
else return visitor.visitChildren(this);
}
}
public static class IsEqualContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode EqualTo() { return getToken(ActionParser.EqualTo, 0); }
public IsEqualContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsEqual(this);
else return visitor.visitChildren(this);
}
}
public static class TangentContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Tangent() { return getToken(ActionParser.Tangent, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TangentContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTangent(this);
else return visitor.visitChildren(this);
}
}
public static class AsTimeContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode AsTime() { return getToken(ActionParser.AsTime, 0); }
public AsTimeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAsTime(this);
else return visitor.visitChildren(this);
}
}
public static class IsGreaterThanContext extends ExprContext {
public TerminalNode GreaterThan() { return getToken(ActionParser.GreaterThan, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsGreaterThanContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsGreaterThan(this);
else return visitor.visitChildren(this);
}
}
public static class OccurAfterContext extends ExprContext {
public TerminalNode After() { return getToken(ActionParser.After, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public OccurAfterContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurAfter(this);
else return visitor.visitChildren(this);
}
}
public static class SumContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Sum() { return getToken(ActionParser.Sum, 0); }
public SumContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSum(this);
else return visitor.visitChildren(this);
}
}
public static class AddContext extends ExprContext {
public TerminalNode Plus() { return getToken(ActionParser.Plus, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public AddContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAdd(this);
else return visitor.visitChildren(this);
}
}
public static class SeqtoContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode SeqTo() { return getToken(ActionParser.SeqTo, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public SeqtoContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSeqto(this);
else return visitor.visitChildren(this);
}
}
public static class TimeOfDayFuncContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode TimeOfDayFunc() { return getToken(ActionParser.TimeOfDayFunc, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TimeOfDayFuncContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTimeOfDayFunc(this);
else return visitor.visitChildren(this);
}
}
public static class OccurWithinSurroundingContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Occur() { return getToken(ActionParser.Occur, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public TerminalNode Surrounding() { return getToken(ActionParser.Surrounding, 0); }
public OccurWithinSurroundingContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitOccurWithinSurrounding(this);
else return visitor.visitChildren(this);
}
}
public static class IdContext extends ExprContext {
public TerminalNode The() { return getToken(ActionParser.The, 0); }
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public IdContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitId(this);
else return visitor.visitChildren(this);
}
}
public static class NewObjectContext extends ExprContext {
public ObjOrderedWithContext objOrderedWith() {
return getRuleContext(ObjOrderedWithContext.class,0);
}
public TerminalNode New() { return getToken(ActionParser.New, 0); }
public ObjNamedWithContext objNamedWith() {
return getRuleContext(ObjNamedWithContext.class,0);
}
public TerminalNode ID() { return getToken(ActionParser.ID, 0); }
public NewObjectContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNewObject(this);
else return visitor.visitChildren(this);
}
}
public static class AttributeFromContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Attribute() { return getToken(ActionParser.Attribute, 0); }
public AttributeFromContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAttributeFrom(this);
else return visitor.visitChildren(this);
}
}
public static class LowercaseContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Lowercase() { return getToken(ActionParser.Lowercase, 0); }
public LowercaseContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLowercase(this);
else return visitor.visitChildren(this);
}
}
public static class TimeValContext extends ExprContext {
public TerminalNode TimeVal() { return getToken(ActionParser.TimeVal, 0); }
public TimeValContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTimeVal(this);
else return visitor.visitChildren(this);
}
}
public static class TrimContext extends ExprContext {
public TerminalNode Left() { return getToken(ActionParser.Left, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Right() { return getToken(ActionParser.Right, 0); }
public TerminalNode Trim() { return getToken(ActionParser.Trim, 0); }
public TrimContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTrim(this);
else return visitor.visitChildren(this);
}
}
public static class ExistContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Exist() { return getToken(ActionParser.Exist, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public ExistContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitExist(this);
else return visitor.visitChildren(this);
}
}
public static class DayOfWeekContext extends ExprContext {
public TerminalNode DayOfWeek() { return getToken(ActionParser.DayOfWeek, 0); }
public DayOfWeekContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDayOfWeek(this);
else return visitor.visitChildren(this);
}
}
public static class AllContext extends ExprContext {
public TerminalNode AreTrue() { return getToken(ActionParser.AreTrue, 0); }
public TerminalNode All() { return getToken(ActionParser.All, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public AllContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAll(this);
else return visitor.visitChildren(this);
}
}
public static class CosineContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Cosine() { return getToken(ActionParser.Cosine, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public CosineContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitCosine(this);
else return visitor.visitChildren(this);
}
}
public static class RemoveFromListContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Remove() { return getToken(ActionParser.Remove, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public RemoveFromListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitRemoveFromList(this);
else return visitor.visitChildren(this);
}
}
public static class MultiplyContext extends ExprContext {
public TerminalNode Mul() { return getToken(ActionParser.Mul, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public MultiplyContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitMultiply(this);
else return visitor.visitChildren(this);
}
}
public static class VarianceContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Variance() { return getToken(ActionParser.Variance, 0); }
public VarianceContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitVariance(this);
else return visitor.visitChildren(this);
}
}
public static class NearestContext extends ExprContext {
public TerminalNode From() { return getToken(ActionParser.From, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Nearest() { return getToken(ActionParser.Nearest, 0); }
public TerminalNode Index() { return getToken(ActionParser.Index, 0); }
public NearestContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitNearest(this);
else return visitor.visitChildren(this);
}
}
public static class ConcatContext extends ExprContext {
public List Concat() { return getTokens(ActionParser.Concat); }
public TerminalNode Concat(int i) {
return getToken(ActionParser.Concat, i);
}
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public ConcatContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitConcat(this);
else return visitor.visitChildren(this);
}
}
public static class EmptyListContext extends ExprContext {
public TerminalNode EmptyList() { return getToken(ActionParser.EmptyList, 0); }
public EmptyListContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitEmptyList(this);
else return visitor.visitChildren(this);
}
}
public static class Log10Context extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Log10() { return getToken(ActionParser.Log10, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public Log10Context(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLog10(this);
else return visitor.visitChildren(this);
}
}
public static class CurrentTimeContext extends ExprContext {
public TerminalNode CurrentTime() { return getToken(ActionParser.CurrentTime, 0); }
public CurrentTimeContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitCurrentTime(this);
else return visitor.visitChildren(this);
}
}
public static class SubtractContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Minus() { return getToken(ActionParser.Minus, 0); }
public SubtractContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitSubtract(this);
else return visitor.visitChildren(this);
}
}
public static class DurationContext extends ExprContext {
public DurationExprContext durationExpr() {
return getRuleContext(DurationExprContext.class,0);
}
public DurationContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitDuration(this);
else return visitor.visitChildren(this);
}
}
public static class FindInStringContext extends ExprContext {
public TerminalNode String() { return getToken(ActionParser.String, 0); }
public TerminalNode Find() { return getToken(ActionParser.Find, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode StartingAt() { return getToken(ActionParser.StartingAt, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode In() { return getToken(ActionParser.In, 0); }
public FindInStringContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitFindInString(this);
else return visitor.visitChildren(this);
}
}
public static class IsNotEqualContext extends ExprContext {
public TerminalNode NotEqualTo() { return getToken(ActionParser.NotEqualTo, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public IsNotEqualContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsNotEqual(this);
else return visitor.visitChildren(this);
}
}
public static class IncreaseContext extends ExprContext {
public TerminalNode Percent() { return getToken(ActionParser.Percent, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Increase() { return getToken(ActionParser.Increase, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public IncreaseContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIncrease(this);
else return visitor.visitChildren(this);
}
}
public static class RaiseToPowerContext extends ExprContext {
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Pow() { return getToken(ActionParser.Pow, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public RaiseToPowerContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitRaiseToPower(this);
else return visitor.visitChildren(this);
}
}
public static class TimeFuncContext extends ExprContext {
public TerminalNode Time() { return getToken(ActionParser.Time, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TimeFuncContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitTimeFunc(this);
else return visitor.visitChildren(this);
}
}
public static class LatestContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Latest() { return getToken(ActionParser.Latest, 0); }
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public LatestContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitLatest(this);
else return visitor.visitChildren(this);
}
}
public static class FirstContext extends ExprContext {
public TerminalNode First() { return getToken(ActionParser.First, 0); }
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public FirstContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitFirst(this);
else return visitor.visitChildren(this);
}
}
public static class IsWithinPastContext extends ExprContext {
public TerminalNode Is() { return getToken(ActionParser.Is, 0); }
public TerminalNode The() { return getToken(ActionParser.The, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public TerminalNode Not() { return getToken(ActionParser.Not, 0); }
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public TerminalNode Past() { return getToken(ActionParser.Past, 0); }
public TerminalNode Within() { return getToken(ActionParser.Within, 0); }
public IsWithinPastContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitIsWithinPast(this);
else return visitor.visitChildren(this);
}
}
public static class AverageContext extends ExprContext {
public ExprContext expr() {
return getRuleContext(ExprContext.class,0);
}
public TerminalNode Of() { return getToken(ActionParser.Of, 0); }
public TerminalNode Avg() { return getToken(ActionParser.Avg, 0); }
public AverageContext(ExprContext ctx) { copyFrom(ctx); }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitAverage(this);
else return visitor.visitChildren(this);
}
}
public final ExprContext expr(int _p) throws RecognitionException {
ParserRuleContext _parentctx = _ctx;
int _parentState = getState();
ExprContext _localctx = new ExprContext(_ctx, _parentState, _p);
ExprContext _prevctx = _localctx;
int _startState = 42;
enterRecursionRule(_localctx, RULE_expr);
int _la;
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
setState(672);
switch ( getInterpreter().adaptivePredict(_input,82,_ctx) ) {
case 1:
{
_localctx = new CountContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(260); match(Count);
setState(262);
_la = _input.LA(1);
if (_la==Of) {
{
setState(261); match(Of);
}
}
setState(264); expr(126);
}
break;
case 2:
{
_localctx = new ExistContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(265); match(Exist);
setState(267);
_la = _input.LA(1);
if (_la==Of) {
{
setState(266); match(Of);
}
}
setState(269); expr(125);
}
break;
case 3:
{
_localctx = new AverageContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(270); match(Avg);
setState(272);
_la = _input.LA(1);
if (_la==Of) {
{
setState(271); match(Of);
}
}
setState(274); expr(124);
}
break;
case 4:
{
_localctx = new MedianContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(275); match(Median);
setState(277);
_la = _input.LA(1);
if (_la==Of) {
{
setState(276); match(Of);
}
}
setState(279); expr(123);
}
break;
case 5:
{
_localctx = new SumContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(280); match(Sum);
setState(282);
_la = _input.LA(1);
if (_la==Of) {
{
setState(281); match(Of);
}
}
setState(284); expr(122);
}
break;
case 6:
{
_localctx = new StdDevContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(285); match(Stddev);
setState(287);
_la = _input.LA(1);
if (_la==Of) {
{
setState(286); match(Of);
}
}
setState(289); expr(121);
}
break;
case 7:
{
_localctx = new VarianceContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(290); match(Variance);
setState(292);
_la = _input.LA(1);
if (_la==Of) {
{
setState(291); match(Of);
}
}
setState(294); expr(120);
}
break;
case 8:
{
_localctx = new AnyContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(295); match(Any);
setState(297);
_la = _input.LA(1);
if (_la==IsTrue) {
{
setState(296); match(IsTrue);
}
}
setState(300);
_la = _input.LA(1);
if (_la==Of) {
{
setState(299); match(Of);
}
}
setState(302); expr(119);
}
break;
case 9:
{
_localctx = new AllContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(303); match(All);
setState(305);
_la = _input.LA(1);
if (_la==AreTrue) {
{
setState(304); match(AreTrue);
}
}
setState(308);
_la = _input.LA(1);
if (_la==Of) {
{
setState(307); match(Of);
}
}
setState(310); expr(118);
}
break;
case 10:
{
_localctx = new NoContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(311); match(No);
setState(313);
_la = _input.LA(1);
if (_la==IsTrue) {
{
setState(312); match(IsTrue);
}
}
setState(316);
_la = _input.LA(1);
if (_la==Of) {
{
setState(315); match(Of);
}
}
setState(318); expr(117);
}
break;
case 11:
{
_localctx = new MinimumContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(319); match(Min);
setState(321);
_la = _input.LA(1);
if (_la==Of) {
{
setState(320); match(Of);
}
}
setState(323); expr(108);
}
break;
case 12:
{
_localctx = new MaximumContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(324); match(Max);
setState(326);
_la = _input.LA(1);
if (_la==Of) {
{
setState(325); match(Of);
}
}
setState(328); expr(107);
}
break;
case 13:
{
_localctx = new FirstContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(329); match(First);
setState(331);
_la = _input.LA(1);
if (_la==Of) {
{
setState(330); match(Of);
}
}
setState(333); expr(106);
}
break;
case 14:
{
_localctx = new LastContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(334); match(Last);
setState(336);
_la = _input.LA(1);
if (_la==Of) {
{
setState(335); match(Of);
}
}
setState(338); expr(105);
}
break;
case 15:
{
_localctx = new EarliestContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(339); match(Earliest);
setState(341);
_la = _input.LA(1);
if (_la==Of) {
{
setState(340); match(Of);
}
}
setState(343); expr(104);
}
break;
case 16:
{
_localctx = new LatestContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(344); match(Latest);
setState(346);
_la = _input.LA(1);
if (_la==Of) {
{
setState(345); match(Of);
}
}
setState(348); expr(103);
}
break;
case 17:
{
_localctx = new IndexContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(349); match(Index);
setState(350); indexType();
setState(352);
_la = _input.LA(1);
if (_la==Of) {
{
setState(351); match(Of);
}
}
setState(354); expr(98);
}
break;
case 18:
{
_localctx = new IncreaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(357);
_la = _input.LA(1);
if (_la==Percent) {
{
setState(356); match(Percent);
}
}
setState(359); match(Increase);
setState(361);
_la = _input.LA(1);
if (_la==Of) {
{
setState(360); match(Of);
}
}
setState(363); expr(97);
}
break;
case 19:
{
_localctx = new DecreaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(365);
_la = _input.LA(1);
if (_la==Percent) {
{
setState(364); match(Percent);
}
}
setState(367); match(Decrease);
setState(369);
_la = _input.LA(1);
if (_la==Of) {
{
setState(368); match(Of);
}
}
setState(371); expr(96);
}
break;
case 20:
{
_localctx = new IntervalContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(372); match(Interval);
setState(374);
_la = _input.LA(1);
if (_la==Of) {
{
setState(373); match(Of);
}
}
setState(376); expr(95);
}
break;
case 21:
{
_localctx = new TimeFuncContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(377); match(Time);
setState(379);
_la = _input.LA(1);
if (_la==Of) {
{
setState(378); match(Of);
}
}
setState(381); expr(94);
}
break;
case 22:
{
_localctx = new TimeOfDayFuncContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(382); match(TimeOfDayFunc);
setState(384);
_la = _input.LA(1);
if (_la==Of) {
{
setState(383); match(Of);
}
}
setState(386); expr(93);
}
break;
case 23:
{
_localctx = new DayOfWeekFuncContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(387); match(DayOfWeekFunc);
setState(389);
_la = _input.LA(1);
if (_la==Of) {
{
setState(388); match(Of);
}
}
setState(391); expr(92);
}
break;
case 24:
{
_localctx = new ArccosContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(392); match(Arccos);
setState(394);
_la = _input.LA(1);
if (_la==Of) {
{
setState(393); match(Of);
}
}
setState(396); expr(91);
}
break;
case 25:
{
_localctx = new ArcsinContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(397); match(Arcsin);
setState(399);
_la = _input.LA(1);
if (_la==Of) {
{
setState(398); match(Of);
}
}
setState(401); expr(90);
}
break;
case 26:
{
_localctx = new ArctanContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(402); match(Arctan);
setState(404);
_la = _input.LA(1);
if (_la==Of) {
{
setState(403); match(Of);
}
}
setState(406); expr(89);
}
break;
case 27:
{
_localctx = new CosineContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(407); match(Cosine);
setState(409);
_la = _input.LA(1);
if (_la==Of) {
{
setState(408); match(Of);
}
}
setState(411); expr(88);
}
break;
case 28:
{
_localctx = new SineContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(412); match(Sine);
setState(414);
_la = _input.LA(1);
if (_la==Of) {
{
setState(413); match(Of);
}
}
setState(416); expr(87);
}
break;
case 29:
{
_localctx = new TangentContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(417); match(Tangent);
setState(419);
_la = _input.LA(1);
if (_la==Of) {
{
setState(418); match(Of);
}
}
setState(421); expr(86);
}
break;
case 30:
{
_localctx = new ExpContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(422); match(Exp);
setState(424);
_la = _input.LA(1);
if (_la==Of) {
{
setState(423); match(Of);
}
}
setState(426); expr(85);
}
break;
case 31:
{
_localctx = new LogContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(427); match(Log);
setState(429);
_la = _input.LA(1);
if (_la==Of) {
{
setState(428); match(Of);
}
}
setState(431); expr(84);
}
break;
case 32:
{
_localctx = new Log10Context(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(432); match(Log10);
setState(434);
_la = _input.LA(1);
if (_la==Of) {
{
setState(433); match(Of);
}
}
setState(436); expr(83);
}
break;
case 33:
{
_localctx = new FloorContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(437);
_la = _input.LA(1);
if ( !(_la==Int || _la==Floor) ) {
_errHandler.recoverInline(this);
}
consume();
setState(439);
_la = _input.LA(1);
if (_la==Of) {
{
setState(438); match(Of);
}
}
setState(441); expr(82);
}
break;
case 34:
{
_localctx = new CeilingContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(442); match(Ceiling);
setState(444);
_la = _input.LA(1);
if (_la==Of) {
{
setState(443); match(Of);
}
}
setState(446); expr(81);
}
break;
case 35:
{
_localctx = new TruncateContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(447); match(Truncate);
setState(449);
_la = _input.LA(1);
if (_la==Of) {
{
setState(448); match(Of);
}
}
setState(451); expr(80);
}
break;
case 36:
{
_localctx = new RoundContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(452); match(Round);
setState(454);
_la = _input.LA(1);
if (_la==Of) {
{
setState(453); match(Of);
}
}
setState(456); expr(79);
}
break;
case 37:
{
_localctx = new AbsContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(457); match(Abs);
setState(459);
_la = _input.LA(1);
if (_la==Of) {
{
setState(458); match(Of);
}
}
setState(461); expr(78);
}
break;
case 38:
{
_localctx = new SqrtContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(462); match(Sqrt);
setState(464);
_la = _input.LA(1);
if (_la==Of) {
{
setState(463); match(Of);
}
}
setState(466); expr(77);
}
break;
case 39:
{
_localctx = new ExtractContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(467); match(Extract);
setState(468); temporalUnit();
setState(470);
_la = _input.LA(1);
if (_la==Of) {
{
setState(469); match(Of);
}
}
setState(472); expr(76);
}
break;
case 40:
{
_localctx = new ReverseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(474); match(Reverse);
setState(476);
_la = _input.LA(1);
if (_la==Of) {
{
setState(475); match(Of);
}
}
setState(478); expr(74);
}
break;
case 41:
{
_localctx = new ExtractCharsContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(479); match(Extract);
setState(480); match(Characters);
setState(482);
_la = _input.LA(1);
if (_la==Of) {
{
setState(481); match(Of);
}
}
setState(484); expr(73);
}
break;
case 42:
{
_localctx = new BuildStringContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(485); match(String);
setState(487);
_la = _input.LA(1);
if (_la==Of) {
{
setState(486); match(Of);
}
}
setState(489); expr(72);
}
break;
case 43:
{
_localctx = new LengthContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(490); match(Length);
setState(492);
_la = _input.LA(1);
if (_la==Of) {
{
setState(491); match(Of);
}
}
setState(494); expr(71);
}
break;
case 44:
{
_localctx = new ExtractAttrNamesContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(495); match(Extract);
setState(496); match(Attribute);
setState(497); match(Names);
setState(498); expr(69);
}
break;
case 45:
{
_localctx = new CloneContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(499); match(Clone);
setState(501);
_la = _input.LA(1);
if (_la==Of) {
{
setState(500); match(Of);
}
}
setState(503); expr(68);
}
break;
case 46:
{
_localctx = new UnaryPlusContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(504); match(Plus);
setState(505); expr(55);
}
break;
case 47:
{
_localctx = new UnaryMinusContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(506); match(Minus);
setState(507); expr(54);
}
break;
case 48:
{
_localctx = new UppercaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(508); match(Uppercase);
setState(509); expr(53);
}
break;
case 49:
{
_localctx = new LowercaseContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(510); match(Lowercase);
setState(511); expr(52);
}
break;
case 50:
{
_localctx = new TrimContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(512); match(Trim);
setState(514);
_la = _input.LA(1);
if (_la==Left || _la==Right) {
{
setState(513);
_la = _input.LA(1);
if ( !(_la==Left || _la==Right) ) {
_errHandler.recoverInline(this);
}
consume();
}
}
setState(516); expr(51);
}
break;
case 51:
{
_localctx = new NotContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(517); match(Not);
setState(518); expr(22);
}
break;
case 52:
{
_localctx = new SortContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(519); match(Sort);
setState(521);
switch ( getInterpreter().adaptivePredict(_input,70,_ctx) ) {
case 1:
{
setState(520);
_la = _input.LA(1);
if ( !(_la==Time || _la==Data) ) {
_errHandler.recoverInline(this);
}
consume();
}
break;
}
setState(523); expr(16);
}
break;
case 53:
{
_localctx = new UnaryListContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(524); match(4);
setState(525); expr(13);
}
break;
case 54:
{
_localctx = new ParensContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(526); match(7);
push(true);
setState(528); expr(0);
pop();
setState(530); match(2);
}
break;
case 55:
{
_localctx = new MinimumFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(532); match(Min);
setState(533); expr(0);
setState(534); match(From);
setState(535); expr(0);
}
break;
case 56:
{
_localctx = new MaximumFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(537); match(Max);
setState(538); expr(0);
setState(539); match(From);
setState(540); expr(0);
}
break;
case 57:
{
_localctx = new EarliestFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(542); match(Earliest);
setState(543); expr(0);
setState(544); match(From);
setState(545); expr(0);
}
break;
case 58:
{
_localctx = new LatestFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(547); match(Latest);
setState(548); expr(0);
setState(549); match(From);
setState(550); expr(0);
}
break;
case 59:
{
_localctx = new FirstFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(552); match(First);
setState(553); expr(0);
setState(554); match(From);
setState(555); expr(0);
}
break;
case 60:
{
_localctx = new LastFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(557); match(Last);
setState(558); expr(0);
setState(559); match(From);
setState(560); expr(0);
}
break;
case 61:
{
_localctx = new NearestContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(563);
_la = _input.LA(1);
if (_la==Index) {
{
setState(562); match(Index);
}
}
setState(565); match(Nearest);
setState(566); expr(0);
setState(567); match(From);
setState(568); expr(0);
}
break;
case 62:
{
_localctx = new AtMostOrLeastContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(570); match(At);
setState(571);
_la = _input.LA(1);
if ( !(_la==Least || _la==Most) ) {
_errHandler.recoverInline(this);
}
consume();
setState(572); expr(0);
setState(574);
_la = _input.LA(1);
if (_la==IsTrue || _la==AreTrue) {
{
setState(573);
_la = _input.LA(1);
if ( !(_la==IsTrue || _la==AreTrue) ) {
_errHandler.recoverInline(this);
}
consume();
}
}
setState(576); match(From);
setState(577); expr(0);
}
break;
case 63:
{
_localctx = new SubListContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(579); match(Sublist);
setState(580); expr(0);
setState(581); match(Elements);
setState(584);
_la = _input.LA(1);
if (_la==StartingAt) {
{
setState(582); match(StartingAt);
setState(583); expr(0);
}
}
setState(586); match(From);
setState(587); expr(0);
}
break;
case 64:
{
_localctx = new IndexOfFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(589); match(Index);
setState(590); match(Of);
setState(591); expr(0);
setState(592); match(From);
setState(593); expr(0);
}
break;
case 65:
{
_localctx = new IndexFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(595); match(Index);
setState(596); indexType();
setState(597); expr(0);
setState(598); match(From);
setState(599); expr(0);
}
break;
case 66:
{
_localctx = new ReplaceContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(601); match(Replace);
setState(602); temporalUnit();
setState(604);
_la = _input.LA(1);
if (_la==Of) {
{
setState(603); match(Of);
}
}
setState(606); expr(0);
setState(607); match(With);
setState(608); expr(0);
}
break;
case 67:
{
_localctx = new AttributeFromContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(610); match(Attribute);
setState(611); expr(0);
setState(612); match(From);
setState(613); expr(0);
}
break;
case 68:
{
_localctx = new FindInStringContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(615); match(Find);
setState(616); expr(0);
setState(618);
_la = _input.LA(1);
if (_la==In) {
{
setState(617); match(In);
}
}
setState(620); match(String);
setState(621); expr(0);
setState(624);
switch ( getInterpreter().adaptivePredict(_input,76,_ctx) ) {
case 1:
{
setState(622); match(StartingAt);
setState(623); expr(0);
}
break;
}
}
break;
case 69:
{
_localctx = new DurationContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(626); durationExpr();
}
break;
case 70:
{
_localctx = new SubstringContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(627); match(Substring);
setState(628); expr(0);
setState(629); match(Characters);
setState(632);
_la = _input.LA(1);
if (_la==StartingAt) {
{
setState(630); match(StartingAt);
setState(631); expr(0);
}
}
setState(634); match(From);
setState(635); expr(0);
}
break;
case 71:
{
_localctx = new AddToListContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(637); match(Add);
setState(638); expr(0);
setState(639); match(To);
setState(640); expr(0);
setState(643);
switch ( getInterpreter().adaptivePredict(_input,78,_ctx) ) {
case 1:
{
setState(641); match(At);
setState(642); expr(0);
}
break;
}
}
break;
case 72:
{
_localctx = new RemoveFromListContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(645); match(Remove);
setState(646); expr(0);
setState(647); match(From);
setState(648); expr(0);
}
break;
case 73:
{
_localctx = new NewObjectContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(650); match(New);
setState(651); match(ID);
setState(653);
switch ( getInterpreter().adaptivePredict(_input,79,_ctx) ) {
case 1:
{
setState(652); objOrderedWith();
}
break;
}
setState(656);
switch ( getInterpreter().adaptivePredict(_input,80,_ctx) ) {
case 1:
{
setState(655); objNamedWith();
}
break;
}
}
break;
case 74:
{
_localctx = new NumberValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(658); match(NumberVal);
}
break;
case 75:
{
_localctx = new BooleanValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(659); match(BooleanVal);
}
break;
case 76:
{
_localctx = new NowContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(660); match(Now);
}
break;
case 77:
{
_localctx = new CurrentTimeContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(661); match(CurrentTime);
}
break;
case 78:
{
_localctx = new TimeValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(662); match(TimeVal);
}
break;
case 79:
{
_localctx = new TimeOfDayValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(663); match(TimeOfDayVal);
}
break;
case 80:
{
_localctx = new DayOfWeekContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(664); match(DayOfWeek);
}
break;
case 81:
{
_localctx = new NullValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(665); match(Null);
}
break;
case 82:
{
_localctx = new StringValContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(666); match(StringVal);
}
break;
case 83:
{
_localctx = new IdContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(668);
_la = _input.LA(1);
if (_la==The) {
{
setState(667); match(The);
}
}
setState(670); match(ID);
}
break;
case 84:
{
_localctx = new EmptyListContext(_localctx);
_ctx = _localctx;
_prevctx = _localctx;
setState(671); match(EmptyList);
}
break;
}
_ctx.stop = _input.LT(-1);
setState(943);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,109,_ctx);
while ( _alt!=2 && _alt!=-1 ) {
if ( _alt==1 ) {
if ( _parseListeners!=null ) triggerExitRuleEvent();
_prevctx = _localctx;
{
setState(941);
switch ( getInterpreter().adaptivePredict(_input,108,_ctx) ) {
case 1:
{
_localctx = new SeqtoContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(674);
if (!(129 >= _localctx._p)) throw new FailedPredicateException(this, "129 >= $_p");
setState(675); match(SeqTo);
setState(676); expr(130);
}
break;
case 2:
{
_localctx = new MatchesContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(677);
if (!(65 >= _localctx._p)) throw new FailedPredicateException(this, "65 >= $_p");
setState(678); match(MatchesPattern);
setState(679); expr(66);
}
break;
case 3:
{
_localctx = new AtTimeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(680);
if (!(63 >= _localctx._p)) throw new FailedPredicateException(this, "63 >= $_p");
setState(681); match(AtTime);
setState(682); expr(64);
}
break;
case 4:
{
_localctx = new BeforeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(683);
if (!(62 >= _localctx._p)) throw new FailedPredicateException(this, "62 >= $_p");
setState(684); match(Before);
setState(685); expr(63);
}
break;
case 5:
{
_localctx = new AfterContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(686);
if (!(61 >= _localctx._p)) throw new FailedPredicateException(this, "61 >= $_p");
setState(687); match(After);
setState(688); expr(62);
}
break;
case 6:
{
_localctx = new RaiseToPowerContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(689);
if (!(60 >= _localctx._p)) throw new FailedPredicateException(this, "60 >= $_p");
setState(690); match(Pow);
setState(691); expr(61);
}
break;
case 7:
{
_localctx = new MultiplyContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(692);
if (!(59 >= _localctx._p)) throw new FailedPredicateException(this, "59 >= $_p");
setState(693); match(Mul);
setState(694); expr(60);
}
break;
case 8:
{
_localctx = new DivideContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(695);
if (!(58 >= _localctx._p)) throw new FailedPredicateException(this, "58 >= $_p");
setState(696); match(Div);
setState(697); expr(59);
}
break;
case 9:
{
_localctx = new AddContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(698);
if (!(57 >= _localctx._p)) throw new FailedPredicateException(this, "57 >= $_p");
setState(699); match(Plus);
setState(700); expr(58);
}
break;
case 10:
{
_localctx = new SubtractContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(701);
if (!(56 >= _localctx._p)) throw new FailedPredicateException(this, "56 >= $_p");
setState(702); match(Minus);
setState(703); expr(57);
}
break;
case 11:
{
_localctx = new IsEqualContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(704);
if (!(48 >= _localctx._p)) throw new FailedPredicateException(this, "48 >= $_p");
setState(705); match(EqualTo);
setState(706); expr(49);
}
break;
case 12:
{
_localctx = new IsNotEqualContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(707);
if (!(47 >= _localctx._p)) throw new FailedPredicateException(this, "47 >= $_p");
setState(708); match(NotEqualTo);
setState(709); expr(48);
}
break;
case 13:
{
_localctx = new IsLessThanContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(710);
if (!(46 >= _localctx._p)) throw new FailedPredicateException(this, "46 >= $_p");
setState(711); match(LessThan);
setState(712); expr(47);
}
break;
case 14:
{
_localctx = new IsLessThanOrEqualContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(713);
if (!(45 >= _localctx._p)) throw new FailedPredicateException(this, "45 >= $_p");
setState(714); match(LessThanOrEqual);
setState(715); expr(46);
}
break;
case 15:
{
_localctx = new IsGreaterThanOrEqualContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(716);
if (!(44 >= _localctx._p)) throw new FailedPredicateException(this, "44 >= $_p");
setState(717); match(GreaterThanOrEqual);
setState(718); expr(45);
}
break;
case 16:
{
_localctx = new IsGreaterThanContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(719);
if (!(43 >= _localctx._p)) throw new FailedPredicateException(this, "43 >= $_p");
setState(720); match(GreaterThan);
setState(721); expr(44);
}
break;
case 17:
{
_localctx = new AndContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(722);
if (!(21 >= _localctx._p)) throw new FailedPredicateException(this, "21 >= $_p");
setState(723); match(And);
setState(724); expr(22);
}
break;
case 18:
{
_localctx = new OrContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(725);
if (!(20 >= _localctx._p)) throw new FailedPredicateException(this, "20 >= $_p");
setState(726); match(Or);
setState(727); expr(21);
}
break;
case 19:
{
_localctx = new WhereContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(728);
if (!(19 >= _localctx._p)) throw new FailedPredicateException(this, "19 >= $_p");
setState(729); match(Where);
setState(730); expr(20);
}
break;
case 20:
{
_localctx = new MergeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(731);
if (!(14 >= _localctx._p)) throw new FailedPredicateException(this, "14 >= $_p");
setState(732); match(Merge);
setState(733); expr(15);
}
break;
case 21:
{
_localctx = new AsNumberContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(734);
if (!(132 >= _localctx._p)) throw new FailedPredicateException(this, "132 >= $_p");
setState(735); match(AsNumber);
}
break;
case 22:
{
_localctx = new AsTimeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(736);
if (!(131 >= _localctx._p)) throw new FailedPredicateException(this, "131 >= $_p");
setState(737); match(AsTime);
}
break;
case 23:
{
_localctx = new AsStringContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(738);
if (!(130 >= _localctx._p)) throw new FailedPredicateException(this, "130 >= $_p");
setState(739); match(AsString);
}
break;
case 24:
{
_localctx = new DotContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(740);
if (!(128 >= _localctx._p)) throw new FailedPredicateException(this, "128 >= $_p");
setState(741); match(3);
setState(742); match(ID);
}
break;
case 25:
{
_localctx = new ElementContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(743);
if (!(127 >= _localctx._p)) throw new FailedPredicateException(this, "127 >= $_p");
setState(744); match(6);
setState(745); expr(0);
setState(746); match(1);
}
break;
case 26:
{
_localctx = new WhereTimeIsPresentContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(748);
if (!(101 >= _localctx._p)) throw new FailedPredicateException(this, "101 >= $_p");
setState(749); match(WhereTimePresent);
}
break;
case 27:
{
_localctx = new AgoContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(750);
if (!(64 >= _localctx._p)) throw new FailedPredicateException(this, "64 >= $_p");
setState(751); match(Ago);
}
break;
case 28:
{
_localctx = new ConcatContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(752);
if (!(49 >= _localctx._p)) throw new FailedPredicateException(this, "49 >= $_p");
setState(755);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,83,_ctx);
do {
switch (_alt) {
case 1:
{
{
setState(753); match(Concat);
setState(754); expr(0);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(757);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,83,_ctx);
} while ( _alt!=2 && _alt!=-1 );
}
break;
case 29:
{
_localctx = new IsWithinToContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(759);
if (!(42 >= _localctx._p)) throw new FailedPredicateException(this, "42 >= $_p");
setState(760); match(Is);
setState(762);
_la = _input.LA(1);
if (_la==Not) {
{
setState(761); match(Not);
}
}
setState(764); match(Within);
setState(765); expr(0);
setState(766); match(To);
setState(767); expr(0);
}
break;
case 30:
{
_localctx = new IsWithinPrecedingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(769);
if (!(41 >= _localctx._p)) throw new FailedPredicateException(this, "41 >= $_p");
setState(770); match(Is);
setState(772);
_la = _input.LA(1);
if (_la==Not) {
{
setState(771); match(Not);
}
}
setState(774); match(Within);
setState(775); expr(0);
setState(776); match(Preceding);
setState(777); expr(0);
}
break;
case 31:
{
_localctx = new IsWithinFollowingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(779);
if (!(40 >= _localctx._p)) throw new FailedPredicateException(this, "40 >= $_p");
setState(780); match(Is);
setState(782);
_la = _input.LA(1);
if (_la==Not) {
{
setState(781); match(Not);
}
}
setState(784); match(Within);
setState(785); expr(0);
setState(786); match(Following);
setState(787); expr(0);
}
break;
case 32:
{
_localctx = new IsWithinSurroundingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(789);
if (!(39 >= _localctx._p)) throw new FailedPredicateException(this, "39 >= $_p");
setState(790); match(Is);
setState(792);
_la = _input.LA(1);
if (_la==Not) {
{
setState(791); match(Not);
}
}
setState(794); match(Within);
setState(795); expr(0);
setState(796); match(Surrounding);
setState(797); expr(0);
}
break;
case 33:
{
_localctx = new IsWithinPastContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(799);
if (!(38 >= _localctx._p)) throw new FailedPredicateException(this, "38 >= $_p");
setState(800); match(Is);
setState(802);
_la = _input.LA(1);
if (_la==Not) {
{
setState(801); match(Not);
}
}
setState(804); match(Within);
setState(806);
_la = _input.LA(1);
if (_la==The) {
{
setState(805); match(The);
}
}
setState(808); match(Past);
setState(809); expr(0);
}
break;
case 34:
{
_localctx = new IsWithinSameDayContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(810);
if (!(37 >= _localctx._p)) throw new FailedPredicateException(this, "37 >= $_p");
setState(811); match(Is);
setState(813);
_la = _input.LA(1);
if (_la==Not) {
{
setState(812); match(Not);
}
}
setState(815); match(Within);
setState(816); match(SameDayAs);
setState(817); expr(0);
}
break;
case 35:
{
_localctx = new IsBeforeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(818);
if (!(36 >= _localctx._p)) throw new FailedPredicateException(this, "36 >= $_p");
setState(819); match(Is);
setState(821);
_la = _input.LA(1);
if (_la==Not) {
{
setState(820); match(Not);
}
}
setState(823); match(Before);
setState(824); expr(0);
}
break;
case 36:
{
_localctx = new IsAfterContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(825);
if (!(35 >= _localctx._p)) throw new FailedPredicateException(this, "35 >= $_p");
setState(826); match(Is);
setState(828);
_la = _input.LA(1);
if (_la==Not) {
{
setState(827); match(Not);
}
}
setState(830); match(After);
setState(831); expr(0);
}
break;
case 37:
{
_localctx = new OccurEqualContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(832);
if (!(34 >= _localctx._p)) throw new FailedPredicateException(this, "34 >= $_p");
setState(833); match(Occur);
setState(835);
_la = _input.LA(1);
if (_la==Not) {
{
setState(834); match(Not);
}
}
setState(837);
_la = _input.LA(1);
if ( !(_la==At || _la==Equal) ) {
_errHandler.recoverInline(this);
}
consume();
setState(838); expr(0);
}
break;
case 38:
{
_localctx = new OccurWithinToContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(839);
if (!(33 >= _localctx._p)) throw new FailedPredicateException(this, "33 >= $_p");
setState(840); match(Occur);
setState(842);
_la = _input.LA(1);
if (_la==Not) {
{
setState(841); match(Not);
}
}
setState(844); match(Within);
setState(845); expr(0);
setState(846); match(To);
setState(847); expr(0);
}
break;
case 39:
{
_localctx = new OccurWithinPrecedingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(849);
if (!(32 >= _localctx._p)) throw new FailedPredicateException(this, "32 >= $_p");
setState(850); match(Occur);
setState(852);
_la = _input.LA(1);
if (_la==Not) {
{
setState(851); match(Not);
}
}
setState(854); match(Within);
setState(855); expr(0);
setState(856); match(Preceding);
setState(857); expr(0);
}
break;
case 40:
{
_localctx = new OccurWithinFollowingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(859);
if (!(31 >= _localctx._p)) throw new FailedPredicateException(this, "31 >= $_p");
setState(860); match(Occur);
setState(862);
_la = _input.LA(1);
if (_la==Not) {
{
setState(861); match(Not);
}
}
setState(864); match(Within);
setState(865); expr(0);
setState(866); match(Following);
setState(867); expr(0);
}
break;
case 41:
{
_localctx = new OccurWithinSurroundingContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(869);
if (!(30 >= _localctx._p)) throw new FailedPredicateException(this, "30 >= $_p");
setState(870); match(Occur);
setState(872);
_la = _input.LA(1);
if (_la==Not) {
{
setState(871); match(Not);
}
}
setState(874); match(Within);
setState(875); expr(0);
setState(876); match(Surrounding);
setState(877); expr(0);
}
break;
case 42:
{
_localctx = new OccurWithinPastContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(879);
if (!(29 >= _localctx._p)) throw new FailedPredicateException(this, "29 >= $_p");
setState(880); match(Occur);
setState(882);
_la = _input.LA(1);
if (_la==Not) {
{
setState(881); match(Not);
}
}
setState(884); match(Within);
setState(886);
_la = _input.LA(1);
if (_la==The) {
{
setState(885); match(The);
}
}
setState(888); match(Past);
setState(889); expr(0);
}
break;
case 43:
{
_localctx = new OccurWithinSameDayContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(890);
if (!(28 >= _localctx._p)) throw new FailedPredicateException(this, "28 >= $_p");
setState(891); match(Occur);
setState(893);
_la = _input.LA(1);
if (_la==Not) {
{
setState(892); match(Not);
}
}
setState(895); match(Within);
setState(896); match(SameDayAs);
setState(897); expr(0);
}
break;
case 44:
{
_localctx = new OccurBeforeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(898);
if (!(27 >= _localctx._p)) throw new FailedPredicateException(this, "27 >= $_p");
setState(899); match(Occur);
setState(901);
_la = _input.LA(1);
if (_la==Not) {
{
setState(900); match(Not);
}
}
setState(903); match(Before);
setState(904); expr(0);
}
break;
case 45:
{
_localctx = new OccurAfterContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(905);
if (!(26 >= _localctx._p)) throw new FailedPredicateException(this, "26 >= $_p");
setState(906); match(Occur);
setState(908);
_la = _input.LA(1);
if (_la==Not) {
{
setState(907); match(Not);
}
}
setState(910); match(After);
setState(911); expr(0);
}
break;
case 46:
{
_localctx = new IsInContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(912);
if (!(25 >= _localctx._p)) throw new FailedPredicateException(this, "25 >= $_p");
setState(914);
_la = _input.LA(1);
if (_la==Is) {
{
setState(913); match(Is);
}
}
setState(917);
_la = _input.LA(1);
if (_la==Not) {
{
setState(916); match(Not);
}
}
setState(919); match(In);
setState(920); expr(0);
}
break;
case 47:
{
_localctx = new IsDataTypeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(921);
if (!(24 >= _localctx._p)) throw new FailedPredicateException(this, "24 >= $_p");
setState(922); match(Is);
setState(924);
_la = _input.LA(1);
if (_la==Not) {
{
setState(923); match(Not);
}
}
setState(926); dataType();
}
break;
case 48:
{
_localctx = new IsObjectTypeContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(927);
if (!(23 >= _localctx._p)) throw new FailedPredicateException(this, "23 >= $_p");
setState(928); match(Is);
setState(930);
switch ( getInterpreter().adaptivePredict(_input,106,_ctx) ) {
case 1:
{
setState(929); match(Not);
}
break;
}
setState(932); expr(0);
}
break;
case 49:
{
_localctx = new BinaryListContext(new ExprContext(_parentctx, _parentState, _p));
pushNewRecursionContext(_localctx, _startState, RULE_expr);
setState(933);
if (!(15 >= _localctx._p)) throw new FailedPredicateException(this, "15 >= $_p");
setState(934);
if (!(list())) throw new FailedPredicateException(this, "list()");
setState(937);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,107,_ctx);
do {
switch (_alt) {
case 1:
{
{
setState(935); match(4);
setState(936); expr(0);
}
}
break;
default:
throw new NoViableAltException(this);
}
setState(939);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,107,_ctx);
} while ( _alt!=2 && _alt!=-1 );
}
break;
}
}
}
setState(945);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,109,_ctx);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
unrollRecursionContexts(_parentctx);
}
return _localctx;
}
public static class ObjOrderedWithContext extends ParserRuleContext {
public TerminalNode With() { return getToken(ActionParser.With, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public ObjOrderedWithContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objOrderedWith; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitObjOrderedWith(this);
else return visitor.visitChildren(this);
}
}
public final ObjOrderedWithContext objOrderedWith() throws RecognitionException {
ObjOrderedWithContext _localctx = new ObjOrderedWithContext(_ctx, getState());
enterRule(_localctx, 44, RULE_objOrderedWith);
try {
int _alt;
enterOuterAlt(_localctx, 1);
{
push(false);
setState(947); match(With);
setState(948); expr(0);
setState(953);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,110,_ctx);
while ( _alt!=2 && _alt!=-1 ) {
if ( _alt==1 ) {
{
{
setState(949); match(4);
setState(950); expr(0);
}
}
}
setState(955);
_errHandler.sync(this);
_alt = getInterpreter().adaptivePredict(_input,110,_ctx);
}
pop();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
_errHandler.reportError(this, re);
_errHandler.recover(this, re);
}
finally {
exitRule();
}
return _localctx;
}
public static class ObjNamedWithContext extends ParserRuleContext {
public TerminalNode With() { return getToken(ActionParser.With, 0); }
public List expr() {
return getRuleContexts(ExprContext.class);
}
public ExprContext expr(int i) {
return getRuleContext(ExprContext.class,i);
}
public List ID() { return getTokens(ActionParser.ID); }
public TerminalNode ID(int i) {
return getToken(ActionParser.ID, i);
}
public ObjNamedWithContext(ParserRuleContext parent, int invokingState) {
super(parent, invokingState);
}
@Override public int getRuleIndex() { return RULE_objNamedWith; }
@Override
public T accept(ParseTreeVisitor extends T> visitor) {
if ( visitor instanceof ActionVisitor ) return ((ActionVisitor extends T>)visitor).visitObjNamedWith(this);
else return visitor.visitChildren(this);
}
}
public final ObjNamedWithContext objNamedWith() throws RecognitionException {
ObjNamedWithContext _localctx = new ObjNamedWithContext(_ctx, getState());
enterRule(_localctx, 46, RULE_objNamedWith);
int _la;
try {
enterOuterAlt(_localctx, 1);
{
setState(958); match(With);
setState(959); match(6);
setState(960); match(ID);
setState(961); match(5);
setState(962); expr(0);
setState(969);
_errHandler.sync(this);
_la = _input.LA(1);
while (_la==4) {
{
{
setState(963); match(4);
setState(964); match(ID);
setState(965); match(5);
setState(966); expr(0);
}
}
setState(971);
_errHandler.sync(this);
_la = _input.LA(1);
}
setState(972); match(1);
}
}
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 21: return expr_sempred((ExprContext)_localctx, predIndex);
}
return true;
}
private boolean expr_sempred(ExprContext _localctx, int predIndex) {
switch (predIndex) {
case 0: return 129 >= _localctx._p;
case 1: return 65 >= _localctx._p;
case 2: return 63 >= _localctx._p;
case 3: return 62 >= _localctx._p;
case 4: return 61 >= _localctx._p;
case 5: return 60 >= _localctx._p;
case 6: return 59 >= _localctx._p;
case 7: return 58 >= _localctx._p;
case 8: return 57 >= _localctx._p;
case 9: return 56 >= _localctx._p;
case 10: return 48 >= _localctx._p;
case 11: return 47 >= _localctx._p;
case 12: return 46 >= _localctx._p;
case 13: return 45 >= _localctx._p;
case 14: return 44 >= _localctx._p;
case 15: return 43 >= _localctx._p;
case 17: return 20 >= _localctx._p;
case 16: return 21 >= _localctx._p;
case 19: return 14 >= _localctx._p;
case 18: return 19 >= _localctx._p;
case 21: return 131 >= _localctx._p;
case 20: return 132 >= _localctx._p;
case 23: return 128 >= _localctx._p;
case 22: return 130 >= _localctx._p;
case 25: return 101 >= _localctx._p;
case 24: return 127 >= _localctx._p;
case 27: return 49 >= _localctx._p;
case 26: return 64 >= _localctx._p;
case 29: return 41 >= _localctx._p;
case 28: return 42 >= _localctx._p;
case 31: return 39 >= _localctx._p;
case 30: return 40 >= _localctx._p;
case 34: return 36 >= _localctx._p;
case 35: return 35 >= _localctx._p;
case 32: return 38 >= _localctx._p;
case 33: return 37 >= _localctx._p;
case 38: return 32 >= _localctx._p;
case 39: return 31 >= _localctx._p;
case 36: return 34 >= _localctx._p;
case 37: return 33 >= _localctx._p;
case 42: return 28 >= _localctx._p;
case 43: return 27 >= _localctx._p;
case 40: return 30 >= _localctx._p;
case 41: return 29 >= _localctx._p;
case 46: return 24 >= _localctx._p;
case 47: return 23 >= _localctx._p;
case 44: return 26 >= _localctx._p;
case 45: return 25 >= _localctx._p;
case 49: return list();
case 48: return 15 >= _localctx._p;
}
return true;
}
public static final String _serializedATN =
"\3\uacf5\uee8c\u4f5d\u8b0d\u4a45\u78bd\u1b2f\u3378\3\u00b6\u03d1\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\4\24\t\24\4\25\t\25\4\26\t\26\4\27\t\27\4\30\t\30\4\31\t\31"+
"\3\2\7\2\64\n\2\f\2\16\2\67\13\2\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\7"+
"\3B\n\3\f\3\16\3E\13\3\3\3\3\3\5\3I\n\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3"+
"\4\6\4S\n\4\r\4\16\4T\3\4\3\4\5\4Y\n\4\3\4\3\4\3\5\3\5\3\5\3\5\3\5\3\5"+
"\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3\b\3\b\3\t\7\tp\n\t\f\t\16\t"+
"s\13\t\3\t\3\t\3\n\3\n\3\n\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13"+
"\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13\3\13"+
"\3\13\3\13\3\13\3\13\3\13\3\13\3\13\5\13\u0098\n\13\3\f\3\f\3\f\3\f\3"+
"\f\3\f\3\f\3\f\3\f\3\f\3\f\7\f\u00a5\n\f\f\f\16\f\u00a8\13\f\3\f\3\f\3"+
"\f\3\f\3\f\3\f\3\f\3\f\7\f\u00b2\n\f\f\f\16\f\u00b5\13\f\3\f\3\f\3\f\3"+
"\f\3\f\6\f\u00bc\n\f\r\f\16\f\u00bd\3\f\3\f\3\f\5\f\u00c3\n\f\3\r\3\r"+
"\3\r\3\r\3\r\3\r\5\r\u00cb\n\r\3\16\3\16\5\16\u00cf\n\16\3\17\3\17\3\17"+
"\3\17\3\17\3\17\7\17\u00d7\n\17\f\17\16\17\u00da\13\17\5\17\u00dc\n\17"+
"\3\17\3\17\5\17\u00e0\n\17\3\20\3\20\3\20\3\20\5\20\u00e6\n\20\3\21\3"+
"\21\3\21\3\21\7\21\u00ec\n\21\f\21\16\21\u00ef\13\21\3\22\3\22\3\23\3"+
"\23\3\24\3\24\3\24\3\24\3\24\3\24\3\24\5\24\u00fc\n\24\3\25\3\25\6\25"+
"\u0100\n\25\r\25\16\25\u0101\3\26\3\26\3\27\3\27\3\27\5\27\u0109\n\27"+
"\3\27\3\27\3\27\5\27\u010e\n\27\3\27\3\27\3\27\5\27\u0113\n\27\3\27\3"+
"\27\3\27\5\27\u0118\n\27\3\27\3\27\3\27\5\27\u011d\n\27\3\27\3\27\3\27"+
"\5\27\u0122\n\27\3\27\3\27\3\27\5\27\u0127\n\27\3\27\3\27\3\27\5\27\u012c"+
"\n\27\3\27\5\27\u012f\n\27\3\27\3\27\3\27\5\27\u0134\n\27\3\27\5\27\u0137"+
"\n\27\3\27\3\27\3\27\5\27\u013c\n\27\3\27\5\27\u013f\n\27\3\27\3\27\3"+
"\27\5\27\u0144\n\27\3\27\3\27\3\27\5\27\u0149\n\27\3\27\3\27\3\27\5\27"+
"\u014e\n\27\3\27\3\27\3\27\5\27\u0153\n\27\3\27\3\27\3\27\5\27\u0158\n"+
"\27\3\27\3\27\3\27\5\27\u015d\n\27\3\27\3\27\3\27\3\27\5\27\u0163\n\27"+
"\3\27\3\27\3\27\5\27\u0168\n\27\3\27\3\27\5\27\u016c\n\27\3\27\3\27\5"+
"\27\u0170\n\27\3\27\3\27\5\27\u0174\n\27\3\27\3\27\3\27\5\27\u0179\n\27"+
"\3\27\3\27\3\27\5\27\u017e\n\27\3\27\3\27\3\27\5\27\u0183\n\27\3\27\3"+
"\27\3\27\5\27\u0188\n\27\3\27\3\27\3\27\5\27\u018d\n\27\3\27\3\27\3\27"+
"\5\27\u0192\n\27\3\27\3\27\3\27\5\27\u0197\n\27\3\27\3\27\3\27\5\27\u019c"+
"\n\27\3\27\3\27\3\27\5\27\u01a1\n\27\3\27\3\27\3\27\5\27\u01a6\n\27\3"+
"\27\3\27\3\27\5\27\u01ab\n\27\3\27\3\27\3\27\5\27\u01b0\n\27\3\27\3\27"+
"\3\27\5\27\u01b5\n\27\3\27\3\27\3\27\5\27\u01ba\n\27\3\27\3\27\3\27\5"+
"\27\u01bf\n\27\3\27\3\27\3\27\5\27\u01c4\n\27\3\27\3\27\3\27\5\27\u01c9"+
"\n\27\3\27\3\27\3\27\5\27\u01ce\n\27\3\27\3\27\3\27\5\27\u01d3\n\27\3"+
"\27\3\27\3\27\3\27\5\27\u01d9\n\27\3\27\3\27\3\27\3\27\5\27\u01df\n\27"+
"\3\27\3\27\3\27\3\27\5\27\u01e5\n\27\3\27\3\27\3\27\5\27\u01ea\n\27\3"+
"\27\3\27\3\27\5\27\u01ef\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27"+
"\u01f8\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27"+
"\u0205\n\27\3\27\3\27\3\27\3\27\3\27\5\27\u020c\n\27\3\27\3\27\3\27\3"+
"\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3"+
"\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3"+
"\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0236\n\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0241\n\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\5\27\u024b\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u025f\n\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u026d"+
"\n\27\3\27\3\27\3\27\3\27\5\27\u0273\n\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\5\27\u027b\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0286"+
"\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0290\n\27\3\27\5\27"+
"\u0293\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u029f"+
"\n\27\3\27\3\27\5\27\u02a3\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\6\27\u02f6\n\27\r\27\16\27\u02f7\3\27\3\27\3\27\5\27\u02fd"+
"\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0307\n\27\3\27\3\27"+
"\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0311\n\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\5\27\u031b\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\5\27\u0325\n\27\3\27\3\27\5\27\u0329\n\27\3\27\3\27\3\27\3\27\3\27\5"+
"\27\u0330\n\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0338\n\27\3\27\3\27"+
"\3\27\3\27\3\27\5\27\u033f\n\27\3\27\3\27\3\27\3\27\3\27\5\27\u0346\n"+
"\27\3\27\3\27\3\27\3\27\3\27\5\27\u034d\n\27\3\27\3\27\3\27\3\27\3\27"+
"\3\27\3\27\3\27\5\27\u0357\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27"+
"\5\27\u0361\n\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u036b\n"+
"\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\3\27\5\27\u0375\n\27\3\27\3\27"+
"\5\27\u0379\n\27\3\27\3\27\3\27\3\27\3\27\5\27\u0380\n\27\3\27\3\27\3"+
"\27\3\27\3\27\3\27\5\27\u0388\n\27\3\27\3\27\3\27\3\27\3\27\5\27\u038f"+
"\n\27\3\27\3\27\3\27\3\27\5\27\u0395\n\27\3\27\5\27\u0398\n\27\3\27\3"+
"\27\3\27\3\27\3\27\5\27\u039f\n\27\3\27\3\27\3\27\3\27\5\27\u03a5\n\27"+
"\3\27\3\27\3\27\3\27\3\27\6\27\u03ac\n\27\r\27\16\27\u03ad\7\27\u03b0"+
"\n\27\f\27\16\27\u03b3\13\27\3\30\3\30\3\30\3\30\3\30\7\30\u03ba\n\30"+
"\f\30\16\30\u03bd\13\30\3\30\3\30\3\31\3\31\3\31\3\31\3\31\3\31\3\31\3"+
"\31\3\31\7\31\u03ca\n\31\f\31\16\31\u03cd\13\31\3\31\3\31\3\31\2\32\2"+
"\4\6\b\n\f\16\20\22\24\26\30\32\34\36 \"$&(*,.\60\2\22\3\2=@\t\2WWYYj"+
"j\u0084\u0086\u0089\u008a\u008e\u008e\u00b0\u00b0\4\2qqxx\4\2rryy\4\2"+
"sszz\4\2tt{{\4\2uu||\4\2vv}}\4\2ww~~\4\2qrtw\3\2\60\61\3\2_`\4\2WWpp\3"+
"\2BC\3\2ST\4\2\u00ab\u00ab\u00af\u00af\u04b9\2\65\3\2\2\2\48\3\2\2\2\6"+
"L\3\2\2\2\b\\\3\2\2\2\nb\3\2\2\2\fj\3\2\2\2\16l\3\2\2\2\20q\3\2\2\2\22"+
"v\3\2\2\2\24\u0097\3\2\2\2\26\u00c2\3\2\2\2\30\u00ca\3\2\2\2\32\u00ce"+
"\3\2\2\2\34\u00d0\3\2\2\2\36\u00e1\3\2\2\2 \u00e7\3\2\2\2\"\u00f0\3\2"+
"\2\2$\u00f2\3\2\2\2&\u00fb\3\2\2\2(\u00ff\3\2\2\2*\u0103\3\2\2\2,\u02a2"+
"\3\2\2\2.\u03b4\3\2\2\2\60\u03c0\3\2\2\2\62\64\5\24\13\2\63\62\3\2\2\2"+
"\64\67\3\2\2\2\65\63\3\2\2\2\65\66\3\2\2\2\66\3\3\2\2\2\67\65\3\2\2\2"+
"89\7\16\2\29:\5,\27\2:;\7\17\2\2;C\5\2\2\2<=\7\20\2\2=>\5,\27\2>?\7\17"+
"\2\2?@\5\2\2\2@B\3\2\2\2A<\3\2\2\2BE\3\2\2\2CA\3\2\2\2CD\3\2\2\2DH\3\2"+
"\2\2EC\3\2\2\2FG\7\21\2\2GI\5\2\2\2HF\3\2\2\2HI\3\2\2\2IJ\3\2\2\2JK\7"+
"\22\2\2K\5\3\2\2\2LM\7\26\2\2MR\7\u00b2\2\2NO\7\27\2\2OP\5,\27\2PQ\5\2"+
"\2\2QS\3\2\2\2RN\3\2\2\2ST\3\2\2\2TR\3\2\2\2TU\3\2\2\2UX\3\2\2\2VW\7\30"+
"\2\2WY\5\2\2\2XV\3\2\2\2XY\3\2\2\2YZ\3\2\2\2Z[\7\31\2\2[\7\3\2\2\2\\]"+
"\7\23\2\2]^\5,\27\2^_\7\24\2\2_`\5\2\2\2`a\7\25\2\2a\t\3\2\2\2bc\7\u0099"+
"\2\2cd\7\u00b2\2\2de\7\u00aa\2\2ef\5,\27\2fg\7\24\2\2gh\5\2\2\2hi\7\25"+
"\2\2i\13\3\2\2\2jk\7\32\2\2k\r\3\2\2\2lm\7\33\2\2m\17\3\2\2\2np\5\24\13"+
"\2on\3\2\2\2ps\3\2\2\2qo\3\2\2\2qr\3\2\2\2rt\3\2\2\2sq\3\2\2\2tu\7\2\2"+
"\3u\21\3\2\2\2vw\7\u0098\2\2wx\5,\27\2x\23\3\2\2\2yz\5\26\f\2z{\7\n\2"+
"\2{\u0098\3\2\2\2|}\5\4\3\2}~\7\n\2\2~\u0098\3\2\2\2\177\u0080\5\6\4\2"+
"\u0080\u0081\7\n\2\2\u0081\u0098\3\2\2\2\u0082\u0083\5\b\5\2\u0083\u0084"+
"\7\n\2\2\u0084\u0098\3\2\2\2\u0085\u0086\5\n\6\2\u0086\u0087\7\n\2\2\u0087"+
"\u0098\3\2\2\2\u0088\u0089\5\f\7\2\u0089\u008a\7\n\2\2\u008a\u0098\3\2"+
"\2\2\u008b\u008c\5\16\b\2\u008c\u008d\7\n\2\2\u008d\u0098\3\2\2\2\u008e"+
"\u008f\5\34\17\2\u008f\u0090\7\n\2\2\u0090\u0098\3\2\2\2\u0091\u0092\5"+
"\36\20\2\u0092\u0093\7\n\2\2\u0093\u0098\3\2\2\2\u0094\u0095\5 \21\2\u0095"+
"\u0096\7\n\2\2\u0096\u0098\3\2\2\2\u0097y\3\2\2\2\u0097|\3\2\2\2\u0097"+
"\177\3\2\2\2\u0097\u0082\3\2\2\2\u0097\u0085\3\2\2\2\u0097\u0088\3\2\2"+
"\2\u0097\u008b\3\2\2\2\u0097\u008e\3\2\2\2\u0097\u0091\3\2\2\2\u0097\u0094"+
"\3\2\2\2\u0098\25\3\2\2\2\u0099\u009a\7\u00b2\2\2\u009a\u009b\7\7\2\2"+
"\u009b\u00c3\5\32\16\2\u009c\u009d\7\u009a\2\2\u009d\u009e\7\u00b2\2\2"+
"\u009e\u009f\7\u009b\2\2\u009f\u00c3\5\32\16\2\u00a0\u00a1\7\t\2\2\u00a1"+
"\u00a6\7\u00b2\2\2\u00a2\u00a3\7\6\2\2\u00a3\u00a5\7\u00b2\2\2\u00a4\u00a2"+
"\3\2\2\2\u00a5\u00a8\3\2\2\2\u00a6\u00a4\3\2\2\2\u00a6\u00a7\3\2\2\2\u00a7"+
"\u00a9\3\2\2\2\u00a8\u00a6\3\2\2\2\u00a9\u00aa\7\4\2\2\u00aa\u00ab\7\7"+
"\2\2\u00ab\u00c3\5\32\16\2\u00ac\u00ad\7\u009a\2\2\u00ad\u00ae\7\t\2\2"+
"\u00ae\u00b3\7\u00b2\2\2\u00af\u00b0\7\6\2\2\u00b0\u00b2\7\u00b2\2\2\u00b1"+
"\u00af\3\2\2\2\u00b2\u00b5\3\2\2\2\u00b3\u00b1\3\2\2\2\u00b3\u00b4\3\2"+
"\2\2\u00b4\u00b6\3\2\2\2\u00b5\u00b3\3\2\2\2\u00b6\u00b7\7\4\2\2\u00b7"+
"\u00b8\7\u009b\2\2\u00b8\u00c3\5\32\16\2\u00b9\u00bb\7\u00b2\2\2\u00ba"+
"\u00bc\5\30\r\2\u00bb\u00ba\3\2\2\2\u00bc\u00bd\3\2\2\2\u00bd\u00bb\3"+
"\2\2\2\u00bd\u00be\3\2\2\2\u00be\u00bf\3\2\2\2\u00bf\u00c0\7\7\2\2\u00c0"+
"\u00c1\5\32\16\2\u00c1\u00c3\3\2\2\2\u00c2\u0099\3\2\2\2\u00c2\u009c\3"+
"\2\2\2\u00c2\u00a0\3\2\2\2\u00c2\u00ac\3\2\2\2\u00c2\u00b9\3\2\2\2\u00c3"+
"\27\3\2\2\2\u00c4\u00c5\7\5\2\2\u00c5\u00cb\7\u00b2\2\2\u00c6\u00c7\7"+
"\b\2\2\u00c7\u00c8\5,\27\2\u00c8\u00c9\7\3\2\2\u00c9\u00cb\3\2\2\2\u00ca"+
"\u00c4\3\2\2\2\u00ca\u00c6\3\2\2\2\u00cb\31\3\2\2\2\u00cc\u00cf\5,\27"+
"\2\u00cd\u00cf\5\34\17\2\u00ce\u00cc\3\2\2\2\u00ce\u00cd\3\2\2\2\u00cf"+
"\33\3\2\2\2\u00d0\u00d1\7\u00ad\2\2\u00d1\u00db\7\u00b2\2\2\u00d2\u00d3"+
"\7\u00ae\2\2\u00d3\u00d8\5,\27\2\u00d4\u00d5\7\6\2\2\u00d5\u00d7\5,\27"+
"\2\u00d6\u00d4\3\2\2\2\u00d7\u00da\3\2\2\2\u00d8\u00d6\3\2\2\2\u00d8\u00d9"+
"\3\2\2\2\u00d9\u00dc\3\2\2\2\u00da\u00d8\3\2\2\2\u00db\u00d2\3\2\2\2\u00db"+
"\u00dc\3\2\2\2\u00dc\u00df\3\2\2\2\u00dd\u00de\7\f\2\2\u00de\u00e0\5("+
"\25\2\u00df\u00dd\3\2\2\2\u00df\u00e0\3\2\2\2\u00e0\35\3\2\2\2\u00e1\u00e2"+
"\7\13\2\2\u00e2\u00e5\5,\27\2\u00e3\u00e4\7\u00ab\2\2\u00e4\u00e6\7\u00b2"+
"\2\2\u00e5\u00e3\3\2\2\2\u00e5\u00e6\3\2\2\2\u00e6\37\3\2\2\2\u00e7\u00e8"+
"\7\r\2\2\u00e8\u00ed\5,\27\2\u00e9\u00ea\7\6\2\2\u00ea\u00ec\5,\27\2\u00eb"+
"\u00e9\3\2\2\2\u00ec\u00ef\3\2\2\2\u00ed\u00eb\3\2\2\2\u00ed\u00ee\3\2"+
"\2\2\u00ee!\3\2\2\2\u00ef\u00ed\3\2\2\2\u00f0\u00f1\t\2\2\2\u00f1#\3\2"+
"\2\2\u00f2\u00f3\t\3\2\2\u00f3%\3\2\2\2\u00f4\u00fc\t\4\2\2\u00f5\u00fc"+
"\t\5\2\2\u00f6\u00fc\t\6\2\2\u00f7\u00fc\t\7\2\2\u00f8\u00fc\t\b\2\2\u00f9"+
"\u00fc\t\t\2\2\u00fa\u00fc\t\n\2\2\u00fb\u00f4\3\2\2\2\u00fb\u00f5\3\2"+
"\2\2\u00fb\u00f6\3\2\2\2\u00fb\u00f7\3\2\2\2\u00fb\u00f8\3\2\2\2\u00fb"+
"\u00f9\3\2\2\2\u00fb\u00fa\3\2\2\2\u00fc\'\3\2\2\2\u00fd\u00fe\7\u008f"+
"\2\2\u00fe\u0100\5&\24\2\u00ff\u00fd\3\2\2\2\u0100\u0101\3\2\2\2\u0101"+
"\u00ff\3\2\2\2\u0101\u0102\3\2\2\2\u0102)\3\2\2\2\u0103\u0104\t\13\2\2"+
"\u0104+\3\2\2\2\u0105\u0106\b\27\1\2\u0106\u0108\7F\2\2\u0107\u0109\7"+
"R\2\2\u0108\u0107\3\2\2\2\u0108\u0109\3\2\2\2\u0109\u010a\3\2\2\2\u010a"+
"\u02a3\5,\27\2\u010b\u010d\7H\2\2\u010c\u010e\7R\2\2\u010d\u010c\3\2\2"+
"\2\u010d\u010e\3\2\2\2\u010e\u010f\3\2\2\2\u010f\u02a3\5,\27\2\u0110\u0112"+
"\7I\2\2\u0111\u0113\7R\2\2\u0112\u0111\3\2\2\2\u0112\u0113\3\2\2\2\u0113"+
"\u0114\3\2\2\2\u0114\u02a3\5,\27\2\u0115\u0117\7J\2\2\u0116\u0118\7R\2"+
"\2\u0117\u0116\3\2\2\2\u0117\u0118\3\2\2\2\u0118\u0119\3\2\2\2\u0119\u02a3"+
"\5,\27\2\u011a\u011c\7K\2\2\u011b\u011d\7R\2\2\u011c\u011b\3\2\2\2\u011c"+
"\u011d\3\2\2\2\u011d\u011e\3\2\2\2\u011e\u02a3\5,\27\2\u011f\u0121\7L"+
"\2\2\u0120\u0122\7R\2\2\u0121\u0120\3\2\2\2\u0121\u0122\3\2\2\2\u0122"+
"\u0123\3\2\2\2\u0123\u02a3\5,\27\2\u0124\u0126\7M\2\2\u0125\u0127\7R\2"+
"\2\u0126\u0125\3\2\2\2\u0126\u0127\3\2\2\2\u0127\u0128\3\2\2\2\u0128\u02a3"+
"\5,\27\2\u0129\u012b\7O\2\2\u012a\u012c\7S\2\2\u012b\u012a\3\2\2\2\u012b"+
"\u012c\3\2\2\2\u012c\u012e\3\2\2\2\u012d\u012f\7R\2\2\u012e\u012d\3\2"+
"\2\2\u012e\u012f\3\2\2\2\u012f\u0130\3\2\2\2\u0130\u02a3\5,\27\2\u0131"+
"\u0133\7P\2\2\u0132\u0134\7T\2\2\u0133\u0132\3\2\2\2\u0133\u0134\3\2\2"+
"\2\u0134\u0136\3\2\2\2\u0135\u0137\7R\2\2\u0136\u0135\3\2\2\2\u0136\u0137"+
"\3\2\2\2\u0137\u0138\3\2\2\2\u0138\u02a3\5,\27\2\u0139\u013b\7Q\2\2\u013a"+
"\u013c\7S\2\2\u013b\u013a\3\2\2\2\u013b\u013c\3\2\2\2\u013c\u013e\3\2"+
"\2\2\u013d\u013f\7R\2\2\u013e\u013d\3\2\2\2\u013e\u013f\3\2\2\2\u013f"+
"\u0140\3\2\2\2\u0140\u02a3\5,\27\2\u0141\u0143\7=\2\2\u0142\u0144\7R\2"+
"\2\u0143\u0142\3\2\2\2\u0143\u0144\3\2\2\2\u0144\u0145\3\2\2\2\u0145\u02a3"+
"\5,\27\2\u0146\u0148\7>\2\2\u0147\u0149\7R\2\2\u0148\u0147\3\2\2\2\u0148"+
"\u0149\3\2\2\2\u0149\u014a\3\2\2\2\u014a\u02a3\5,\27\2\u014b\u014d\7D"+
"\2\2\u014c\u014e\7R\2\2\u014d\u014c\3\2\2\2\u014d\u014e\3\2\2\2\u014e"+
"\u014f\3\2\2\2\u014f\u02a3\5,\27\2\u0150\u0152\7E\2\2\u0151\u0153\7R\2"+
"\2\u0152\u0151\3\2\2\2\u0152\u0153\3\2\2\2\u0153\u0154\3\2\2\2\u0154\u02a3"+
"\5,\27\2\u0155\u0157\7?\2\2\u0156\u0158\7R\2\2\u0157\u0156\3\2\2\2\u0157"+
"\u0158\3\2\2\2\u0158\u0159\3\2\2\2\u0159\u02a3\5,\27\2\u015a\u015c\7@"+
"\2\2\u015b\u015d\7R\2\2\u015c\u015b\3\2\2\2\u015c\u015d\3\2\2\2\u015d"+
"\u015e\3\2\2\2\u015e\u02a3\5,\27\2\u015f\u0160\7N\2\2\u0160\u0162\5\""+
"\22\2\u0161\u0163\7R\2\2\u0162\u0161\3\2\2\2\u0162\u0163\3\2\2\2\u0163"+
"\u0164\3\2\2\2\u0164\u0165\5,\27\2\u0165\u02a3\3\2\2\2\u0166\u0168\7g"+
"\2\2\u0167\u0166\3\2\2\2\u0167\u0168\3\2\2\2\u0168\u0169\3\2\2\2\u0169"+
"\u016b\7h\2\2\u016a\u016c\7R\2\2\u016b\u016a\3\2\2\2\u016b\u016c\3\2\2"+
"\2\u016c\u016d\3\2\2\2\u016d\u02a3\5,\27\2\u016e\u0170\7g\2\2\u016f\u016e"+
"\3\2\2\2\u016f\u0170\3\2\2\2\u0170\u0171\3\2\2\2\u0171\u0173\7i\2\2\u0172"+
"\u0174\7R\2\2\u0173\u0172\3\2\2\2\u0173\u0174\3\2\2\2\u0174\u0175\3\2"+
"\2\2\u0175\u02a3\5,\27\2\u0176\u0178\7G\2\2\u0177\u0179\7R\2\2\u0178\u0177"+
"\3\2\2\2\u0178\u0179\3\2\2\2\u0179\u017a\3\2\2\2\u017a\u02a3\5,\27\2\u017b"+
"\u017d\7W\2\2\u017c\u017e\7R\2\2\u017d\u017c\3\2\2\2\u017d\u017e\3\2\2"+
"\2\u017e\u017f\3\2\2\2\u017f\u02a3\5,\27\2\u0180\u0182\7\u0094\2\2\u0181"+
"\u0183\7R\2\2\u0182\u0181\3\2\2\2\u0182\u0183\3\2\2\2\u0183\u0184\3\2"+
"\2\2\u0184\u02a3\5,\27\2\u0185\u0187\7\u0096\2\2\u0186\u0188\7R\2\2\u0187"+
"\u0186\3\2\2\2\u0187\u0188\3\2\2\2\u0188\u0189\3\2\2\2\u0189\u02a3\5,"+
"\27\2\u018a\u018c\7\'\2\2\u018b\u018d\7R\2\2\u018c\u018b\3\2\2\2\u018c"+
"\u018d\3\2\2\2\u018d\u018e\3\2\2\2\u018e\u02a3\5,\27\2\u018f\u0191\7("+
"\2\2\u0190\u0192\7R\2\2\u0191\u0190\3\2\2\2\u0191\u0192\3\2\2\2\u0192"+
"\u0193\3\2\2\2\u0193\u02a3\5,\27\2\u0194\u0196\7)\2\2\u0195\u0197\7R\2"+
"\2\u0196\u0195\3\2\2\2\u0196\u0197\3\2\2\2\u0197\u0198\3\2\2\2\u0198\u02a3"+
"\5,\27\2\u0199\u019b\7*\2\2\u019a\u019c\7R\2\2\u019b\u019a\3\2\2\2\u019b"+
"\u019c\3\2\2\2\u019c\u019d\3\2\2\2\u019d\u02a3\5,\27\2\u019e\u01a0\7+"+
"\2\2\u019f\u01a1\7R\2\2\u01a0\u019f\3\2\2\2\u01a0\u01a1\3\2\2\2\u01a1"+
"\u01a2\3\2\2\2\u01a2\u02a3\5,\27\2\u01a3\u01a5\7,\2\2\u01a4\u01a6\7R\2"+
"\2\u01a5\u01a4\3\2\2\2\u01a5\u01a6\3\2\2\2\u01a6\u01a7\3\2\2\2\u01a7\u02a3"+
"\5,\27\2\u01a8\u01aa\7-\2\2\u01a9\u01ab\7R\2\2\u01aa\u01a9\3\2\2\2\u01aa"+
"\u01ab\3\2\2\2\u01ab\u01ac\3\2\2\2\u01ac\u02a3\5,\27\2\u01ad\u01af\7."+
"\2\2\u01ae\u01b0\7R\2\2\u01af\u01ae\3\2\2\2\u01af\u01b0\3\2\2\2\u01b0"+
"\u01b1\3\2\2\2\u01b1\u02a3\5,\27\2\u01b2\u01b4\7/\2\2\u01b3\u01b5\7R\2"+
"\2\u01b4\u01b3\3\2\2\2\u01b4\u01b5\3\2\2\2\u01b5\u01b6\3\2\2\2\u01b6\u02a3"+
"\5,\27\2\u01b7\u01b9\t\f\2\2\u01b8\u01ba\7R\2\2\u01b9\u01b8\3\2\2\2\u01b9"+
"\u01ba\3\2\2\2\u01ba\u01bb\3\2\2\2\u01bb\u02a3\5,\27\2\u01bc\u01be\7\62"+
"\2\2\u01bd\u01bf\7R\2\2\u01be\u01bd\3\2\2\2\u01be\u01bf\3\2\2\2\u01bf"+
"\u01c0\3\2\2\2\u01c0\u02a3\5,\27\2\u01c1\u01c3\7\63\2\2\u01c2\u01c4\7"+
"R\2\2\u01c3\u01c2\3\2\2\2\u01c3\u01c4\3\2\2\2\u01c4\u01c5\3\2\2\2\u01c5"+
"\u02a3\5,\27\2\u01c6\u01c8\7\64\2\2\u01c7\u01c9\7R\2\2\u01c8\u01c7\3\2"+
"\2\2\u01c8\u01c9\3\2\2\2\u01c9\u01ca\3\2\2\2\u01ca\u02a3\5,\27\2\u01cb"+
"\u01cd\7\65\2\2\u01cc\u01ce\7R\2\2\u01cd\u01cc\3\2\2\2\u01cd\u01ce\3\2"+
"\2\2\u01ce\u01cf\3\2\2\2\u01cf\u02a3\5,\27\2\u01d0\u01d2\7\66\2\2\u01d1"+
"\u01d3\7R\2\2\u01d2\u01d1\3\2\2\2\u01d2\u01d3\3\2\2\2\u01d3\u01d4\3\2"+
"\2\2\u01d4\u02a3\5,\27\2\u01d5\u01d6\7\u0083\2\2\u01d6\u01d8\5*\26\2\u01d7"+
"\u01d9\7R\2\2\u01d8\u01d7\3\2\2\2\u01d8\u01d9\3\2\2\2\u01d9\u01da\3\2"+
"\2\2\u01da\u01db\5,\27\2\u01db\u02a3\3\2\2\2\u01dc\u01de\7\u008b\2\2\u01dd"+
"\u01df\7R\2\2\u01de\u01dd\3\2\2\2\u01de\u01df\3\2\2\2\u01df\u01e0\3\2"+
"\2\2\u01e0\u02a3\5,\27\2\u01e1\u01e2\7\u0083\2\2\u01e2\u01e4\7d\2\2\u01e3"+
"\u01e5\7R\2\2\u01e4\u01e3\3\2\2\2\u01e4\u01e5\3\2\2\2\u01e5\u01e6\3\2"+
"\2\2\u01e6\u02a3\5,\27\2\u01e7\u01e9\7Y\2\2\u01e8\u01ea\7R\2\2\u01e9\u01e8"+
"\3\2\2\2\u01e9\u01ea\3\2\2\2\u01ea\u01eb\3\2\2\2\u01eb\u02a3\5,\27\2\u01ec"+
"\u01ee\7[\2\2\u01ed\u01ef\7R\2\2\u01ee\u01ed\3\2\2\2\u01ee\u01ef\3\2\2"+
"\2\u01ef\u01f0\3\2\2\2\u01f0\u02a3\5,\27\2\u01f1\u01f2\7\u0083\2\2\u01f2"+
"\u01f3\7\u0081\2\2\u01f3\u01f4\7\u0082\2\2\u01f4\u02a3\5,\27\2\u01f5\u01f7"+
"\7\u0080\2\2\u01f6\u01f8\7R\2\2\u01f7\u01f6\3\2\2\2\u01f7\u01f8\3\2\2"+
"\2\u01f8\u01f9\3\2\2\2\u01f9\u02a3\5,\27\2\u01fa\u01fb\7\"\2\2\u01fb\u02a3"+
"\5,\27\2\u01fc\u01fd\7#\2\2\u01fd\u02a3\5,\27\2\u01fe\u01ff\7\\\2\2\u01ff"+
"\u02a3\5,\27\2\u0200\u0201\7]\2\2\u0201\u02a3\5,\27\2\u0202\u0204\7^\2"+
"\2\u0203\u0205\t\r\2\2\u0204\u0203\3\2\2\2\u0204\u0205\3\2\2\2\u0205\u0206"+
"\3\2\2\2\u0206\u02a3\5,\27\2\u0207\u0208\7\u00a9\2\2\u0208\u02a3\5,\27"+
"\2\u0209\u020b\7o\2\2\u020a\u020c\t\16\2\2\u020b\u020a\3\2\2\2\u020b\u020c"+
"\3\2\2\2\u020c\u020d\3\2\2\2\u020d\u02a3\5,\27\2\u020e\u020f\7\6\2\2\u020f"+
"\u02a3\5,\27\2\u0210\u0211\7\t\2\2\u0211\u0212\b\27\1\2\u0212\u0213\5"+
",\27\2\u0213\u0214\b\27\1\2\u0214\u0215\7\4\2\2\u0215\u02a3\3\2\2\2\u0216"+
"\u0217\7=\2\2\u0217\u0218\5,\27\2\u0218\u0219\7\u00ac\2\2\u0219\u021a"+
"\5,\27\2\u021a\u02a3\3\2\2\2\u021b\u021c\7>\2\2\u021c\u021d\5,\27\2\u021d"+
"\u021e\7\u00ac\2\2\u021e\u021f\5,\27\2\u021f\u02a3\3\2\2\2\u0220\u0221"+
"\7?\2\2\u0221\u0222\5,\27\2\u0222\u0223\7\u00ac\2\2\u0223\u0224\5,\27"+
"\2\u0224\u02a3\3\2\2\2\u0225\u0226\7@\2\2\u0226\u0227\5,\27\2\u0227\u0228"+
"\7\u00ac\2\2\u0228\u0229\5,\27\2\u0229\u02a3\3\2\2\2\u022a\u022b\7D\2"+
"\2\u022b\u022c\5,\27\2\u022c\u022d\7\u00ac\2\2\u022d\u022e\5,\27\2\u022e"+
"\u02a3\3\2\2\2\u022f\u0230\7E\2\2\u0230\u0231\5,\27\2\u0231\u0232\7\u00ac"+
"\2\2\u0232\u0233\5,\27\2\u0233\u02a3\3\2\2\2\u0234\u0236\7N\2\2\u0235"+
"\u0234\3\2\2\2\u0235\u0236\3\2\2\2\u0236\u0237\3\2\2\2\u0237\u0238\7A"+
"\2\2\u0238\u0239\5,\27\2\u0239\u023a\7\u00ac\2\2\u023a\u023b\5,\27\2\u023b"+
"\u02a3\3\2\2\2\u023c\u023d\7\u00ab\2\2\u023d\u023e\t\17\2\2\u023e\u0240"+
"\5,\27\2\u023f\u0241\t\20\2\2\u0240\u023f\3\2\2\2\u0240\u0241\3\2\2\2"+
"\u0241\u0242\3\2\2\2\u0242\u0243\7\u00ac\2\2\u0243\u0244\5,\27\2\u0244"+
"\u02a3\3\2\2\2\u0245\u0246\7k\2\2\u0246\u0247\5,\27\2\u0247\u024a\7f\2"+
"\2\u0248\u0249\7b\2\2\u0249\u024b\5,\27\2\u024a\u0248\3\2\2\2\u024a\u024b"+
"\3\2\2\2\u024b\u024c\3\2\2\2\u024c\u024d\7\u00ac\2\2\u024d\u024e\5,\27"+
"\2\u024e\u02a3\3\2\2\2\u024f\u0250\7N\2\2\u0250\u0251\7R\2\2\u0251\u0252"+
"\5,\27\2\u0252\u0253\7\u00ac\2\2\u0253\u0254\5,\27\2\u0254\u02a3\3\2\2"+
"\2\u0255\u0256\7N\2\2\u0256\u0257\5\"\22\2\u0257\u0258\5,\27\2\u0258\u0259"+
"\7\u00ac\2\2\u0259\u025a\5,\27\2\u025a\u02a3\3\2\2\2\u025b\u025c\7\u0088"+
"\2\2\u025c\u025e\5*\26\2\u025d\u025f\7R\2\2\u025e\u025d\3\2\2\2\u025e"+
"\u025f\3\2\2\2\u025f\u0260\3\2\2\2\u0260\u0261\5,\27\2\u0261\u0262\7\u00ae"+
"\2\2\u0262\u0263\5,\27\2\u0263\u02a3\3\2\2\2\u0264\u0265\7\u0081\2\2\u0265"+
"\u0266\5,\27\2\u0266\u0267\7\u00ac\2\2\u0267\u0268\5,\27\2\u0268\u02a3"+
"\3\2\2\2\u0269\u026a\7a\2\2\u026a\u026c\5,\27\2\u026b\u026d\7\u00aa\2"+
"\2\u026c\u026b\3\2\2\2\u026c\u026d\3\2\2\2\u026d\u026e\3\2\2\2\u026e\u026f"+
"\7Y\2\2\u026f\u0272\5,\27\2\u0270\u0271\7b\2\2\u0271\u0273\5,\27\2\u0272"+
"\u0270\3\2\2\2\u0272\u0273\3\2\2\2\u0273\u02a3\3\2\2\2\u0274\u02a3\5("+
"\25\2\u0275\u0276\7c\2\2\u0276\u0277\5,\27\2\u0277\u027a\7d\2\2\u0278"+
"\u0279\7b\2\2\u0279\u027b\5,\27\2\u027a\u0278\3\2\2\2\u027a\u027b\3\2"+
"\2\2\u027b\u027c\3\2\2\2\u027c\u027d\7\u00ac\2\2\u027d\u027e\5,\27\2\u027e"+
"\u02a3\3\2\2\2\u027f\u0280\7e\2\2\u0280\u0281\5,\27\2\u0281\u0282\7\u00a0"+
"\2\2\u0282\u0285\5,\27\2\u0283\u0284\7\u00ab\2\2\u0284\u0286\5,\27\2\u0285"+
"\u0283\3\2\2\2\u0285\u0286\3\2\2\2\u0286\u02a3\3\2\2\2\u0287\u0288\7l"+
"\2\2\u0288\u0289\5,\27\2\u0289\u028a\7\u00ac\2\2\u028a\u028b\5,\27\2\u028b"+
"\u02a3\3\2\2\2\u028c\u028d\7\177\2\2\u028d\u028f\7\u00b2\2\2\u028e\u0290"+
"\5.\30\2\u028f\u028e\3\2\2\2\u028f\u0290\3\2\2\2\u0290\u0292\3\2\2\2\u0291"+
"\u0293\5\60\31\2\u0292\u0291\3\2\2\2\u0292\u0293\3\2\2\2\u0293\u02a3\3"+
"\2\2\2\u0294\u02a3\7\u008f\2\2\u0295\u02a3\7\u0087\2\2\u0296\u02a3\7\u0091"+
"\2\2\u0297\u02a3\7\u0092\2\2\u0298\u02a3\7\u0093\2\2\u0299\u02a3\7\u0095"+
"\2\2\u029a\u02a3\7\u0097\2\2\u029b\u02a3\7\u0085\2\2\u029c\u02a3\7\u00b1"+
"\2\2\u029d\u029f\7\u009f\2\2\u029e\u029d\3\2\2\2\u029e\u029f\3\2\2\2\u029f"+
"\u02a0\3\2\2\2\u02a0\u02a3\7\u00b2\2\2\u02a1\u02a3\7\u008c\2\2\u02a2\u0105"+
"\3\2\2\2\u02a2\u010b\3\2\2\2\u02a2\u0110\3\2\2\2\u02a2\u0115\3\2\2\2\u02a2"+
"\u011a\3\2\2\2\u02a2\u011f\3\2\2\2\u02a2\u0124\3\2\2\2\u02a2\u0129\3\2"+
"\2\2\u02a2\u0131\3\2\2\2\u02a2\u0139\3\2\2\2\u02a2\u0141\3\2\2\2\u02a2"+
"\u0146\3\2\2\2\u02a2\u014b\3\2\2\2\u02a2\u0150\3\2\2\2\u02a2\u0155\3\2"+
"\2\2\u02a2\u015a\3\2\2\2\u02a2\u015f\3\2\2\2\u02a2\u0167\3\2\2\2\u02a2"+
"\u016f\3\2\2\2\u02a2\u0176\3\2\2\2\u02a2\u017b\3\2\2\2\u02a2\u0180\3\2"+
"\2\2\u02a2\u0185\3\2\2\2\u02a2\u018a\3\2\2\2\u02a2\u018f\3\2\2\2\u02a2"+
"\u0194\3\2\2\2\u02a2\u0199\3\2\2\2\u02a2\u019e\3\2\2\2\u02a2\u01a3\3\2"+
"\2\2\u02a2\u01a8\3\2\2\2\u02a2\u01ad\3\2\2\2\u02a2\u01b2\3\2\2\2\u02a2"+
"\u01b7\3\2\2\2\u02a2\u01bc\3\2\2\2\u02a2\u01c1\3\2\2\2\u02a2\u01c6\3\2"+
"\2\2\u02a2\u01cb\3\2\2\2\u02a2\u01d0\3\2\2\2\u02a2\u01d5\3\2\2\2\u02a2"+
"\u01dc\3\2\2\2\u02a2\u01e1\3\2\2\2\u02a2\u01e7\3\2\2\2\u02a2\u01ec\3\2"+
"\2\2\u02a2\u01f1\3\2\2\2\u02a2\u01f5\3\2\2\2\u02a2\u01fa\3\2\2\2\u02a2"+
"\u01fc\3\2\2\2\u02a2\u01fe\3\2\2\2\u02a2\u0200\3\2\2\2\u02a2\u0202\3\2"+
"\2\2\u02a2\u0207\3\2\2\2\u02a2\u0209\3\2\2\2\u02a2\u020e\3\2\2\2\u02a2"+
"\u0210\3\2\2\2\u02a2\u0216\3\2\2\2\u02a2\u021b\3\2\2\2\u02a2\u0220\3\2"+
"\2\2\u02a2\u0225\3\2\2\2\u02a2\u022a\3\2\2\2\u02a2\u022f\3\2\2\2\u02a2"+
"\u0235\3\2\2\2\u02a2\u023c\3\2\2\2\u02a2\u0245\3\2\2\2\u02a2\u024f\3\2"+
"\2\2\u02a2\u0255\3\2\2\2\u02a2\u025b\3\2\2\2\u02a2\u0264\3\2\2\2\u02a2"+
"\u0269\3\2\2\2\u02a2\u0274\3\2\2\2\u02a2\u0275\3\2\2\2\u02a2\u027f\3\2"+
"\2\2\u02a2\u0287\3\2\2\2\u02a2\u028c\3\2\2\2\u02a2\u0294\3\2\2\2\u02a2"+
"\u0295\3\2\2\2\u02a2\u0296\3\2\2\2\u02a2\u0297\3\2\2\2\u02a2\u0298\3\2"+
"\2\2\u02a2\u0299\3\2\2\2\u02a2\u029a\3\2\2\2\u02a2\u029b\3\2\2\2\u02a2"+
"\u029c\3\2\2\2\u02a2\u029e\3\2\2\2\u02a2\u02a1\3\2\2\2\u02a3\u03b1\3\2"+
"\2\2\u02a4\u02a5\6\27\2\3\u02a5\u02a6\7\36\2\2\u02a6\u03b0\5,\27\2\u02a7"+
"\u02a8\6\27\3\3\u02a8\u02a9\7Z\2\2\u02a9\u03b0\5,\27\2\u02aa\u02ab\6\27"+
"\4\3\u02ab\u02ac\7V\2\2\u02ac\u03b0\5,\27\2\u02ad\u02ae\6\27\5\3\u02ae"+
"\u02af\7\u00a6\2\2\u02af\u03b0\5,\27\2\u02b0\u02b1\6\27\6\3\u02b1\u02b2"+
"\7\u00a7\2\2\u02b2\u03b0\5,\27\2\u02b3\u02b4\6\27\7\3\u02b4\u02b5\7&\2"+
"\2\u02b5\u03b0\5,\27\2\u02b6\u02b7\6\27\b\3\u02b7\u02b8\7$\2\2\u02b8\u03b0"+
"\5,\27\2\u02b9\u02ba\6\27\t\3\u02ba\u02bb\7%\2\2\u02bb\u03b0\5,\27\2\u02bc"+
"\u02bd\6\27\n\3\u02bd\u02be\7\"\2\2\u02be\u03b0\5,\27\2\u02bf\u02c0\6"+
"\27\13\3\u02c0\u02c1\7#\2\2\u02c1\u03b0\5,\27\2\u02c2\u02c3\6\27\f\3\u02c3"+
"\u02c4\79\2\2\u02c4\u03b0\5,\27\2\u02c5\u02c6\6\27\r\3\u02c6\u02c7\7:"+
"\2\2\u02c7\u03b0\5,\27\2\u02c8\u02c9\6\27\16\3\u02c9\u02ca\7\67\2\2\u02ca"+
"\u03b0\5,\27\2\u02cb\u02cc\6\27\17\3\u02cc\u02cd\78\2\2\u02cd\u03b0\5"+
",\27\2\u02ce\u02cf\6\27\20\3\u02cf\u02d0\7<\2\2\u02d0\u03b0\5,\27\2\u02d1"+
"\u02d2\6\27\21\3\u02d2\u02d3\7;\2\2\u02d3\u03b0\5,\27\2\u02d4\u02d5\6"+
"\27\22\3\u02d5\u02d6\7\34\2\2\u02d6\u03b0\5,\27\2\u02d7\u02d8\6\27\23"+
"\3\u02d8\u02d9\7\35\2\2\u02d9\u03b0\5,\27\2\u02da\u02db\6\27\24\3\u02db"+
"\u02dc\7\u009d\2\2\u02dc\u03b0\5,\27\2\u02dd\u02de\6\27\25\3\u02de\u02df"+
"\7m\2\2\u02df\u03b0\5,\27\2\u02e0\u02e1\6\27\26\3\u02e1\u03b0\7\37\2\2"+
"\u02e2\u02e3\6\27\27\3\u02e3\u03b0\7 \2\2\u02e4\u02e5\6\27\30\3\u02e5"+
"\u03b0\7!\2\2\u02e6\u02e7\6\27\31\3\u02e7\u02e8\7\5\2\2\u02e8\u03b0\7"+
"\u00b2\2\2\u02e9\u02ea\6\27\32\3\u02ea\u02eb\7\b\2\2\u02eb\u02ec\5,\27"+
"\2\u02ec\u02ed\7\3\2\2\u02ed\u03b0\3\2\2\2\u02ee\u02ef\6\27\33\3\u02ef"+
"\u03b0\7n\2\2\u02f0\u02f1\6\27\34\3\u02f1\u03b0\7U\2\2\u02f2\u02f5\6\27"+
"\35\3\u02f3\u02f4\7\u008d\2\2\u02f4\u02f6\5,\27\2\u02f5\u02f3\3\2\2\2"+
"\u02f6\u02f7\3\2\2\2\u02f7\u02f5\3\2\2\2\u02f7\u02f8\3\2\2\2\u02f8\u03b0"+
"\3\2\2\2\u02f9\u02fa\6\27\36\3\u02fa\u02fc\7X\2\2\u02fb\u02fd\7\u00a9"+
"\2\2\u02fc\u02fb\3\2\2\2\u02fc\u02fd\3\2\2\2\u02fd\u02fe\3\2\2\2\u02fe"+
"\u02ff\7\u009e\2\2\u02ff\u0300\5,\27\2\u0300\u0301\7\u00a0\2\2\u0301\u0302"+
"\5,\27\2\u0302\u03b0\3\2\2\2\u0303\u0304\6\27\37\3\u0304\u0306\7X\2\2"+
"\u0305\u0307\7\u00a9\2\2\u0306\u0305\3\2\2\2\u0306\u0307\3\2\2\2\u0307"+
"\u0308\3\2\2\2\u0308\u0309\7\u009e\2\2\u0309\u030a\5,\27\2\u030a\u030b"+
"\7\u00a1\2\2\u030b\u030c\5,\27\2\u030c\u03b0\3\2\2\2\u030d\u030e\6\27"+
" \3\u030e\u0310\7X\2\2\u030f\u0311\7\u00a9\2\2\u0310\u030f\3\2\2\2\u0310"+
"\u0311\3\2\2\2\u0311\u0312\3\2\2\2\u0312\u0313\7\u009e\2\2\u0313\u0314"+
"\5,\27\2\u0314\u0315\7\u00a2\2\2\u0315\u0316\5,\27\2\u0316\u03b0\3\2\2"+
"\2\u0317\u0318\6\27!\3\u0318\u031a\7X\2\2\u0319\u031b\7\u00a9\2\2\u031a"+
"\u0319\3\2\2\2\u031a\u031b\3\2\2\2\u031b\u031c\3\2\2\2\u031c\u031d\7\u009e"+
"\2\2\u031d\u031e\5,\27\2\u031e\u031f\7\u00a3\2\2\u031f\u0320\5,\27\2\u0320"+
"\u03b0\3\2\2\2\u0321\u0322\6\27\"\3\u0322\u0324\7X\2\2\u0323\u0325\7\u00a9"+
"\2\2\u0324\u0323\3\2\2\2\u0324\u0325\3\2\2\2\u0325\u0326\3\2\2\2\u0326"+
"\u0328\7\u009e\2\2\u0327\u0329\7\u009f\2\2\u0328\u0327\3\2\2\2\u0328\u0329"+
"\3\2\2\2\u0329\u032a\3\2\2\2\u032a\u032b\7\u00a4\2\2\u032b\u03b0\5,\27"+
"\2\u032c\u032d\6\27#\3\u032d\u032f\7X\2\2\u032e\u0330\7\u00a9\2\2\u032f"+
"\u032e\3\2\2\2\u032f\u0330\3\2\2\2\u0330\u0331\3\2\2\2\u0331\u0332\7\u009e"+
"\2\2\u0332\u0333\7\u00a5\2\2\u0333\u03b0\5,\27\2\u0334\u0335\6\27$\3\u0335"+
"\u0337\7X\2\2\u0336\u0338\7\u00a9\2\2\u0337\u0336\3\2\2\2\u0337\u0338"+
"\3\2\2\2\u0338\u0339\3\2\2\2\u0339\u033a\7\u00a6\2\2\u033a\u03b0\5,\27"+
"\2\u033b\u033c\6\27%\3\u033c\u033e\7X\2\2\u033d\u033f\7\u00a9\2\2\u033e"+
"\u033d\3\2\2\2\u033e\u033f\3\2\2\2\u033f\u0340\3\2\2\2\u0340\u0341\7\u00a7"+
"\2\2\u0341\u03b0\5,\27\2\u0342\u0343\6\27&\3\u0343\u0345\7\u00a8\2\2\u0344"+
"\u0346\7\u00a9\2\2\u0345\u0344\3\2\2\2\u0345\u0346\3\2\2\2\u0346\u0347"+
"\3\2\2\2\u0347\u0348\t\21\2\2\u0348\u03b0\5,\27\2\u0349\u034a\6\27\'\3"+
"\u034a\u034c\7\u00a8\2\2\u034b\u034d\7\u00a9\2\2\u034c\u034b\3\2\2\2\u034c"+
"\u034d\3\2\2\2\u034d\u034e\3\2\2\2\u034e\u034f\7\u009e\2\2\u034f\u0350"+
"\5,\27\2\u0350\u0351\7\u00a0\2\2\u0351\u0352\5,\27\2\u0352\u03b0\3\2\2"+
"\2\u0353\u0354\6\27(\3\u0354\u0356\7\u00a8\2\2\u0355\u0357\7\u00a9\2\2"+
"\u0356\u0355\3\2\2\2\u0356\u0357\3\2\2\2\u0357\u0358\3\2\2\2\u0358\u0359"+
"\7\u009e\2\2\u0359\u035a\5,\27\2\u035a\u035b\7\u00a1\2\2\u035b\u035c\5"+
",\27\2\u035c\u03b0\3\2\2\2\u035d\u035e\6\27)\3\u035e\u0360\7\u00a8\2\2"+
"\u035f\u0361\7\u00a9\2\2\u0360\u035f\3\2\2\2\u0360\u0361\3\2\2\2\u0361"+
"\u0362\3\2\2\2\u0362\u0363\7\u009e\2\2\u0363\u0364\5,\27\2\u0364\u0365"+
"\7\u00a2\2\2\u0365\u0366\5,\27\2\u0366\u03b0\3\2\2\2\u0367\u0368\6\27"+
"*\3\u0368\u036a\7\u00a8\2\2\u0369\u036b\7\u00a9\2\2\u036a\u0369\3\2\2"+
"\2\u036a\u036b\3\2\2\2\u036b\u036c\3\2\2\2\u036c\u036d\7\u009e\2\2\u036d"+
"\u036e\5,\27\2\u036e\u036f\7\u00a3\2\2\u036f\u0370\5,\27\2\u0370\u03b0"+
"\3\2\2\2\u0371\u0372\6\27+\3\u0372\u0374\7\u00a8\2\2\u0373\u0375\7\u00a9"+
"\2\2\u0374\u0373\3\2\2\2\u0374\u0375\3\2\2\2\u0375\u0376\3\2\2\2\u0376"+
"\u0378\7\u009e\2\2\u0377\u0379\7\u009f\2\2\u0378\u0377\3\2\2\2\u0378\u0379"+
"\3\2\2\2\u0379\u037a\3\2\2\2\u037a\u037b\7\u00a4\2\2\u037b\u03b0\5,\27"+
"\2\u037c\u037d\6\27,\3\u037d\u037f\7\u00a8\2\2\u037e\u0380\7\u00a9\2\2"+
"\u037f\u037e\3\2\2\2\u037f\u0380\3\2\2\2\u0380\u0381\3\2\2\2\u0381\u0382"+
"\7\u009e\2\2\u0382\u0383\7\u00a5\2\2\u0383\u03b0\5,\27\2\u0384\u0385\6"+
"\27-\3\u0385\u0387\7\u00a8\2\2\u0386\u0388\7\u00a9\2\2\u0387\u0386\3\2"+
"\2\2\u0387\u0388\3\2\2\2\u0388\u0389\3\2\2\2\u0389\u038a\7\u00a6\2\2\u038a"+
"\u03b0\5,\27\2\u038b\u038c\6\27.\3\u038c\u038e\7\u00a8\2\2\u038d\u038f"+
"\7\u00a9\2\2\u038e\u038d\3\2\2\2\u038e\u038f\3\2\2\2\u038f\u0390\3\2\2"+
"\2\u0390\u0391\7\u00a7\2\2\u0391\u03b0\5,\27\2\u0392\u0394\6\27/\3\u0393"+
"\u0395\7X\2\2\u0394\u0393\3\2\2\2\u0394\u0395\3\2\2\2\u0395\u0397\3\2"+
"\2\2\u0396\u0398\7\u00a9\2\2\u0397\u0396\3\2\2\2\u0397\u0398\3\2\2\2\u0398"+
"\u0399\3\2\2\2\u0399\u039a\7\u00aa\2\2\u039a\u03b0\5,\27\2\u039b\u039c"+
"\6\27\60\3\u039c\u039e\7X\2\2\u039d\u039f\7\u00a9\2\2\u039e\u039d\3\2"+
"\2\2\u039e\u039f\3\2\2\2\u039f\u03a0\3\2\2\2\u03a0\u03b0\5$\23\2\u03a1"+
"\u03a2\6\27\61\3\u03a2\u03a4\7X\2\2\u03a3\u03a5\7\u00a9\2\2\u03a4\u03a3"+
"\3\2\2\2\u03a4\u03a5\3\2\2\2\u03a5\u03a6\3\2\2\2\u03a6\u03b0\5,\27\2\u03a7"+
"\u03a8\6\27\62\3\u03a8\u03ab\6\27\63\2\u03a9\u03aa\7\6\2\2\u03aa\u03ac"+
"\5,\27\2\u03ab\u03a9\3\2\2\2\u03ac\u03ad\3\2\2\2\u03ad\u03ab\3\2\2\2\u03ad"+
"\u03ae\3\2\2\2\u03ae\u03b0\3\2\2\2\u03af\u02a4\3\2\2\2\u03af\u02a7\3\2"+
"\2\2\u03af\u02aa\3\2\2\2\u03af\u02ad\3\2\2\2\u03af\u02b0\3\2\2\2\u03af"+
"\u02b3\3\2\2\2\u03af\u02b6\3\2\2\2\u03af\u02b9\3\2\2\2\u03af\u02bc\3\2"+
"\2\2\u03af\u02bf\3\2\2\2\u03af\u02c2\3\2\2\2\u03af\u02c5\3\2\2\2\u03af"+
"\u02c8\3\2\2\2\u03af\u02cb\3\2\2\2\u03af\u02ce\3\2\2\2\u03af\u02d1\3\2"+
"\2\2\u03af\u02d4\3\2\2\2\u03af\u02d7\3\2\2\2\u03af\u02da\3\2\2\2\u03af"+
"\u02dd\3\2\2\2\u03af\u02e0\3\2\2\2\u03af\u02e2\3\2\2\2\u03af\u02e4\3\2"+
"\2\2\u03af\u02e6\3\2\2\2\u03af\u02e9\3\2\2\2\u03af\u02ee\3\2\2\2\u03af"+
"\u02f0\3\2\2\2\u03af\u02f2\3\2\2\2\u03af\u02f9\3\2\2\2\u03af\u0303\3\2"+
"\2\2\u03af\u030d\3\2\2\2\u03af\u0317\3\2\2\2\u03af\u0321\3\2\2\2\u03af"+
"\u032c\3\2\2\2\u03af\u0334\3\2\2\2\u03af\u033b\3\2\2\2\u03af\u0342\3\2"+
"\2\2\u03af\u0349\3\2\2\2\u03af\u0353\3\2\2\2\u03af\u035d\3\2\2\2\u03af"+
"\u0367\3\2\2\2\u03af\u0371\3\2\2\2\u03af\u037c\3\2\2\2\u03af\u0384\3\2"+
"\2\2\u03af\u038b\3\2\2\2\u03af\u0392\3\2\2\2\u03af\u039b\3\2\2\2\u03af"+
"\u03a1\3\2\2\2\u03af\u03a7\3\2\2\2\u03b0\u03b3\3\2\2\2\u03b1\u03af\3\2"+
"\2\2\u03b1\u03b2\3\2\2\2\u03b2-\3\2\2\2\u03b3\u03b1\3\2\2\2\u03b4\u03b5"+
"\b\30\1\2\u03b5\u03b6\7\u00ae\2\2\u03b6\u03bb\5,\27\2\u03b7\u03b8\7\6"+
"\2\2\u03b8\u03ba\5,\27\2\u03b9\u03b7\3\2\2\2\u03ba\u03bd\3\2\2\2\u03bb"+
"\u03b9\3\2\2\2\u03bb\u03bc\3\2\2\2\u03bc\u03be\3\2\2\2\u03bd\u03bb\3\2"+
"\2\2\u03be\u03bf\b\30\1\2\u03bf/\3\2\2\2\u03c0\u03c1\7\u00ae\2\2\u03c1"+
"\u03c2\7\b\2\2\u03c2\u03c3\7\u00b2\2\2\u03c3\u03c4\7\7\2\2\u03c4\u03cb"+
"\5,\27\2\u03c5\u03c6\7\6\2\2\u03c6\u03c7\7\u00b2\2\2\u03c7\u03c8\7\7\2"+
"\2\u03c8\u03ca\5,\27\2\u03c9\u03c5\3\2\2\2\u03ca\u03cd\3\2\2\2\u03cb\u03c9"+
"\3\2\2\2\u03cb\u03cc\3\2\2\2\u03cc\u03ce\3\2\2\2\u03cd\u03cb\3\2\2\2\u03ce"+
"\u03cf\7\3\2\2\u03cf\61\3\2\2\2r\65CHTXq\u0097\u00a6\u00b3\u00bd\u00c2"+
"\u00ca\u00ce\u00d8\u00db\u00df\u00e5\u00ed\u00fb\u0101\u0108\u010d\u0112"+
"\u0117\u011c\u0121\u0126\u012b\u012e\u0133\u0136\u013b\u013e\u0143\u0148"+
"\u014d\u0152\u0157\u015c\u0162\u0167\u016b\u016f\u0173\u0178\u017d\u0182"+
"\u0187\u018c\u0191\u0196\u019b\u01a0\u01a5\u01aa\u01af\u01b4\u01b9\u01be"+
"\u01c3\u01c8\u01cd\u01d2\u01d8\u01de\u01e4\u01e9\u01ee\u01f7\u0204\u020b"+
"\u0235\u0240\u024a\u025e\u026c\u0272\u027a\u0285\u028f\u0292\u029e\u02a2"+
"\u02f7\u02fc\u0306\u0310\u031a\u0324\u0328\u032f\u0337\u033e\u0345\u034c"+
"\u0356\u0360\u036a\u0374\u0378\u037f\u0387\u038e\u0394\u0397\u039e\u03a4"+
"\u03ad\u03af\u03b1\u03bb\u03cb";
public static final ATN _ATN =
ATNSimulator.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);
}
}
}