summaryrefslogtreecommitdiff
path: root/tiger-compiler/src/ast/subscript-var.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tiger-compiler/src/ast/subscript-var.cc')
-rw-r--r--tiger-compiler/src/ast/subscript-var.cc26
1 files changed, 26 insertions, 0 deletions
diff --git a/tiger-compiler/src/ast/subscript-var.cc b/tiger-compiler/src/ast/subscript-var.cc
new file mode 100644
index 0000000..8c2ab4e
--- /dev/null
+++ b/tiger-compiler/src/ast/subscript-var.cc
@@ -0,0 +1,26 @@
+/**
+ ** \file ast/subscript-var.cc
+ ** \brief Implementation of ast::SubscriptVar.
+ */
+
+#include <ast/subscript-var.hh>
+#include <ast/visitor.hh>
+
+namespace ast
+{
+ SubscriptVar::SubscriptVar(const Location& location, Var* var, Exp* index)
+ : Var(location)
+ , var_(var)
+ , index_(index)
+ {}
+
+ SubscriptVar::~SubscriptVar()
+ {
+ delete var_;
+ delete index_;
+ }
+
+ void SubscriptVar::accept(ConstVisitor& v) const { v(*this); }
+
+ void SubscriptVar::accept(Visitor& v) { v(*this); }
+} // namespace ast