Lines Matching refs:ExprAST

89 class ExprAST;
97 void emitLocation(ExprAST *AST);
201 class ExprAST { class
205 ExprAST(SourceLocation Loc = CurLoc) : Loc(Loc) {} in ExprAST() function in __anon30d18c350211::ExprAST
206 virtual ~ExprAST() {} in ~ExprAST()
216 class NumberExprAST : public ExprAST {
222 return ExprAST::dump(out << Val, ind); in dump()
228 class VariableExprAST : public ExprAST {
233 : ExprAST(Loc), Name(Name) {} in VariableExprAST()
237 return ExprAST::dump(out << Name, ind); in dump()
242 class UnaryExprAST : public ExprAST {
244 std::unique_ptr<ExprAST> Operand;
247 UnaryExprAST(char Opcode, std::unique_ptr<ExprAST> Operand) in UnaryExprAST()
251 ExprAST::dump(out << "unary" << Opcode, ind); in dump()
258 class BinaryExprAST : public ExprAST {
260 std::unique_ptr<ExprAST> LHS, RHS;
263 BinaryExprAST(SourceLocation Loc, char Op, std::unique_ptr<ExprAST> LHS, in BinaryExprAST()
264 std::unique_ptr<ExprAST> RHS) in BinaryExprAST()
265 : ExprAST(Loc), Op(Op), LHS(std::move(LHS)), RHS(std::move(RHS)) {} in BinaryExprAST()
268 ExprAST::dump(out << "binary" << Op, ind); in dump()
276 class CallExprAST : public ExprAST {
278 std::vector<std::unique_ptr<ExprAST>> Args;
282 std::vector<std::unique_ptr<ExprAST>> Args) in CallExprAST()
283 : ExprAST(Loc), Callee(Callee), Args(std::move(Args)) {} in CallExprAST()
286 ExprAST::dump(out << "call " << Callee, ind); in dump()
294 class IfExprAST : public ExprAST {
295 std::unique_ptr<ExprAST> Cond, Then, Else;
298 IfExprAST(SourceLocation Loc, std::unique_ptr<ExprAST> Cond, in IfExprAST()
299 std::unique_ptr<ExprAST> Then, std::unique_ptr<ExprAST> Else) in IfExprAST()
300 : ExprAST(Loc), Cond(std::move(Cond)), Then(std::move(Then)), in IfExprAST()
304 ExprAST::dump(out << "if", ind); in dump()
313 class ForExprAST : public ExprAST {
315 std::unique_ptr<ExprAST> Start, End, Step, Body;
318 ForExprAST(const std::string &VarName, std::unique_ptr<ExprAST> Start, in ForExprAST()
319 std::unique_ptr<ExprAST> End, std::unique_ptr<ExprAST> Step, in ForExprAST()
320 std::unique_ptr<ExprAST> Body) in ForExprAST()
325 ExprAST::dump(out << "for", ind); in dump()
335 class VarExprAST : public ExprAST {
336 std::vector<std::pair<std::string, std::unique_ptr<ExprAST>>> VarNames;
337 std::unique_ptr<ExprAST> Body;
341 std::vector<std::pair<std::string, std::unique_ptr<ExprAST>>> VarNames, in VarExprAST()
342 std::unique_ptr<ExprAST> Body) in VarExprAST()
346 ExprAST::dump(out << "var", ind); in dump()
388 std::unique_ptr<ExprAST> Body;
392 std::unique_ptr<ExprAST> Body) in FunctionAST()
431 std::unique_ptr<ExprAST> LogError(const char *Str) { in LogError()
441 static std::unique_ptr<ExprAST> ParseExpression();
444 static std::unique_ptr<ExprAST> ParseNumberExpr() { in ParseNumberExpr()
451 static std::unique_ptr<ExprAST> ParseParenExpr() { in ParseParenExpr()
466 static std::unique_ptr<ExprAST> ParseIdentifierExpr() { in ParseIdentifierExpr()
478 std::vector<std::unique_ptr<ExprAST>> Args; in ParseIdentifierExpr()
502 static std::unique_ptr<ExprAST> ParseIfExpr() { in ParseIfExpr()
534 static std::unique_ptr<ExprAST> ParseForExpr() { in ParseForExpr()
559 std::unique_ptr<ExprAST> Step; in ParseForExpr()
581 static std::unique_ptr<ExprAST> ParseVarExpr() { in ParseVarExpr()
584 std::vector<std::pair<std::string, std::unique_ptr<ExprAST>>> VarNames; in ParseVarExpr()
595 std::unique_ptr<ExprAST> Init = nullptr; in ParseVarExpr()
634 static std::unique_ptr<ExprAST> ParsePrimary() { in ParsePrimary()
656 static std::unique_ptr<ExprAST> ParseUnary() { in ParseUnary()
671 static std::unique_ptr<ExprAST> ParseBinOpRHS(int ExprPrec, in ParseBinOpRHS()
672 std::unique_ptr<ExprAST> LHS) { in ParseBinOpRHS()
710 static std::unique_ptr<ExprAST> ParseExpression() { in ParseExpression()
843 void DebugInfo::emitLocation(ExprAST *AST) { in emitLocation()
1171 ExprAST *Init = VarNames[i].second.get(); in codegen()