Skip to content

Instantly share code, notes, and snippets.

@molaie
Created November 10, 2024 17:22
Show Gist options
  • Save molaie/02e450c82579faea74d41d9ec371f5a2 to your computer and use it in GitHub Desktop.
Save molaie/02e450c82579faea74d41d9ec371f5a2 to your computer and use it in GitHub Desktop.
MiniScript version 3 parser code
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// ANTLR Version: 4.13.2
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
// Generated from MiniScript.g4 by ANTLR 4.13.2
// Unreachable code detected
#pragma warning disable 0162
// The variable '...' is assigned but its value is never used
#pragma warning disable 0219
// Missing XML comment for publicly visible type or member '...'
#pragma warning disable 1591
// Ambiguous reference in cref attribute
#pragma warning disable 419
using System;
using System.IO;
using System.Text;
using System.Diagnostics;
using System.Collections.Generic;
using Antlr4.Runtime;
using Antlr4.Runtime.Atn;
using Antlr4.Runtime.Misc;
using Antlr4.Runtime.Tree;
using DFA = Antlr4.Runtime.Dfa.DFA;
[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.2")]
[System.CLSCompliant(false)]
public partial class MiniScriptParser : Parser {
protected static DFA[] decisionToDFA;
protected static PredictionContextCache sharedContextCache = new PredictionContextCache();
public const int
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, IF=7, ELSE=8, LOOP=9,
FOR=10, VAR=11, BREAK=12, CONTINUE=13, NOT=14, EXCLAMATION=15, ASSIGN=16,
PLUS=17, MINUS=18, MUL=19, DIV=20, MOD=21, POW=22, LPAREN=23, RPAREN=24,
LBRACE=25, RBRACE=26, COMMA=27, SEMICOLON=28, DOT=29, LBRACKET=30, RBRACKET=31,
COLON=32, STRING=33, FLOAT=34, NUMBER=35, BOOLEAN=36, IDENTIFIER=37, WS=38,
COMMENT=39, MULTILINE_COMMENT=40;
public const int
RULE_program = 0, RULE_statement = 1, RULE_variableDeclaration = 2, RULE_assignment = 3,
RULE_ifStatement = 4, RULE_loopStatement = 5, RULE_forStatement = 6, RULE_breakStatement = 7,
RULE_continueStatement = 8, RULE_expressionStatement = 9, RULE_functionCallStatement = 10,
RULE_block = 11, RULE_expression = 12, RULE_comparisonExpression = 13,
RULE_additiveExpression = 14, RULE_multiplicativeExpression = 15, RULE_powerExpression = 16,
RULE_unaryExpression = 17, RULE_primaryExpression = 18, RULE_functionCall = 19,
RULE_qualifiedIdentifier = 20, RULE_arrayLiteral = 21, RULE_arrayAccess = 22;
public static readonly string[] ruleNames = {
"program", "statement", "variableDeclaration", "assignment", "ifStatement",
"loopStatement", "forStatement", "breakStatement", "continueStatement",
"expressionStatement", "functionCallStatement", "block", "expression",
"comparisonExpression", "additiveExpression", "multiplicativeExpression",
"powerExpression", "unaryExpression", "primaryExpression", "functionCall",
"qualifiedIdentifier", "arrayLiteral", "arrayAccess"
};
private static readonly string[] _LiteralNames = {
null, "'>'", "'<'", "'>='", "'<='", "'=='", "'!='", "'if'", "'else'",
"'loop'", "'for'", "'var'", "'break'", "'continue'", "'not'", "'!'", "'='",
"'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "'('", "')'", "'{'", "'}'",
"','", "';'", "'.'", "'['", "']'", "':'"
};
private static readonly string[] _SymbolicNames = {
null, null, null, null, null, null, null, "IF", "ELSE", "LOOP", "FOR",
"VAR", "BREAK", "CONTINUE", "NOT", "EXCLAMATION", "ASSIGN", "PLUS", "MINUS",
"MUL", "DIV", "MOD", "POW", "LPAREN", "RPAREN", "LBRACE", "RBRACE", "COMMA",
"SEMICOLON", "DOT", "LBRACKET", "RBRACKET", "COLON", "STRING", "FLOAT",
"NUMBER", "BOOLEAN", "IDENTIFIER", "WS", "COMMENT", "MULTILINE_COMMENT"
};
public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
[NotNull]
public override IVocabulary Vocabulary
{
get
{
return DefaultVocabulary;
}
}
public override string GrammarFileName { get { return "MiniScript.g4"; } }
public override string[] RuleNames { get { return ruleNames; } }
public override int[] SerializedAtn { get { return _serializedATN; } }
static MiniScriptParser() {
decisionToDFA = new DFA[_ATN.NumberOfDecisions];
for (int i = 0; i < _ATN.NumberOfDecisions; i++) {
decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
}
}
public MiniScriptParser(ITokenStream input) : this(input, Console.Out, Console.Error) { }
public MiniScriptParser(ITokenStream input, TextWriter output, TextWriter errorOutput)
: base(input, output, errorOutput)
{
Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache);
}
public partial class ProgramContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(MiniScriptParser.Eof, 0); }
[System.Diagnostics.DebuggerNonUserCode] public StatementContext[] statement() {
return GetRuleContexts<StatementContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public StatementContext statement(int i) {
return GetRuleContext<StatementContext>(i);
}
public ProgramContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_program; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitProgram(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ProgramContext program() {
ProgramContext _localctx = new ProgramContext(Context, State);
EnterRule(_localctx, 0, RULE_program);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 49;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 267370561152L) != 0)) {
{
{
State = 46;
statement();
}
}
State = 51;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 52;
Match(Eof);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class StatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public VariableDeclarationContext variableDeclaration() {
return GetRuleContext<VariableDeclarationContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public AssignmentContext assignment() {
return GetRuleContext<AssignmentContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public IfStatementContext ifStatement() {
return GetRuleContext<IfStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public LoopStatementContext loopStatement() {
return GetRuleContext<LoopStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ForStatementContext forStatement() {
return GetRuleContext<ForStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public BreakStatementContext breakStatement() {
return GetRuleContext<BreakStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ContinueStatementContext continueStatement() {
return GetRuleContext<ContinueStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionStatementContext expressionStatement() {
return GetRuleContext<ExpressionStatementContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public FunctionCallStatementContext functionCallStatement() {
return GetRuleContext<FunctionCallStatementContext>(0);
}
public StatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_statement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public StatementContext statement() {
StatementContext _localctx = new StatementContext(Context, State);
EnterRule(_localctx, 2, RULE_statement);
try {
State = 63;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,1,Context) ) {
case 1:
EnterOuterAlt(_localctx, 1);
{
State = 54;
variableDeclaration();
}
break;
case 2:
EnterOuterAlt(_localctx, 2);
{
State = 55;
assignment();
}
break;
case 3:
EnterOuterAlt(_localctx, 3);
{
State = 56;
ifStatement();
}
break;
case 4:
EnterOuterAlt(_localctx, 4);
{
State = 57;
loopStatement();
}
break;
case 5:
EnterOuterAlt(_localctx, 5);
{
State = 58;
forStatement();
}
break;
case 6:
EnterOuterAlt(_localctx, 6);
{
State = 59;
breakStatement();
}
break;
case 7:
EnterOuterAlt(_localctx, 7);
{
State = 60;
continueStatement();
}
break;
case 8:
EnterOuterAlt(_localctx, 8);
{
State = 61;
expressionStatement();
}
break;
case 9:
EnterOuterAlt(_localctx, 9);
{
State = 62;
functionCallStatement();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class VariableDeclarationContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VAR() { return GetToken(MiniScriptParser.VAR, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER() { return GetToken(MiniScriptParser.IDENTIFIER, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(MiniScriptParser.ASSIGN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
public VariableDeclarationContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_variableDeclaration; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitVariableDeclaration(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public VariableDeclarationContext variableDeclaration() {
VariableDeclarationContext _localctx = new VariableDeclarationContext(Context, State);
EnterRule(_localctx, 4, RULE_variableDeclaration);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 65;
Match(VAR);
State = 66;
Match(IDENTIFIER);
State = 69;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==ASSIGN) {
{
State = 67;
Match(ASSIGN);
State = 68;
expression();
}
}
State = 71;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class AssignmentContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(MiniScriptParser.ASSIGN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER() { return GetToken(MiniScriptParser.IDENTIFIER, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ArrayAccessContext arrayAccess() {
return GetRuleContext<ArrayAccessContext>(0);
}
public AssignmentContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_assignment; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitAssignment(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public AssignmentContext assignment() {
AssignmentContext _localctx = new AssignmentContext(Context, State);
EnterRule(_localctx, 6, RULE_assignment);
try {
EnterOuterAlt(_localctx, 1);
{
State = 75;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,3,Context) ) {
case 1:
{
State = 73;
Match(IDENTIFIER);
}
break;
case 2:
{
State = 74;
arrayAccess();
}
break;
}
State = 77;
Match(ASSIGN);
State = 78;
expression();
State = 79;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class IfStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IF() { return GetToken(MiniScriptParser.IF, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(MiniScriptParser.LPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(MiniScriptParser.RPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public BlockContext[] block() {
return GetRuleContexts<BlockContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public BlockContext block(int i) {
return GetRuleContext<BlockContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSE() { return GetToken(MiniScriptParser.ELSE, 0); }
public IfStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_ifStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitIfStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public IfStatementContext ifStatement() {
IfStatementContext _localctx = new IfStatementContext(Context, State);
EnterRule(_localctx, 8, RULE_ifStatement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 81;
Match(IF);
State = 82;
Match(LPAREN);
State = 83;
expression();
State = 84;
Match(RPAREN);
State = 85;
block();
State = 88;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==ELSE) {
{
State = 86;
Match(ELSE);
State = 87;
block();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class LoopStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOOP() { return GetToken(MiniScriptParser.LOOP, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(MiniScriptParser.LPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(MiniScriptParser.RPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public BlockContext block() {
return GetRuleContext<BlockContext>(0);
}
public LoopStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_loopStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitLoopStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public LoopStatementContext loopStatement() {
LoopStatementContext _localctx = new LoopStatementContext(Context, State);
EnterRule(_localctx, 10, RULE_loopStatement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 90;
Match(LOOP);
State = 91;
Match(LPAREN);
State = 92;
expression();
State = 93;
Match(RPAREN);
State = 94;
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ForStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(MiniScriptParser.FOR, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(MiniScriptParser.LPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] SEMICOLON() { return GetTokens(MiniScriptParser.SEMICOLON); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON(int i) {
return GetToken(MiniScriptParser.SEMICOLON, i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(MiniScriptParser.RPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public BlockContext block() {
return GetRuleContext<BlockContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public VariableDeclarationContext variableDeclaration() {
return GetRuleContext<VariableDeclarationContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public AssignmentContext[] assignment() {
return GetRuleContexts<AssignmentContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public AssignmentContext assignment(int i) {
return GetRuleContext<AssignmentContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
public ForStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_forStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitForStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ForStatementContext forStatement() {
ForStatementContext _localctx = new ForStatementContext(Context, State);
EnterRule(_localctx, 12, RULE_forStatement);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 96;
Match(FOR);
State = 97;
Match(LPAREN);
State = 100;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case VAR:
{
State = 98;
variableDeclaration();
}
break;
case IDENTIFIER:
{
State = 99;
assignment();
}
break;
case SEMICOLON:
break;
default:
break;
}
State = 102;
Match(SEMICOLON);
State = 104;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 267370545152L) != 0)) {
{
State = 103;
expression();
}
}
State = 106;
Match(SEMICOLON);
State = 108;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==IDENTIFIER) {
{
State = 107;
assignment();
}
}
State = 110;
Match(RPAREN);
State = 111;
block();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class BreakStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BREAK() { return GetToken(MiniScriptParser.BREAK, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
public BreakStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_breakStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitBreakStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public BreakStatementContext breakStatement() {
BreakStatementContext _localctx = new BreakStatementContext(Context, State);
EnterRule(_localctx, 14, RULE_breakStatement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 113;
Match(BREAK);
State = 114;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ContinueStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONTINUE() { return GetToken(MiniScriptParser.CONTINUE, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
public ContinueStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_continueStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitContinueStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ContinueStatementContext continueStatement() {
ContinueStatementContext _localctx = new ContinueStatementContext(Context, State);
EnterRule(_localctx, 16, RULE_continueStatement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 116;
Match(CONTINUE);
State = 117;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ExpressionStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
public ExpressionStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_expressionStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitExpressionStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ExpressionStatementContext expressionStatement() {
ExpressionStatementContext _localctx = new ExpressionStatementContext(Context, State);
EnterRule(_localctx, 18, RULE_expressionStatement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 119;
expression();
State = 120;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class FunctionCallStatementContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public FunctionCallContext functionCall() {
return GetRuleContext<FunctionCallContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(MiniScriptParser.SEMICOLON, 0); }
public FunctionCallStatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_functionCallStatement; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitFunctionCallStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public FunctionCallStatementContext functionCallStatement() {
FunctionCallStatementContext _localctx = new FunctionCallStatementContext(Context, State);
EnterRule(_localctx, 20, RULE_functionCallStatement);
try {
EnterOuterAlt(_localctx, 1);
{
State = 122;
functionCall();
State = 123;
Match(SEMICOLON);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class BlockContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(MiniScriptParser.LBRACE, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(MiniScriptParser.RBRACE, 0); }
[System.Diagnostics.DebuggerNonUserCode] public StatementContext[] statement() {
return GetRuleContexts<StatementContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public StatementContext statement(int i) {
return GetRuleContext<StatementContext>(i);
}
public BlockContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_block; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitBlock(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public BlockContext block() {
BlockContext _localctx = new BlockContext(Context, State);
EnterRule(_localctx, 22, RULE_block);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 125;
Match(LBRACE);
State = 129;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 267370561152L) != 0)) {
{
{
State = 126;
statement();
}
}
State = 131;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 132;
Match(RBRACE);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ComparisonExpressionContext comparisonExpression() {
return GetRuleContext<ComparisonExpressionContext>(0);
}
public ExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_expression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ExpressionContext expression() {
ExpressionContext _localctx = new ExpressionContext(Context, State);
EnterRule(_localctx, 24, RULE_expression);
try {
EnterOuterAlt(_localctx, 1);
{
State = 134;
comparisonExpression();
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ComparisonExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public AdditiveExpressionContext[] additiveExpression() {
return GetRuleContexts<AdditiveExpressionContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public AdditiveExpressionContext additiveExpression(int i) {
return GetRuleContext<AdditiveExpressionContext>(i);
}
public ComparisonExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_comparisonExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitComparisonExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ComparisonExpressionContext comparisonExpression() {
ComparisonExpressionContext _localctx = new ComparisonExpressionContext(Context, State);
EnterRule(_localctx, 26, RULE_comparisonExpression);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 136;
additiveExpression();
State = 139;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 126L) != 0)) {
{
State = 137;
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 126L) != 0)) ) {
ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 138;
additiveExpression();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class AdditiveExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public MultiplicativeExpressionContext[] multiplicativeExpression() {
return GetRuleContexts<MultiplicativeExpressionContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public MultiplicativeExpressionContext multiplicativeExpression(int i) {
return GetRuleContext<MultiplicativeExpressionContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] PLUS() { return GetTokens(MiniScriptParser.PLUS); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS(int i) {
return GetToken(MiniScriptParser.PLUS, i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MINUS() { return GetTokens(MiniScriptParser.MINUS); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS(int i) {
return GetToken(MiniScriptParser.MINUS, i);
}
public AdditiveExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_additiveExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitAdditiveExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public AdditiveExpressionContext additiveExpression() {
AdditiveExpressionContext _localctx = new AdditiveExpressionContext(Context, State);
EnterRule(_localctx, 28, RULE_additiveExpression);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 141;
multiplicativeExpression();
State = 146;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==PLUS || _la==MINUS) {
{
{
State = 142;
_la = TokenStream.LA(1);
if ( !(_la==PLUS || _la==MINUS) ) {
ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 143;
multiplicativeExpression();
}
}
State = 148;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class MultiplicativeExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public PowerExpressionContext[] powerExpression() {
return GetRuleContexts<PowerExpressionContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public PowerExpressionContext powerExpression(int i) {
return GetRuleContext<PowerExpressionContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MUL() { return GetTokens(MiniScriptParser.MUL); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MUL(int i) {
return GetToken(MiniScriptParser.MUL, i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DIV() { return GetTokens(MiniScriptParser.DIV); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DIV(int i) {
return GetToken(MiniScriptParser.DIV, i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MOD() { return GetTokens(MiniScriptParser.MOD); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MOD(int i) {
return GetToken(MiniScriptParser.MOD, i);
}
public MultiplicativeExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_multiplicativeExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitMultiplicativeExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public MultiplicativeExpressionContext multiplicativeExpression() {
MultiplicativeExpressionContext _localctx = new MultiplicativeExpressionContext(Context, State);
EnterRule(_localctx, 30, RULE_multiplicativeExpression);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 149;
powerExpression();
State = 154;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 3670016L) != 0)) {
{
{
State = 150;
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 3670016L) != 0)) ) {
ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 151;
powerExpression();
}
}
State = 156;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class PowerExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public UnaryExpressionContext unaryExpression() {
return GetRuleContext<UnaryExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode POW() { return GetToken(MiniScriptParser.POW, 0); }
[System.Diagnostics.DebuggerNonUserCode] public PowerExpressionContext powerExpression() {
return GetRuleContext<PowerExpressionContext>(0);
}
public PowerExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_powerExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitPowerExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public PowerExpressionContext powerExpression() {
PowerExpressionContext _localctx = new PowerExpressionContext(Context, State);
EnterRule(_localctx, 32, RULE_powerExpression);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 157;
unaryExpression();
State = 160;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==POW) {
{
State = 158;
Match(POW);
State = 159;
powerExpression();
}
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class UnaryExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public UnaryExpressionContext unaryExpression() {
return GetRuleContext<UnaryExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(MiniScriptParser.PLUS, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(MiniScriptParser.MINUS, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOT() { return GetToken(MiniScriptParser.NOT, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXCLAMATION() { return GetToken(MiniScriptParser.EXCLAMATION, 0); }
[System.Diagnostics.DebuggerNonUserCode] public PrimaryExpressionContext primaryExpression() {
return GetRuleContext<PrimaryExpressionContext>(0);
}
public UnaryExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_unaryExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitUnaryExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public UnaryExpressionContext unaryExpression() {
UnaryExpressionContext _localctx = new UnaryExpressionContext(Context, State);
EnterRule(_localctx, 34, RULE_unaryExpression);
int _la;
try {
State = 165;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case NOT:
case EXCLAMATION:
case PLUS:
case MINUS:
EnterOuterAlt(_localctx, 1);
{
State = 162;
_la = TokenStream.LA(1);
if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 442368L) != 0)) ) {
ErrorHandler.RecoverInline(this);
}
else {
ErrorHandler.ReportMatch(this);
Consume();
}
State = 163;
unaryExpression();
}
break;
case LPAREN:
case LBRACKET:
case STRING:
case FLOAT:
case NUMBER:
case BOOLEAN:
case IDENTIFIER:
EnterOuterAlt(_localctx, 2);
{
State = 164;
primaryExpression();
}
break;
default:
throw new NoViableAltException(this);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class PrimaryExpressionContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMBER() { return GetToken(MiniScriptParser.NUMBER, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FLOAT() { return GetToken(MiniScriptParser.FLOAT, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BOOLEAN() { return GetToken(MiniScriptParser.BOOLEAN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING() { return GetToken(MiniScriptParser.STRING, 0); }
[System.Diagnostics.DebuggerNonUserCode] public FunctionCallContext functionCall() {
return GetRuleContext<FunctionCallContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ArrayAccessContext arrayAccess() {
return GetRuleContext<ArrayAccessContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER() { return GetToken(MiniScriptParser.IDENTIFIER, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(MiniScriptParser.LPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(MiniScriptParser.RPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ArrayLiteralContext arrayLiteral() {
return GetRuleContext<ArrayLiteralContext>(0);
}
public PrimaryExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_primaryExpression; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitPrimaryExpression(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public PrimaryExpressionContext primaryExpression() {
PrimaryExpressionContext _localctx = new PrimaryExpressionContext(Context, State);
EnterRule(_localctx, 36, RULE_primaryExpression);
try {
State = 179;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,14,Context) ) {
case 1:
EnterOuterAlt(_localctx, 1);
{
State = 167;
Match(NUMBER);
}
break;
case 2:
EnterOuterAlt(_localctx, 2);
{
State = 168;
Match(FLOAT);
}
break;
case 3:
EnterOuterAlt(_localctx, 3);
{
State = 169;
Match(BOOLEAN);
}
break;
case 4:
EnterOuterAlt(_localctx, 4);
{
State = 170;
Match(STRING);
}
break;
case 5:
EnterOuterAlt(_localctx, 5);
{
State = 171;
functionCall();
}
break;
case 6:
EnterOuterAlt(_localctx, 6);
{
State = 172;
arrayAccess();
}
break;
case 7:
EnterOuterAlt(_localctx, 7);
{
State = 173;
Match(IDENTIFIER);
}
break;
case 8:
EnterOuterAlt(_localctx, 8);
{
State = 174;
Match(LPAREN);
State = 175;
expression();
State = 176;
Match(RPAREN);
}
break;
case 9:
EnterOuterAlt(_localctx, 9);
{
State = 178;
arrayLiteral();
}
break;
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class FunctionCallContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public QualifiedIdentifierContext qualifiedIdentifier() {
return GetRuleContext<QualifiedIdentifierContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(MiniScriptParser.LPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(MiniScriptParser.RPAREN, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts<ExpressionContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext<ExpressionContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(MiniScriptParser.COMMA); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) {
return GetToken(MiniScriptParser.COMMA, i);
}
public FunctionCallContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_functionCall; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitFunctionCall(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public FunctionCallContext functionCall() {
FunctionCallContext _localctx = new FunctionCallContext(Context, State);
EnterRule(_localctx, 38, RULE_functionCall);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 181;
qualifiedIdentifier();
State = 182;
Match(LPAREN);
State = 191;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 267370545152L) != 0)) {
{
State = 183;
expression();
State = 188;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==COMMA) {
{
{
State = 184;
Match(COMMA);
State = 185;
expression();
}
}
State = 190;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
State = 193;
Match(RPAREN);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class QualifiedIdentifierContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] IDENTIFIER() { return GetTokens(MiniScriptParser.IDENTIFIER); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER(int i) {
return GetToken(MiniScriptParser.IDENTIFIER, i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DOT() { return GetTokens(MiniScriptParser.DOT); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT(int i) {
return GetToken(MiniScriptParser.DOT, i);
}
public QualifiedIdentifierContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_qualifiedIdentifier; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitQualifiedIdentifier(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public QualifiedIdentifierContext qualifiedIdentifier() {
QualifiedIdentifierContext _localctx = new QualifiedIdentifierContext(Context, State);
EnterRule(_localctx, 40, RULE_qualifiedIdentifier);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 195;
Match(IDENTIFIER);
State = 200;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==DOT) {
{
{
State = 196;
Match(DOT);
State = 197;
Match(IDENTIFIER);
}
}
State = 202;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ArrayLiteralContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MiniScriptParser.LBRACKET, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MiniScriptParser.RBRACKET, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts<ExpressionContext>();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext<ExpressionContext>(i);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(MiniScriptParser.COMMA); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) {
return GetToken(MiniScriptParser.COMMA, i);
}
public ArrayLiteralContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_arrayLiteral; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitArrayLiteral(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ArrayLiteralContext arrayLiteral() {
ArrayLiteralContext _localctx = new ArrayLiteralContext(Context, State);
EnterRule(_localctx, 42, RULE_arrayLiteral);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 203;
Match(LBRACKET);
State = 212;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 267370545152L) != 0)) {
{
State = 204;
expression();
State = 209;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while (_la==COMMA) {
{
{
State = 205;
Match(COMMA);
State = 206;
expression();
}
}
State = 211;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
}
}
State = 214;
Match(RBRACKET);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ArrayAccessContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER() { return GetToken(MiniScriptParser.IDENTIFIER, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACKET() { return GetToken(MiniScriptParser.LBRACKET, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext<ExpressionContext>(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACKET() { return GetToken(MiniScriptParser.RBRACKET, 0); }
public ArrayAccessContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_arrayAccess; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept<TResult>(IParseTreeVisitor<TResult> visitor) {
IMiniScriptVisitor<TResult> typedVisitor = visitor as IMiniScriptVisitor<TResult>;
if (typedVisitor != null) return typedVisitor.VisitArrayAccess(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public ArrayAccessContext arrayAccess() {
ArrayAccessContext _localctx = new ArrayAccessContext(Context, State);
EnterRule(_localctx, 44, RULE_arrayAccess);
try {
EnterOuterAlt(_localctx, 1);
{
State = 216;
Match(IDENTIFIER);
State = 217;
Match(LBRACKET);
State = 218;
expression();
State = 219;
Match(RBRACKET);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
private static int[] _serializedATN = {
4,1,40,222,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7,
7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2,14,7,14,
2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2,21,7,21,
2,22,7,22,1,0,5,0,48,8,0,10,0,12,0,51,9,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,
1,1,1,1,1,1,1,1,3,1,64,8,1,1,2,1,2,1,2,1,2,3,2,70,8,2,1,2,1,2,1,3,1,3,
3,3,76,8,3,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,89,8,4,1,5,
1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,3,6,101,8,6,1,6,1,6,3,6,105,8,6,1,
6,1,6,3,6,109,8,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,9,1,9,1,9,1,10,
1,10,1,10,1,11,1,11,5,11,128,8,11,10,11,12,11,131,9,11,1,11,1,11,1,12,
1,12,1,13,1,13,1,13,3,13,140,8,13,1,14,1,14,1,14,5,14,145,8,14,10,14,12,
14,148,9,14,1,15,1,15,1,15,5,15,153,8,15,10,15,12,15,156,9,15,1,16,1,16,
1,16,3,16,161,8,16,1,17,1,17,1,17,3,17,166,8,17,1,18,1,18,1,18,1,18,1,
18,1,18,1,18,1,18,1,18,1,18,1,18,1,18,3,18,180,8,18,1,19,1,19,1,19,1,19,
1,19,5,19,187,8,19,10,19,12,19,190,9,19,3,19,192,8,19,1,19,1,19,1,20,1,
20,1,20,5,20,199,8,20,10,20,12,20,202,9,20,1,21,1,21,1,21,1,21,5,21,208,
8,21,10,21,12,21,211,9,21,3,21,213,8,21,1,21,1,21,1,22,1,22,1,22,1,22,
1,22,1,22,0,0,23,0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,
40,42,44,0,4,1,0,1,6,1,0,17,18,1,0,19,21,2,0,14,15,17,18,233,0,49,1,0,
0,0,2,63,1,0,0,0,4,65,1,0,0,0,6,75,1,0,0,0,8,81,1,0,0,0,10,90,1,0,0,0,
12,96,1,0,0,0,14,113,1,0,0,0,16,116,1,0,0,0,18,119,1,0,0,0,20,122,1,0,
0,0,22,125,1,0,0,0,24,134,1,0,0,0,26,136,1,0,0,0,28,141,1,0,0,0,30,149,
1,0,0,0,32,157,1,0,0,0,34,165,1,0,0,0,36,179,1,0,0,0,38,181,1,0,0,0,40,
195,1,0,0,0,42,203,1,0,0,0,44,216,1,0,0,0,46,48,3,2,1,0,47,46,1,0,0,0,
48,51,1,0,0,0,49,47,1,0,0,0,49,50,1,0,0,0,50,52,1,0,0,0,51,49,1,0,0,0,
52,53,5,0,0,1,53,1,1,0,0,0,54,64,3,4,2,0,55,64,3,6,3,0,56,64,3,8,4,0,57,
64,3,10,5,0,58,64,3,12,6,0,59,64,3,14,7,0,60,64,3,16,8,0,61,64,3,18,9,
0,62,64,3,20,10,0,63,54,1,0,0,0,63,55,1,0,0,0,63,56,1,0,0,0,63,57,1,0,
0,0,63,58,1,0,0,0,63,59,1,0,0,0,63,60,1,0,0,0,63,61,1,0,0,0,63,62,1,0,
0,0,64,3,1,0,0,0,65,66,5,11,0,0,66,69,5,37,0,0,67,68,5,16,0,0,68,70,3,
24,12,0,69,67,1,0,0,0,69,70,1,0,0,0,70,71,1,0,0,0,71,72,5,28,0,0,72,5,
1,0,0,0,73,76,5,37,0,0,74,76,3,44,22,0,75,73,1,0,0,0,75,74,1,0,0,0,76,
77,1,0,0,0,77,78,5,16,0,0,78,79,3,24,12,0,79,80,5,28,0,0,80,7,1,0,0,0,
81,82,5,7,0,0,82,83,5,23,0,0,83,84,3,24,12,0,84,85,5,24,0,0,85,88,3,22,
11,0,86,87,5,8,0,0,87,89,3,22,11,0,88,86,1,0,0,0,88,89,1,0,0,0,89,9,1,
0,0,0,90,91,5,9,0,0,91,92,5,23,0,0,92,93,3,24,12,0,93,94,5,24,0,0,94,95,
3,22,11,0,95,11,1,0,0,0,96,97,5,10,0,0,97,100,5,23,0,0,98,101,3,4,2,0,
99,101,3,6,3,0,100,98,1,0,0,0,100,99,1,0,0,0,100,101,1,0,0,0,101,102,1,
0,0,0,102,104,5,28,0,0,103,105,3,24,12,0,104,103,1,0,0,0,104,105,1,0,0,
0,105,106,1,0,0,0,106,108,5,28,0,0,107,109,3,6,3,0,108,107,1,0,0,0,108,
109,1,0,0,0,109,110,1,0,0,0,110,111,5,24,0,0,111,112,3,22,11,0,112,13,
1,0,0,0,113,114,5,12,0,0,114,115,5,28,0,0,115,15,1,0,0,0,116,117,5,13,
0,0,117,118,5,28,0,0,118,17,1,0,0,0,119,120,3,24,12,0,120,121,5,28,0,0,
121,19,1,0,0,0,122,123,3,38,19,0,123,124,5,28,0,0,124,21,1,0,0,0,125,129,
5,25,0,0,126,128,3,2,1,0,127,126,1,0,0,0,128,131,1,0,0,0,129,127,1,0,0,
0,129,130,1,0,0,0,130,132,1,0,0,0,131,129,1,0,0,0,132,133,5,26,0,0,133,
23,1,0,0,0,134,135,3,26,13,0,135,25,1,0,0,0,136,139,3,28,14,0,137,138,
7,0,0,0,138,140,3,28,14,0,139,137,1,0,0,0,139,140,1,0,0,0,140,27,1,0,0,
0,141,146,3,30,15,0,142,143,7,1,0,0,143,145,3,30,15,0,144,142,1,0,0,0,
145,148,1,0,0,0,146,144,1,0,0,0,146,147,1,0,0,0,147,29,1,0,0,0,148,146,
1,0,0,0,149,154,3,32,16,0,150,151,7,2,0,0,151,153,3,32,16,0,152,150,1,
0,0,0,153,156,1,0,0,0,154,152,1,0,0,0,154,155,1,0,0,0,155,31,1,0,0,0,156,
154,1,0,0,0,157,160,3,34,17,0,158,159,5,22,0,0,159,161,3,32,16,0,160,158,
1,0,0,0,160,161,1,0,0,0,161,33,1,0,0,0,162,163,7,3,0,0,163,166,3,34,17,
0,164,166,3,36,18,0,165,162,1,0,0,0,165,164,1,0,0,0,166,35,1,0,0,0,167,
180,5,35,0,0,168,180,5,34,0,0,169,180,5,36,0,0,170,180,5,33,0,0,171,180,
3,38,19,0,172,180,3,44,22,0,173,180,5,37,0,0,174,175,5,23,0,0,175,176,
3,24,12,0,176,177,5,24,0,0,177,180,1,0,0,0,178,180,3,42,21,0,179,167,1,
0,0,0,179,168,1,0,0,0,179,169,1,0,0,0,179,170,1,0,0,0,179,171,1,0,0,0,
179,172,1,0,0,0,179,173,1,0,0,0,179,174,1,0,0,0,179,178,1,0,0,0,180,37,
1,0,0,0,181,182,3,40,20,0,182,191,5,23,0,0,183,188,3,24,12,0,184,185,5,
27,0,0,185,187,3,24,12,0,186,184,1,0,0,0,187,190,1,0,0,0,188,186,1,0,0,
0,188,189,1,0,0,0,189,192,1,0,0,0,190,188,1,0,0,0,191,183,1,0,0,0,191,
192,1,0,0,0,192,193,1,0,0,0,193,194,5,24,0,0,194,39,1,0,0,0,195,200,5,
37,0,0,196,197,5,29,0,0,197,199,5,37,0,0,198,196,1,0,0,0,199,202,1,0,0,
0,200,198,1,0,0,0,200,201,1,0,0,0,201,41,1,0,0,0,202,200,1,0,0,0,203,212,
5,30,0,0,204,209,3,24,12,0,205,206,5,27,0,0,206,208,3,24,12,0,207,205,
1,0,0,0,208,211,1,0,0,0,209,207,1,0,0,0,209,210,1,0,0,0,210,213,1,0,0,
0,211,209,1,0,0,0,212,204,1,0,0,0,212,213,1,0,0,0,213,214,1,0,0,0,214,
215,5,31,0,0,215,43,1,0,0,0,216,217,5,37,0,0,217,218,5,30,0,0,218,219,
3,24,12,0,219,220,5,31,0,0,220,45,1,0,0,0,20,49,63,69,75,88,100,104,108,
129,139,146,154,160,165,179,188,191,200,209,212
};
public static readonly ATN _ATN =
new ATNDeserializer().Deserialize(_serializedATN);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment