diff options
Diffstat (limited to 'include/cps/CharHandler.h')
| -rw-r--r-- | include/cps/CharHandler.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/cps/CharHandler.h b/include/cps/CharHandler.h new file mode 100644 index 0000000..03c86e7 --- /dev/null +++ b/include/cps/CharHandler.h @@ -0,0 +1,23 @@ +#pragma once +#include "llvm/IR/IRBuilder.h" +#include "llvm/IR/LLVMContext.h" +#include "llvm/IR/Module.h" + +namespace cps { + +class CharHandler { + llvm::LLVMContext &Context; + llvm::IRBuilder<> &Builder; + llvm::Module &Module; + +public: + CharHandler(llvm::LLVMContext &Ctx, llvm::IRBuilder<> &B, llvm::Module &M); + + // ASC(ThisChar: CHAR) RETURNS INTEGER + llvm::Value *emitAsc(llvm::Value *CharVal); + + // CHR(x: INTEGER) RETURNS CHAR + llvm::Value *emitChr(llvm::Value *IntVal); +}; + +} // namespace cps |
