aboutsummaryrefslogtreecommitdiff
path: root/var.h
diff options
context:
space:
mode:
authorShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-29 18:38:35 +0900
committerShinichiro Hamaji <shinichiro.hamaji@gmail.com>2015-06-29 20:49:28 +0900
commite7992752dbfe23d0a88312b4279531c39512b9a6 (patch)
treeebbbff517aed82fe2b04d9cbb0903865fc997c44 /var.h
parent94d7a61c9edd45b6c6b0f19c60e64aeddfdc8e46 (diff)
downloadkati-e7992752dbfe23d0a88312b4279531c39512b9a6.tar.gz
[C++] Introduce Symbol
Diffstat (limited to 'var.h')
-rw-r--r--var.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/var.h b/var.h
index 85f3490..eac1f45 100644
--- a/var.h
+++ b/var.h
@@ -21,6 +21,7 @@
#include "ast.h"
#include "string_piece.h"
+#include "symtab.h"
#include "value.h"
using namespace std;
@@ -170,19 +171,19 @@ class RuleVar : public Var {
AssignOp op_;
};
-class Vars : public unordered_map<StringPiece, Var*> {
+class Vars : public unordered_map<Symbol, Var*> {
public:
~Vars();
- Var* Lookup(StringPiece name) const;
+ Var* Lookup(Symbol name) const;
- void Assign(StringPiece name, Var* v);
+ void Assign(Symbol name, Var* v);
};
class ScopedVar {
public:
// Does not take ownerships of arguments.
- ScopedVar(Vars* vars, StringPiece name, Var* var);
+ ScopedVar(Vars* vars, Symbol name, Var* var);
~ScopedVar();
private: