|
@@ -330,16 +330,14 @@ class SemanticsVisitor(Visitor):
|
|
self.visit_vardecl(tree)
|
|
self.visit_vardecl(tree)
|
|
|
|
|
|
def visit_vardecl(self, tree):
|
|
def visit_vardecl(self, tree):
|
|
- var_global = len(tree.get_tail()) == 3
|
|
|
|
-
|
|
|
|
- type_spec = tree.get_tail()[var_global+0]
|
|
|
|
- var_id = tree.get_tail()[var_global+1]
|
|
|
|
|
|
+ type_spec = tree.get_child("type_specifier")
|
|
|
|
+ var_id = tree.get_child("ID")
|
|
|
|
|
|
var_type = types_mv.string_to_type(type_spec.get_text())
|
|
var_type = types_mv.string_to_type(type_spec.get_text())
|
|
var_name = var_id.get_text()
|
|
var_name = var_id.get_text()
|
|
|
|
|
|
symbol = st.Symbol(var_name, var_type,
|
|
symbol = st.Symbol(var_name, var_type,
|
|
- is_global=var_global or self.current_funcdecl is None)
|
|
|
|
|
|
+ is_global=self.current_funcdecl is None)
|
|
|
|
|
|
try:
|
|
try:
|
|
self.symbol_table.add(symbol)
|
|
self.symbol_table.add(symbol)
|