Lines Matching defs:ExprAST
115 /// ExprAST - Base class for all expression nodes.
116 class ExprAST {
118 virtual ~ExprAST() = default;
124 class NumberExprAST : public ExprAST {
134 class VariableExprAST : public ExprAST {
144 class BinaryExprAST : public ExprAST {
146 std::unique_ptr<ExprAST> LHS, RHS;
149 BinaryExprAST(char Op, std::unique_ptr<ExprAST> LHS,
150 std::unique_ptr<ExprAST> RHS)
157 class CallExprAST : public ExprAST {
159 std::vector<std::unique_ptr<ExprAST>> Args;
163 std::vector<std::unique_ptr<ExprAST>> Args)
187 std::unique_ptr<ExprAST> Body;
191 std::unique_ptr<ExprAST> Body)
226 std::unique_ptr<ExprAST> LogError(const char *Str) {
236 static std::unique_ptr<ExprAST> ParseExpression();
239 static std::unique_ptr<ExprAST> ParseNumberExpr() {
246 static std::unique_ptr<ExprAST> ParseParenExpr() {
261 static std::unique_ptr<ExprAST> ParseIdentifierExpr() {
271 std::vector<std::unique_ptr<ExprAST>> Args;
298 static std::unique_ptr<ExprAST> ParsePrimary() {
313 static std::unique_ptr<ExprAST> ParseBinOpRHS(int ExprPrec,
314 std::unique_ptr<ExprAST> LHS) {
351 static std::unique_ptr<ExprAST> ParseExpression() {