From 8f41c57ff12fa72693016b75fec63bb86ae6560f Mon Sep 17 00:00:00 2001 From: Syndamia Date: Wed, 18 Jan 2023 11:51:57 +0200 Subject: [IPL/T] Implemented initial structure with Integer data type --- .../Transpiler/src/LLVMVisitor/Register.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp (limited to 'Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp') diff --git a/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp new file mode 100644 index 0000000..b2311d9 --- /dev/null +++ b/Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp @@ -0,0 +1,18 @@ +#include "Register.h" + +Register::Register() : counter(0) {} + +Register& Register::operator++() { + ++counter; + return *this; +} + +Register Register::operator++(int) { + Register old = *this; + ++(*this); + return old; +} + +std::string Register::operator*() { + return "%" + std::to_string(counter); +} -- cgit v1.3.1-23-gd82d