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-29 23:30:58 +05:30
|
|
|
NEWLINE = 1, COMMENT = 2, INPUT = 3, OUTPUT = 4, DEC = 5, INC = 6, LEFT = 7,
|
|
|
|
RIGHT = 8
|
2020-09-29 23:16:42 +05:30
|
|
|
};
|
|
|
|
|
|
|
|
enum {
|
2020-09-29 23:30:58 +05:30
|
|
|
RuleProgram = 0, RuleStatements = 1, RuleStatement = 2
|
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;
|
|
|
|
class StatementContext;
|
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);
|
|
|
|
|
|
|
|
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();
|
|
|
|
|
|
|
|
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();
|
|
|
|
antlr4::tree::TerminalNode *INPUT();
|
|
|
|
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-29 23:30:58 +05:30
|
|
|
StatementContext* statement();
|
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;
|
|
|
|
};
|
|
|
|
|