Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/talogo.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2008-12-22 20:01:24 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2008-12-22 20:01:24 (GMT)
commitf55fe02ea3bdf7b064bd5314c740495a95174a98 (patch)
treecb8c9a1d6fd1f1f0acf2ebbeb99631c7fcb4358d /talogo.py
parent5432fed0239df3c35b9ae659d85a05746a569c38 (diff)
UCB logo export
Image cache check
Diffstat (limited to 'talogo.py')
-rw-r--r--talogo.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/talogo.py b/talogo.py
index c3e6c14..77a772a 100644
--- a/talogo.py
+++ b/talogo.py
@@ -45,7 +45,6 @@ class logoerror(Exception):
def __str__(self):
return repr(self.value)
-
def run_blocks(lc, spr, blocks):
lc.stacks['stack1'] = None
lc.stacks['stack2'] = None
@@ -56,6 +55,16 @@ def run_blocks(lc, spr, blocks):
print code
setup_cmd(lc, code)
+# walk through the blocks, but don't execute them
+# used by save Logo code
+def walk_blocks(lc, spr, blocks):
+ lc.stacks['stack1'] = None
+ lc.stacks['stack2'] = None
+ for i in blocks:
+ if i.proto.name=='hat1': lc.stacks['stack1']= readline(lc,blocks_to_code(i))
+ if i.proto.name=='hat2': lc.stacks['stack2']= readline(lc,blocks_to_code(i))
+ return blocks_to_code(spr)
+
def blocks_to_code(spr):
if spr==None: return ['%nothing%']
code = []
@@ -311,6 +320,8 @@ def lcNew(tw):
defprim(lc,'define', 2, prim_define)
defprim(lc,'nop', 0, lambda lc: None)
+ defprim(lc,'nop1', 0, lambda lc: None)
+ defprim(lc,'nop2', 0, lambda lc: None)
defprim(lc,'start', 0, lambda: None)
lc.symtype = type(intern(lc, 'print'))