Summary Files Commits Branches @commit @diff @stats
path: root / Year 2 / Implementation of Programming Languages / Transpiler / src / LLVMVisitor / Register.cpp
diff options
context:
space:
mode:
Commit8f41c57ff12fa72693016b75fec63bb86ae6560f (patch)
Author
 Syndamia <kamen@syndamia.com>
2023-01-18 11:51:57 +0200
Committer
 Syndamia <kamen@syndamia.com>
2023-01-18 11:51:57 +0200
Filesb308172d90c6d70fe8268a960a7a8ded8466d75d /Year 2/Implementation of Programming Languages/Transpiler/src/LLVMVisitor/Register.cpp
uni-projects-8f41c57ff12fa72693016b75fec63bb86ae6560f.tar
uni-projects-8f41c57ff12fa72693016b75fec63bb86ae6560f.tar.gz
uni-projects-8f41c57ff12fa72693016b75fec63bb86ae6560f.zip
Parentefbc9d2a15ac6d21caf9cb87e7e913e35f48e391 (diff)
[IPL/T] Implemented initial structure with Integer data type
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);
+}