2022-10-22 06:00:10 +00:00
|
|
|
#include "global.h"
|
2022-10-25 03:26:31 +00:00
|
|
|
|
|
|
|
// base class
|
|
|
|
class ExprAST {
|
|
|
|
public:
|
|
|
|
virtual ~ExprAST() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
// class for double
|
|
|
|
class DoubleExprAST : public ExprAST {
|
|
|
|
double Val;
|
|
|
|
|
|
|
|
public:
|
|
|
|
DoubleExprAST(double Val) : Val(Val) {}
|
|
|
|
};
|
|
|
|
|
|
|
|
// class for integer
|
|
|
|
class IntegerExprAST : public ExprAST {
|
|
|
|
long Val;
|
|
|
|
|
|
|
|
public:
|
|
|
|
IntegerExprAST(long Val) : Val(Val) {}
|
|
|
|
};
|
|
|
|
|
|
|
|
// class for variable
|
|
|
|
class VariableExprAST : public ExprAST {
|
|
|
|
std::string Name;
|
|
|
|
|
|
|
|
public:
|
|
|
|
VariableExprAST(const std::string &Name) : Name(Name) {}
|
|
|
|
};
|