Home | History | Annotate | Download | only in Chapter3

Lines Matching refs:ExprAST

84 /// ExprAST - Base class for all expression nodes.
85 class ExprAST {
87 virtual ~ExprAST() {}
92 class NumberExprAST : public ExprAST {
100 class VariableExprAST : public ExprAST {
108 class BinaryExprAST : public ExprAST {
110 ExprAST *LHS, *RHS;
112 BinaryExprAST(char op, ExprAST *lhs, ExprAST *rhs)
118 class CallExprAST : public ExprAST {
120 std::vector<ExprAST*> Args;
122 CallExprAST(const std::string &callee, std::vector<ExprAST*> &args)
143 ExprAST *Body;
145 FunctionAST(PrototypeAST *proto, ExprAST *body)
180 ExprAST *Error(const char *Str) { fprintf(stderr, "Error: %s\n", Str);return 0;}
184 static ExprAST *ParseExpression();
189 static ExprAST *ParseIdentifierExpr() {
199 std::vector<ExprAST*> Args;
202 ExprAST *Arg = ParseExpression();
221 static ExprAST *ParseNumberExpr() {
222 ExprAST *Result = new NumberExprAST(NumVal);
228 static ExprAST *ParseParenExpr() {
230 ExprAST *V = ParseExpression();
243 static ExprAST *ParsePrimary() {
254 static ExprAST *ParseBinOpRHS(int ExprPrec, ExprAST *LHS) {
269 ExprAST *RHS = ParsePrimary();
288 static ExprAST *ParseExpression() {
289 ExprAST *LHS = ParsePrimary();
325 if (ExprAST *E = ParseExpression())
332 if (ExprAST *E = ParseExpression()) {