Lines Matching refs:ExprAST
79 /// ExprAST - Base class for all expression nodes.
80 class ExprAST {
82 virtual ~ExprAST() {}
86 class NumberExprAST : public ExprAST {
92 class VariableExprAST : public ExprAST {
99 class BinaryExprAST : public ExprAST {
101 BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs) {}
105 class CallExprAST : public ExprAST {
107 std::vector<ExprAST*> Args;
109 CallExprAST(const std::string &callee, std::vector<ExprAST*> &args)
128 FunctionAST(PrototypeAST *proto, ExprAST *body) {}
160 ExprAST *Error(const char *Str) { fprintf(stderr, "Error: %s\n", Str);return 0;}
163 static ExprAST *ParseExpression();
168 static ExprAST *ParseIdentifierExpr() {
178 std::vector<ExprAST*> Args;
181 ExprAST *Arg = ParseExpression();
200 static ExprAST *ParseNumberExpr() {
201 ExprAST *Result = new NumberExprAST(NumVal);
207 static ExprAST *ParseParenExpr() {
209 ExprAST *V = ParseExpression();
222 static ExprAST *ParsePrimary() {
233 static ExprAST *ParseBinOpRHS(int ExprPrec, ExprAST *LHS) {
248 ExprAST *RHS = ParsePrimary();
267 static ExprAST *ParseExpression() {
268 ExprAST *LHS = ParsePrimary();
304 if (ExprAST *E = ParseExpression())
311 if (ExprAST *E = ParseExpression()) {