tipc
A TIP to LLVM compiler
ASTNumberExpr.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "ASTExpr.h"
4 
7 class ASTNumberExpr : public ASTExpr {
8  int VAL;
9 
10 public:
11  ASTNumberExpr(int VAL) : VAL(VAL) {}
12  int getValue() const { return VAL; }
13  void accept(ASTVisitor *visitor) override;
14  llvm::Value *codegen() override;
15 
16 protected:
17  std::ostream &print(std::ostream &out) const override;
18 };
Abstract class for all expression subtypes.
Definition: ASTExpr.h:7
Class for numeric literals.
Definition: ASTNumberExpr.h:7
std::ostream & print(std::ostream &out) const override
Definition: ASTNumberExpr.cpp:11
ASTNumberExpr(int VAL)
Definition: ASTNumberExpr.h:11
llvm::Value * codegen() override
Perform code generation and return an LLVM value the code.
Definition: CodeGenFunctions.cpp:419
void accept(ASTVisitor *visitor) override
Visit the children of this node and apply the visitor.
Definition: ASTNumberExpr.cpp:6
int getValue() const
Definition: ASTNumberExpr.h:12
Base class for AST visitors.
Definition: ASTVisitor.h:23