Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/taprimitive.py
diff options
context:
space:
mode:
Diffstat (limited to 'TurtleArt/taprimitive.py')
-rw-r--r--TurtleArt/taprimitive.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/TurtleArt/taprimitive.py b/TurtleArt/taprimitive.py
index 1fbeac9..6f83294 100644
--- a/TurtleArt/taprimitive.py
+++ b/TurtleArt/taprimitive.py
@@ -365,6 +365,15 @@ class Primitive(object):
id_str = 'BOX[%s]' % (repr(ast_to_value(new_arg_asts[0])))
return ast.Name(id=id_str, ctx=ast.Load)
+ # action stacks
+ elif self == LogoCode.prim_define_stack:
+ return
+ elif self == LogoCode.prim_invoke_stack:
+ stack_name = ast_to_value(new_arg_asts[0])
+ stack_func_name = 'ACTION[%s]' % (repr(stack_name))
+ stack_func = ast.Name(id=stack_func_name, ctx=ast.Load)
+ return get_call_ast('logo.icall', [stack_func])
+
# standard operators
elif self.func.__name__ in Primitive.STANDARD_OPERATORS:
op = Primitive.STANDARD_OPERATORS[self.func.__name__]