Files
bfc/lib/generated/bfParser.h

182 lines
6.0 KiB
C
Raw Normal View History

2020-09-29 23:16:42 +05:30
// Generated from /home/atreya/Documents/Projects/Miscellaneous/bfc/grammar/bf.g4 by ANTLR 4.8
#pragma once
#include "antlr4-runtime.h"
class bfParser : public antlr4::Parser {
public:
enum {
2020-09-30 00:50:00 +05:30
NEWLINE = 1, COMMENT = 2, WS = 3, LOOPSTART = 4, LOOPEND = 5, NUMBER = 6,
INPUT = 7, OUTPUT = 8, DEC = 9, INC = 10, LEFT = 11, RIGHT = 12
2020-09-29 23:16:42 +05:30
};
enum {
2020-09-30 00:50:00 +05:30
RuleProgram = 0, RuleStatements = 1, RuleLoopStmt = 2, RuleNumberedStatement = 3,
RuleStatement = 4, RuleInputStmt = 5, RuleOutputStmt = 6
2020-09-29 23:16:42 +05:30
};
bfParser(antlr4::TokenStream *input);
~bfParser();
virtual std::string getGrammarFileName() const override;
virtual const antlr4::atn::ATN& getATN() const override { return _atn; };
virtual const std::vector<std::string>& getTokenNames() const override { return _tokenNames; }; // deprecated: use vocabulary instead.
virtual const std::vector<std::string>& getRuleNames() const override;
virtual antlr4::dfa::Vocabulary& getVocabulary() const override;
class ProgramContext;
2020-09-29 23:30:58 +05:30
class StatementsContext;
2020-09-30 00:50:00 +05:30
class LoopStmtContext;
class NumberedStatementContext;
class StatementContext;
class InputStmtContext;
class OutputStmtContext;
2020-09-29 23:16:42 +05:30
class ProgramContext : public antlr4::ParserRuleContext {
public:
ProgramContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
2020-09-29 23:30:58 +05:30
antlr4::tree::TerminalNode *EOF();
std::vector<StatementsContext *> statements();
StatementsContext* statements(size_t i);
2020-09-29 23:16:42 +05:30
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
ProgramContext* program();
class StatementsContext : public antlr4::ParserRuleContext {
public:
StatementsContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
2020-09-29 23:30:58 +05:30
std::vector<StatementContext *> statement();
StatementContext* statement(size_t i);
2020-09-30 00:50:00 +05:30
std::vector<NumberedStatementContext *> numberedStatement();
NumberedStatementContext* numberedStatement(size_t i);
std::vector<LoopStmtContext *> loopStmt();
LoopStmtContext* loopStmt(size_t i);
2020-09-29 23:30:58 +05:30
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
StatementsContext* statements();
2020-09-30 00:50:00 +05:30
class LoopStmtContext : public antlr4::ParserRuleContext {
public:
LoopStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
antlr4::tree::TerminalNode *LOOPSTART();
StatementsContext *statements();
antlr4::tree::TerminalNode *LOOPEND();
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
LoopStmtContext* loopStmt();
class NumberedStatementContext : public antlr4::ParserRuleContext {
public:
NumberedStatementContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
StatementContext *statement();
antlr4::tree::TerminalNode *NUMBER();
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
NumberedStatementContext* numberedStatement();
2020-09-29 23:30:58 +05:30
class StatementContext : public antlr4::ParserRuleContext {
public:
StatementContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
2020-09-29 23:16:42 +05:30
antlr4::tree::TerminalNode *INC();
antlr4::tree::TerminalNode *DEC();
2020-09-30 00:50:00 +05:30
antlr4::tree::TerminalNode *LEFT();
antlr4::tree::TerminalNode *RIGHT();
InputStmtContext *inputStmt();
OutputStmtContext *outputStmt();
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
StatementContext* statement();
class InputStmtContext : public antlr4::ParserRuleContext {
public:
InputStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
2020-09-29 23:16:42 +05:30
antlr4::tree::TerminalNode *INPUT();
2020-09-30 00:50:00 +05:30
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
InputStmtContext* inputStmt();
class OutputStmtContext : public antlr4::ParserRuleContext {
public:
OutputStmtContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
2020-09-29 23:16:42 +05:30
antlr4::tree::TerminalNode *OUTPUT();
virtual void enterRule(antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;
};
2020-09-30 00:50:00 +05:30
OutputStmtContext* outputStmt();
2020-09-29 23:16:42 +05:30
private:
static std::vector<antlr4::dfa::DFA> _decisionToDFA;
static antlr4::atn::PredictionContextCache _sharedContextCache;
static std::vector<std::string> _ruleNames;
static std::vector<std::string> _tokenNames;
static std::vector<std::string> _literalNames;
static std::vector<std::string> _symbolicNames;
static antlr4::dfa::Vocabulary _vocabulary;
static antlr4::atn::ATN _atn;
static std::vector<uint16_t> _serializedATN;
struct Initializer {
Initializer();
};
static Initializer _init;
};