//------------------------------------------------------------------------------
//
// 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.
//
//------------------------------------------------------------------------------
// Generated from /Users/melodidey/Source/csharp/Q1/Compiler/CGrammar.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 CGrammarParser : 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, T__6=7, T__7=8, T__8=9,
T__9=10, T__10=11, T__11=12, T__12=13, T__13=14, T__14=15, T__15=16, T__16=17,
T__17=18, T__18=19, T__19=20, T__20=21, T__21=22, T__22=23, T__23=24,
T__24=25, T__25=26, T__26=27, T__27=28, T__28=29, T__29=30, T__30=31,
T__31=32, T__32=33, T__33=34, T__34=35, T__35=36, T__36=37, T__37=38,
T__38=39, T__39=40, T__40=41, T__41=42, T__42=43, T__43=44, T__44=45,
ID=46, INT=47, WS=48, COMMENT=49;
public const int
RULE_program = 0, RULE_function = 1, RULE_block = 2, RULE_block_item = 3,
RULE_statement = 4, RULE_declaration = 5, RULE_expression = 6, RULE_constant = 7,
RULE_target = 8;
public static readonly string[] ruleNames = {
"program", "function", "block", "block_item", "statement", "declaration",
"expression", "constant", "target"
};
private static readonly string[] _LiteralNames = {
null, "'int'", "'('", "')'", "'{'", "'}'", "'return'", "';'", "'if'",
"'else'", "'='", "'!'", "'~'", "'++'", "'--'", "'*'", "'/'", "'%'", "'+'",
"'-'", "'<'", "'>'", "'<='", "'>='", "'=='", "'!='", "'&'", "'|'", "'^'",
"'<<'", "'>>'", "'&&'", "'||'", "'*='", "'/='", "'%='", "'+='", "'-='",
"'&='", "'|='", "'^='", "'<<='", "'>>='", "','", "'?'", "':'"
};
private static readonly string[] _SymbolicNames = {
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null, "ID", "INT",
"WS", "COMMENT"
};
public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames);
[NotNull]
public override IVocabulary Vocabulary
{
get
{
return DefaultVocabulary;
}
}
public override string GrammarFileName { get { return "CGrammar.g4"; } }
public override string[] RuleNames { get { return ruleNames; } }
public override int[] SerializedAtn { get { return _serializedATN; } }
static CGrammarParser() {
decisionToDFA = new DFA[_ATN.NumberOfDecisions];
for (int i = 0; i < _ATN.NumberOfDecisions; i++) {
decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i);
}
}
public CGrammarParser(ITokenStream input) : this(input, Console.Out, Console.Error) { }
public CGrammarParser(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 FunctionContext function() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(CGrammarParser.Eof, 0); }
public ProgramContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_program; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
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);
try {
EnterOuterAlt(_localctx, 1);
{
State = 18;
function();
State = 19;
Match(Eof);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class FunctionContext : ParserRuleContext {
public IToken name;
[System.Diagnostics.DebuggerNonUserCode] public BlockContext block() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(CGrammarParser.ID, 0); }
public FunctionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_function; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitFunction(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public FunctionContext function() {
FunctionContext _localctx = new FunctionContext(Context, State);
EnterRule(_localctx, 2, RULE_function);
try {
EnterOuterAlt(_localctx, 1);
{
State = 21;
Match(T__0);
State = 22;
_localctx.name = Match(ID);
State = 23;
Match(T__1);
State = 24;
Match(T__2);
State = 25;
block();
}
}
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 Block_itemContext[] block_item() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public Block_itemContext block_item(int i) {
return GetRuleContext(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(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
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, 4, RULE_block);
int _la;
try {
EnterOuterAlt(_localctx, 1);
{
State = 27;
Match(T__3);
State = 31;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 211106232564054L) != 0)) {
{
{
State = 28;
block_item();
}
}
State = 33;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
}
State = 34;
Match(T__4);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class Block_itemContext : ParserRuleContext {
[System.Diagnostics.DebuggerNonUserCode] public StatementContext statement() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public DeclarationContext declaration() {
return GetRuleContext(0);
}
public Block_itemContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_block_item; } }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBlock_item(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public Block_itemContext block_item() {
Block_itemContext _localctx = new Block_itemContext(Context, State);
EnterRule(_localctx, 6, RULE_block_item);
try {
State = 38;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case T__1:
case T__3:
case T__5:
case T__7:
case T__10:
case T__11:
case T__12:
case T__13:
case ID:
case INT:
EnterOuterAlt(_localctx, 1);
{
State = 36;
statement();
}
break;
case T__0:
EnterOuterAlt(_localctx, 2);
{
State = 37;
declaration();
}
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 StatementContext : ParserRuleContext {
public StatementContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_statement; } }
public StatementContext() { }
public virtual void CopyFrom(StatementContext context) {
base.CopyFrom(context);
}
}
public partial class BlockStatementContext : StatementContext {
[System.Diagnostics.DebuggerNonUserCode] public BlockContext block() {
return GetRuleContext(0);
}
public BlockStatementContext(StatementContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBlockStatement(this);
else return visitor.VisitChildren(this);
}
}
public partial class ExpressionStatementContext : StatementContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public ExpressionStatementContext(StatementContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitExpressionStatement(this);
else return visitor.VisitChildren(this);
}
}
public partial class ReturnStatementContext : StatementContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public ReturnStatementContext(StatementContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitReturnStatement(this);
else return visitor.VisitChildren(this);
}
}
public partial class IfStatementContext : StatementContext {
public StatementContext then;
public StatementContext @else;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public StatementContext[] statement() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public StatementContext statement(int i) {
return GetRuleContext(i);
}
public IfStatementContext(StatementContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitIfStatement(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public StatementContext statement() {
StatementContext _localctx = new StatementContext(Context, State);
EnterRule(_localctx, 8, RULE_statement);
try {
State = 55;
ErrorHandler.Sync(this);
switch (TokenStream.LA(1)) {
case T__5:
_localctx = new ReturnStatementContext(_localctx);
EnterOuterAlt(_localctx, 1);
{
State = 40;
Match(T__5);
State = 41;
expression(0);
State = 42;
Match(T__6);
}
break;
case T__7:
_localctx = new IfStatementContext(_localctx);
EnterOuterAlt(_localctx, 2);
{
State = 44;
Match(T__7);
State = 45;
Match(T__1);
State = 46;
expression(0);
State = 47;
Match(T__2);
State = 48;
((IfStatementContext)_localctx).then = statement();
State = 51;
ErrorHandler.Sync(this);
switch ( Interpreter.AdaptivePredict(TokenStream,2,Context) ) {
case 1:
{
State = 49;
Match(T__8);
State = 50;
((IfStatementContext)_localctx).@else = statement();
}
break;
}
}
break;
case T__1:
case T__10:
case T__11:
case T__12:
case T__13:
case ID:
case INT:
_localctx = new ExpressionStatementContext(_localctx);
EnterOuterAlt(_localctx, 3);
{
State = 53;
expression(0);
}
break;
case T__3:
_localctx = new BlockStatementContext(_localctx);
EnterOuterAlt(_localctx, 4);
{
State = 54;
block();
}
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 DeclarationContext : ParserRuleContext {
public DeclarationContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_declaration; } }
public DeclarationContext() { }
public virtual void CopyFrom(DeclarationContext context) {
base.CopyFrom(context);
}
}
public partial class VariableDeclarationContext : DeclarationContext {
public IToken name;
public ExpressionContext value;
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(CGrammarParser.ID, 0); }
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public VariableDeclarationContext(DeclarationContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitVariableDeclaration(this);
else return visitor.VisitChildren(this);
}
}
[RuleVersion(0)]
public DeclarationContext declaration() {
DeclarationContext _localctx = new DeclarationContext(Context, State);
EnterRule(_localctx, 10, RULE_declaration);
int _la;
try {
_localctx = new VariableDeclarationContext(_localctx);
EnterOuterAlt(_localctx, 1);
{
State = 57;
Match(T__0);
State = 58;
((VariableDeclarationContext)_localctx).name = Match(ID);
State = 61;
ErrorHandler.Sync(this);
_la = TokenStream.LA(1);
if (_la==T__9) {
{
State = 59;
Match(T__9);
State = 60;
((VariableDeclarationContext)_localctx).value = expression(0);
}
}
State = 63;
Match(T__6);
}
}
catch (RecognitionException re) {
_localctx.exception = re;
ErrorHandler.ReportError(this, re);
ErrorHandler.Recover(this, re);
}
finally {
ExitRule();
}
return _localctx;
}
public partial class ExpressionContext : ParserRuleContext {
public ExpressionContext(ParserRuleContext parent, int invokingState)
: base(parent, invokingState)
{
}
public override int RuleIndex { get { return RULE_expression; } }
public ExpressionContext() { }
public virtual void CopyFrom(ExpressionContext context) {
base.CopyFrom(context);
}
}
public partial class CompoundSubtractExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundSubtractExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundSubtractExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class ModulusExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public ModulusExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitModulusExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class NotExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public NotExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitNotExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class DecrementPrefixExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
public DecrementPrefixExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitDecrementPrefixExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class MultiplyExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public MultiplyExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitMultiplyExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class GreaterThanExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public GreaterThanExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitGreaterThanExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class BitwiseLeftShiftExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public BitwiseLeftShiftExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBitwiseLeftShiftExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class BitwiseRightShiftExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public BitwiseRightShiftExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBitwiseRightShiftExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class VariableExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ID() { return GetToken(CGrammarParser.ID, 0); }
public VariableExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitVariableExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundDivideExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundDivideExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundDivideExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class ParenthesizedExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public ParenthesizedExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitParenthesizedExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundAddExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundAddExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundAddExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundMultiplyExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundMultiplyExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundMultiplyExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundBitwiseXorExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundBitwiseXorExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundBitwiseXorExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class BitwiseAndExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public BitwiseAndExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBitwiseAndExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class LessThanExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public LessThanExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitLessThanExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class LogicalAndExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public LogicalAndExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitLogicalAndExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class InvertExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public InvertExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitInvertExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class EqualExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public EqualExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitEqualExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class BitwiseXorExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public BitwiseXorExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBitwiseXorExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class ConstantExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public ConstantContext constant() {
return GetRuleContext(0);
}
public ConstantExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitConstantExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundModulusExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundModulusExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundModulusExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class LessThanOrEqualExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public LessThanOrEqualExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitLessThanOrEqualExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class IncrementPostfixExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
public IncrementPostfixExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitIncrementPostfixExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundBitwiseRightShiftExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundBitwiseRightShiftExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundBitwiseRightShiftExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class AssignmentExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public AssignmentExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitAssignmentExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class NotEqualExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public NotEqualExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitNotEqualExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CompoundBitwiseAndExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression() {
return GetRuleContext(0);
}
public CompoundBitwiseAndExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCompoundBitwiseAndExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class LogicalOrExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public LogicalOrExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitLogicalOrExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class CommaExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public CommaExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitCommaExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class IncrementPrefixExpressionContext : ExpressionContext {
[System.Diagnostics.DebuggerNonUserCode] public TargetContext target() {
return GetRuleContext(0);
}
public IncrementPrefixExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitIncrementPrefixExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class GreaterThanOrEqualExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public GreaterThanOrEqualExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitGreaterThanOrEqualExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class DivideExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public DivideExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitDivideExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class BitwiseOrExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public BitwiseOrExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitBitwiseOrExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class AddExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public AddExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor typedVisitor = visitor as ICGrammarVisitor;
if (typedVisitor != null) return typedVisitor.VisitAddExpression(this);
else return visitor.VisitChildren(this);
}
}
public partial class SubtractExpressionContext : ExpressionContext {
public ExpressionContext left;
public ExpressionContext right;
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext[] expression() {
return GetRuleContexts();
}
[System.Diagnostics.DebuggerNonUserCode] public ExpressionContext expression(int i) {
return GetRuleContext(i);
}
public SubtractExpressionContext(ExpressionContext context) { CopyFrom(context); }
[System.Diagnostics.DebuggerNonUserCode]
public override TResult Accept(IParseTreeVisitor visitor) {
ICGrammarVisitor