ready to merge docs
This commit is contained in:
@ -4,15 +4,6 @@
|
||||
#include "ast/ast.h"
|
||||
#include "visitor.h"
|
||||
|
||||
class SemanticError : public std::exception {
|
||||
std::string msg;
|
||||
int error_code;
|
||||
|
||||
public:
|
||||
SemanticError(const std::string &msg, int error_code) : msg(msg), error_code(error_code) {}
|
||||
const char *what() const noexcept override { return msg.c_str(); }
|
||||
int GetErrorCode() const { return error_code; }
|
||||
};
|
||||
std::shared_ptr<ASTNodeBase> BuildAST(Visitor *visitor, antlr4::tree::ParseTree *tree);
|
||||
void SemanticCheck(std::istream &fin, std::shared_ptr<ASTNodeBase> &ast);
|
||||
#endif
|
@ -1,9 +1,13 @@
|
||||
#ifndef VISITOR_H
|
||||
#define VISITOR_H
|
||||
|
||||
#include <stack>
|
||||
#include <vector>
|
||||
#include "MXParserVisitor.h"
|
||||
|
||||
#include "tools.h"
|
||||
class Visitor : public MXParserVisitor {
|
||||
std::vector<ASTNodeType> nodetype_stk;
|
||||
|
||||
public:
|
||||
std::any visitMxprog(MXParser::MxprogContext *context) override;
|
||||
std::any visitFunction_def(MXParser::Function_defContext *context) override;
|
||||
|
Reference in New Issue
Block a user