|
@@ -104,22 +104,6 @@ class PrimitivesVisitor(Visitor):
|
|
|
self.dict(primitives[i], "next", primitives[i+1])
|
|
|
self.last_instruction = primitives[-1]
|
|
|
|
|
|
- def visit_vardecl(self, tree):
|
|
|
- symbol = self.get_symbol(tree)
|
|
|
-
|
|
|
- if symbol.is_global:
|
|
|
- d = self.value(Action("global"))
|
|
|
- n = self.value(symbol.name)
|
|
|
- else:
|
|
|
- d = self.value(Action("declare"))
|
|
|
- n = self.node()
|
|
|
-
|
|
|
- symbol.node = n
|
|
|
- self.dict(d, "var", n)
|
|
|
- self.debug(d, tree)
|
|
|
-
|
|
|
- self.set_primitive(tree, d)
|
|
|
-
|
|
|
def visit_assignment(self, tree):
|
|
|
self.visit_children(tree)
|
|
|
|
|
@@ -427,11 +411,32 @@ class PrimitivesVisitor(Visitor):
|
|
|
|
|
|
self.set_primitive(tree, (declare, assign))
|
|
|
|
|
|
+ def visit_vardecl(self, tree):
|
|
|
+ symbol = self.get_symbol(tree)
|
|
|
+
|
|
|
+ if symbol.is_global:
|
|
|
+ d = self.value(Action("global"))
|
|
|
+ n = self.value(symbol.name)
|
|
|
+ else:
|
|
|
+ d = self.value(Action("declare"))
|
|
|
+ n = self.node()
|
|
|
+
|
|
|
+ symbol.node = n
|
|
|
+ self.dict(d, "var", n)
|
|
|
+ self.debug(d, tree)
|
|
|
+
|
|
|
+ self.set_primitive(tree, d)
|
|
|
+
|
|
|
def visit_definition(self, tree):
|
|
|
symbol = self.get_symbol(tree)
|
|
|
- root = self.value(symbol.name)
|
|
|
|
|
|
- declare = self.value(Action("global"))
|
|
|
+ if symbol.is_global:
|
|
|
+ declare = self.value(Action("global"))
|
|
|
+ root = self.value(symbol.name)
|
|
|
+ else:
|
|
|
+ declare = self.value(Action("declare"))
|
|
|
+ root = self.node()
|
|
|
+
|
|
|
self.dict(declare, "var", root)
|
|
|
self.debug(declare, tree)
|
|
|
|