diff options
[IPL/T] Implemented initial structure with Integer data type
1 files changed, 12 insertions, 0 deletions
| -rw-r--r-- | Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp | 12 |
diff --git a/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp new file mode 100644 index 0000000..f68b80d --- /dev/null +++ b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/LLVMVisitor.cpp @@ -0,0 +1,12 @@ +#include "LLVMVisitor.h" + +LLVMVisitor::LLVMVisitor(const char* fileName) : outFile(std::ofstream(fileName)), reg() { + if (!outFile.is_open()) + throw std::runtime_error("Couldn't open file for writing!"); +} + +std::string LLVMVisitor::Visit(const Integer& vint) { + std::string valRegister = *(reg++); + outFile << valRegister + " = " + std::to_string(vint.get_value()) + "\n"; + return valRegister; +} |
