diff options
author | Ian Johnson <ian.johnson@appliedlanguage.com> | 2013-10-23 20:29:39 +0400 |
---|---|---|
committer | Ian Johnson <ian.johnson@appliedlanguage.com> | 2013-10-23 20:29:39 +0400 |
commit | 7c3aed5bc44f8594d52d319e4d9b6ead0eac08cb (patch) | |
tree | cdc6994f8fbe91dae0a5f552e1c7bf912e8d323a | |
parent | f0a5b97945e90760b5e5e701ac24721c010717bf (diff) |
Return mappings now being preserved in the AST.
-rw-r--r-- | src/pclc/parser/pcl_parser.py | 2 | ||||
-rw-r--r-- | src/pclc/visitors/do_executor_visitor.py | 4 |
2 files changed, 2 insertions, 4 deletions
diff --git a/src/pclc/parser/pcl_parser.py b/src/pclc/parser/pcl_parser.py index 08f8428..9eae21a 100644 --- a/src/pclc/parser/pcl_parser.py +++ b/src/pclc/parser/pcl_parser.py @@ -416,7 +416,7 @@ def p_function_arg(p): def p_return_mappings(p): '''return_mappings : return_mapping_list | '(' ')' ''' - if len(p) > 1: + if len(p) > 2: p[0] = list() else: p[0] = p[1] diff --git a/src/pclc/visitors/do_executor_visitor.py b/src/pclc/visitors/do_executor_visitor.py index e396dd3..e312095 100644 --- a/src/pclc/visitors/do_executor_visitor.py +++ b/src/pclc/visitors/do_executor_visitor.py @@ -68,8 +68,6 @@ class IntermediateRepresentation(object): if self.is_then_block is True: self.then_block.append(node) elif self.is_then_block is False: - print "IRIfNode.add_child: ", - print str(node.object.function.name) if isinstance(node.object, Command) else type(node.object) self.else_block.append(node) def switch_to_else_block(self): @@ -180,7 +178,7 @@ class IntermediateRepresentation(object): code.append(("%s(a, s)" % self.__lookup_function_name(if_command), "")) elif isinstance(node, IntermediateRepresentation.IRReturnNode): return_command = node.object - if not return_command.mappings: + if len(return_command.mappings) == 0: code.append(("return None", "")) return code |