Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorC. Scott Ananian <cscott@laptop.org>2008-09-10 20:36:24 (GMT)
committer C. Scott Ananian <cscott@laptop.org>2008-09-10 20:36:24 (GMT)
commit8258b916e26b5fe20eac31b5307c535840dbe546 (patch)
treedab36726ff64406a9a1955295801f77df2d3bbf1
parentd3b4d340542275c3197b34e3f2097158431f14ce (diff)
Add five new samples: various fractals, drawn with simple recursion.
-rw-r--r--[-rwxr-xr-x]MANIFEST100
-rw-r--r--samples/sierpquad.pngbin0 -> 17184 bytes
-rw-r--r--samples/sierpquad.ta487
-rw-r--r--samples/sierpquad2.pngbin0 -> 24101 bytes
-rw-r--r--samples/sierpquad2.ta695
-rw-r--r--samples/sierptri.pngbin0 -> 21543 bytes
-rw-r--r--samples/sierptri.ta416
-rw-r--r--samples/snowflake.pngbin0 -> 19751 bytes
-rw-r--r--samples/snowflake.ta461
-rw-r--r--samples/tree.pngbin0 -> 24187 bytes
-rw-r--r--samples/tree.ta656
11 files changed, 2775 insertions, 40 deletions
diff --git a/MANIFEST b/MANIFEST
index 0fce210..0f87636 100755..100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -1,39 +1,32 @@
-setup.py
-talogo.py
-taproject.py
-tasprites.py
-tasetup.py
-taturtle.py
-tawindow.py
+NEWS
TurtleArtActivity.py
+activity/activity-turtleart.svg
+activity/activity.info
icons/stock-open.svg
-locale/en/activity.linfo
-locale/es/activity.linfo
-locale/fr/activity.linfo
-images/en/masknumber.gif
-images/en/status.gif
-images/en/nostack.gif
-images/en/noinput.gif
images/en/flow/flowgroup.gif
images/en/flow/flowmask.gif
images/en/flow/forever.gif
images/en/flow/hspace.gif
-images/en/flow/ifelse.gif
images/en/flow/if.gif
+images/en/flow/ifelse.gif
+images/en/flow/myblocksgroup.gif
images/en/flow/repeat.gif
images/en/flow/stopstack.gif
images/en/flow/vspace.gif
images/en/flow/wait.gif
+images/en/masknumber.gif
images/en/myblocks/box1.gif
images/en/myblocks/box2.gif
images/en/myblocks/hat1.gif
images/en/myblocks/hat2.gif
-images/en/myblocks/stack1.gif
-images/en/myblocks/stack2.gif
images/en/myblocks/myblocksgroup.gif
images/en/myblocks/myblocksmask.gif
+images/en/myblocks/stack1.gif
+images/en/myblocks/stack2.gif
images/en/myblocks/storeinbox1.gif
images/en/myblocks/storeinbox2.gif
+images/en/noinput.gif
+images/en/nostack.gif
images/en/numbers/and.gif
images/en/numbers/division.gif
images/en/numbers/equal.gif
@@ -72,6 +65,7 @@ images/en/pen/setpensize.gif
images/en/pen/setshade.gif
images/en/pen/shade.gif
images/en/shapes/t0.gif
+images/en/shapes/t1.gif
images/en/shapes/t10.gif
images/en/shapes/t11.gif
images/en/shapes/t12.gif
@@ -82,7 +76,7 @@ images/en/shapes/t16.gif
images/en/shapes/t17.gif
images/en/shapes/t18.gif
images/en/shapes/t19.gif
-images/en/shapes/t1.gif
+images/en/shapes/t2.gif
images/en/shapes/t20.gif
images/en/shapes/t21.gif
images/en/shapes/t22.gif
@@ -93,20 +87,20 @@ images/en/shapes/t26.gif
images/en/shapes/t27.gif
images/en/shapes/t28.gif
images/en/shapes/t29.gif
-images/en/shapes/t2.gif
+images/en/shapes/t3.gif
images/en/shapes/t30.gif
images/en/shapes/t31.gif
images/en/shapes/t32.gif
images/en/shapes/t33.gif
images/en/shapes/t34.gif
images/en/shapes/t35.gif
-images/en/shapes/t3.gif
images/en/shapes/t4.gif
images/en/shapes/t5.gif
images/en/shapes/t6.gif
images/en/shapes/t7.gif
images/en/shapes/t8.gif
images/en/shapes/t9.gif
+images/en/status.gif
images/en/toolbar/blocks-.gif
images/en/toolbar/eraseroff.gif
images/en/toolbar/eraseron.gif
@@ -127,30 +121,32 @@ images/en/turtle/turtlegroup.gif
images/en/turtle/turtlemask.gif
images/en/turtle/xcor.gif
images/en/turtle/ycor.gif
-images/es/masknumber.gif
-images/es/status.gif
-images/es/nostack.gif
-images/es/noinput.gif
images/es/flow/flowgroup.gif
images/es/flow/flowmask.gif
images/es/flow/forever.gif
images/es/flow/hspace.gif
-images/es/flow/ifelse.gif
images/es/flow/if.gif
+images/es/flow/ifelse.gif
+images/es/flow/myblocksgroup.gif
images/es/flow/repeat.gif
images/es/flow/stopstack.gif
images/es/flow/vspace.gif
images/es/flow/wait.gif
+images/es/masknumber.gif
images/es/myblocks/box1.gif
images/es/myblocks/box2.gif
images/es/myblocks/hat1.gif
images/es/myblocks/hat2.gif
-images/es/myblocks/stack1.gif
-images/es/myblocks/stack2.gif
images/es/myblocks/myblocksgroup.gif
images/es/myblocks/myblocksmask.gif
+images/es/myblocks/stack1.gif
+images/es/myblocks/stack2.gif
+images/es/myblocks/stackhat1.gif
+images/es/myblocks/stackhat2.gif
images/es/myblocks/storeinbox1.gif
images/es/myblocks/storeinbox2.gif
+images/es/noinput.gif
+images/es/nostack.gif
images/es/numbers/and.gif
images/es/numbers/division.gif
images/es/numbers/equal.gif
@@ -189,6 +185,7 @@ images/es/pen/setpensize.gif
images/es/pen/setshade.gif
images/es/pen/shade.gif
images/es/shapes/t0.gif
+images/es/shapes/t1.gif
images/es/shapes/t10.gif
images/es/shapes/t11.gif
images/es/shapes/t12.gif
@@ -199,7 +196,7 @@ images/es/shapes/t16.gif
images/es/shapes/t17.gif
images/es/shapes/t18.gif
images/es/shapes/t19.gif
-images/es/shapes/t1.gif
+images/es/shapes/t2.gif
images/es/shapes/t20.gif
images/es/shapes/t21.gif
images/es/shapes/t22.gif
@@ -210,20 +207,20 @@ images/es/shapes/t26.gif
images/es/shapes/t27.gif
images/es/shapes/t28.gif
images/es/shapes/t29.gif
-images/es/shapes/t2.gif
+images/es/shapes/t3.gif
images/es/shapes/t30.gif
images/es/shapes/t31.gif
images/es/shapes/t32.gif
images/es/shapes/t33.gif
images/es/shapes/t34.gif
images/es/shapes/t35.gif
-images/es/shapes/t3.gif
images/es/shapes/t4.gif
images/es/shapes/t5.gif
images/es/shapes/t6.gif
images/es/shapes/t7.gif
images/es/shapes/t8.gif
images/es/shapes/t9.gif
+images/es/status.gif
images/es/toolbar/blocks-.gif
images/es/toolbar/eraseroff.gif
images/es/toolbar/eraseron.gif
@@ -244,30 +241,31 @@ images/es/turtle/turtlegroup.gif
images/es/turtle/turtlemask.gif
images/es/turtle/xcor.gif
images/es/turtle/ycor.gif
-images/fr/masknumber.gif
-images/fr/status.gif
-images/fr/nostack.gif
-images/fr/noinput.gif
images/fr/flow/flowgroup.gif
images/fr/flow/flowmask.gif
images/fr/flow/forever.gif
images/fr/flow/hspace.gif
-images/fr/flow/ifelse.gif
images/fr/flow/if.gif
+images/fr/flow/ifelse.gif
images/fr/flow/repeat.gif
images/fr/flow/stopstack.gif
images/fr/flow/vspace.gif
images/fr/flow/wait.gif
+images/fr/masknumber.gif
images/fr/myblocks/box1.gif
images/fr/myblocks/box2.gif
images/fr/myblocks/hat1.gif
images/fr/myblocks/hat2.gif
-images/fr/myblocks/stack1.gif
-images/fr/myblocks/stack2.gif
images/fr/myblocks/myblocksgroup.gif
images/fr/myblocks/myblocksmask.gif
+images/fr/myblocks/stack1.gif
+images/fr/myblocks/stack2.gif
+images/fr/myblocks/stackhat1.gif
+images/fr/myblocks/stackhat2.gif
images/fr/myblocks/storeinbox1.gif
images/fr/myblocks/storeinbox2.gif
+images/fr/noinput.gif
+images/fr/nostack.gif
images/fr/numbers/and.gif
images/fr/numbers/division.gif
images/fr/numbers/equal.gif
@@ -306,6 +304,7 @@ images/fr/pen/setpensize.gif
images/fr/pen/setshade.gif
images/fr/pen/shade.gif
images/fr/shapes/t0.gif
+images/fr/shapes/t1.gif
images/fr/shapes/t10.gif
images/fr/shapes/t11.gif
images/fr/shapes/t12.gif
@@ -316,7 +315,7 @@ images/fr/shapes/t16.gif
images/fr/shapes/t17.gif
images/fr/shapes/t18.gif
images/fr/shapes/t19.gif
-images/fr/shapes/t1.gif
+images/fr/shapes/t2.gif
images/fr/shapes/t20.gif
images/fr/shapes/t21.gif
images/fr/shapes/t22.gif
@@ -327,20 +326,20 @@ images/fr/shapes/t26.gif
images/fr/shapes/t27.gif
images/fr/shapes/t28.gif
images/fr/shapes/t29.gif
-images/fr/shapes/t2.gif
+images/fr/shapes/t3.gif
images/fr/shapes/t30.gif
images/fr/shapes/t31.gif
images/fr/shapes/t32.gif
images/fr/shapes/t33.gif
images/fr/shapes/t34.gif
images/fr/shapes/t35.gif
-images/fr/shapes/t3.gif
images/fr/shapes/t4.gif
images/fr/shapes/t5.gif
images/fr/shapes/t6.gif
images/fr/shapes/t7.gif
images/fr/shapes/t8.gif
images/fr/shapes/t9.gif
+images/fr/status.gif
images/fr/toolbar/blocks-.gif
images/fr/toolbar/eraseroff.gif
images/fr/toolbar/eraseron.gif
@@ -361,6 +360,9 @@ images/fr/turtle/turtlegroup.gif
images/fr/turtle/turtlemask.gif
images/fr/turtle/xcor.gif
images/fr/turtle/ycor.gif
+locale/en/activity.linfo
+locale/es/activity.linfo
+locale/fr/activity.linfo
samples/birds.png
samples/birds.ta
samples/bubbles.png
@@ -387,8 +389,16 @@ samples/reflections.png
samples/reflections.ta
samples/shades.png
samples/shades.ta
+samples/sierpquad.png
+samples/sierpquad.ta
+samples/sierpquad2.png
+samples/sierpquad2.ta
+samples/sierptri.png
+samples/sierptri.ta
samples/smoothcandy.png
samples/smoothcandy.ta
+samples/snowflake.png
+samples/snowflake.ta
samples/square.png
samples/square.ta
samples/squares.png
@@ -397,5 +407,15 @@ samples/squiral.png
samples/squiral.ta
samples/sunrise.png
samples/sunrise.ta
+samples/tree.png
+samples/tree.ta
samples/xo-man.png
samples/xo-man.ta
+setup.py
+talogo.py
+taproject.py
+tasetup.py
+tasprites.py
+taturtle.py
+tawindow.py
+turtleart.py
diff --git a/samples/sierpquad.png b/samples/sierpquad.png
new file mode 100644
index 0000000..fea725d
--- /dev/null
+++ b/samples/sierpquad.png
Binary files differ
diff --git a/samples/sierpquad.ta b/samples/sierpquad.ta
new file mode 100644
index 0000000..7d79ceb
--- /dev/null
+++ b/samples/sierpquad.ta
@@ -0,0 +1,487 @@
+(lp0
+(I0
+S'hat1'
+p1
+I687
+I-3
+(lp2
+NaI1
+atp3
+a(I1
+S'pendown'
+p4
+I699
+I47
+(lp5
+I0
+aI2
+atp6
+a(I2
+S'setcolor'
+p7
+I699
+I86
+(lp8
+I1
+aI3
+aI6
+atp9
+a(I3
+S'color'
+p10
+I773
+I103
+(lp11
+I2
+aI4
+atp12
+a(I4
+S'plus'
+p13
+I866
+I95
+(lp14
+I3
+aI5
+atp15
+a(I5
+(S'number'
+p16
+S'8'
+p17
+tp18
+I905
+I103
+(lp19
+I4
+aNatp20
+a(I6
+S'repeat'
+p21
+I699
+I140
+(lp22
+I2
+aI7
+aI8
+aNatp23
+a(I7
+(g16
+S'4'
+p24
+tp25
+I785
+I149
+(lp26
+I6
+aNatp27
+a(I8
+g7
+I794
+I189
+(lp28
+I6
+aI9
+aI12
+atp29
+a(I9
+g10
+I868
+I206
+(lp30
+I8
+aI10
+atp31
+a(I10
+S'minus'
+p32
+I961
+I198
+(lp33
+I9
+aI11
+atp34
+a(I11
+(g16
+S'2'
+p35
+tp36
+I1000
+I206
+(lp37
+I10
+aNatp38
+a(I12
+S'ifelse'
+p39
+I794
+I243
+(lp40
+I8
+aI13
+aI15
+aI36
+aNatp41
+a(I13
+S'greater'
+p42
+I874
+I253
+(lp43
+I12
+aI14
+aI40
+aNatp44
+a(I14
+S'box1'
+p45
+I906
+I262
+(lp46
+I13
+aNatp47
+a(I15
+S'vspace'
+p48
+I889
+I317
+(lp49
+I12
+aI16
+atp50
+a(I16
+S'storeinbox1'
+p51
+I889
+I386
+(lp52
+I15
+aI17
+aI20
+atp53
+a(I17
+g45
+I963
+I403
+(lp54
+I16
+aI18
+atp55
+a(I18
+S'division'
+p56
+I1056
+I395
+(lp57
+I17
+aI19
+atp58
+a(I19
+(g16
+S'3'
+p59
+tp60
+I1095
+I403
+(lp61
+I18
+aNatp62
+a(I20
+S'stack1'
+p63
+I889
+I440
+(lp64
+I16
+aI21
+atp65
+a(I21
+S'penup'
+p66
+I889
+I479
+(lp67
+I20
+aI22
+atp68
+a(I22
+S'forward'
+p69
+I889
+I518
+(lp70
+I21
+aI23
+aI24
+atp71
+a(I23
+g45
+I963
+I527
+(lp72
+I22
+aNatp73
+a(I24
+g63
+I889
+I557
+(lp74
+I22
+aI25
+atp75
+a(I25
+g66
+I889
+I596
+(lp76
+I24
+aI26
+atp77
+a(I26
+g69
+I889
+I635
+(lp78
+I25
+aI27
+aI30
+atp79
+a(I27
+g45
+I963
+I644
+(lp80
+I26
+aI28
+atp81
+a(I28
+S'product'
+p82
+I1056
+I636
+(lp83
+I27
+aI29
+atp84
+a(I29
+(g16
+g35
+tp85
+I1095
+I644
+(lp86
+I28
+aNatp87
+a(I30
+g51
+I889
+I674
+(lp88
+I26
+aI31
+aI34
+atp89
+a(I31
+g45
+I963
+I691
+(lp90
+I30
+aI32
+atp91
+a(I32
+g82
+I1056
+I683
+(lp92
+I31
+aI33
+atp93
+a(I33
+(g16
+g59
+tp94
+I1095
+I691
+(lp95
+I32
+aNatp96
+a(I34
+S'right'
+p97
+I889
+I728
+(lp98
+I30
+aI35
+aNatp99
+a(I35
+(g16
+S'90'
+p100
+tp101
+I963
+I737
+(lp102
+I34
+aNatp103
+a(I36
+g69
+I974
+I317
+(lp104
+I12
+aI37
+aI38
+atp105
+a(I37
+g45
+I1048
+I326
+(lp106
+I36
+aNatp107
+a(I38
+g97
+I974
+I356
+(lp108
+I36
+aI39
+aNatp109
+a(I39
+(g16
+S'90'
+p110
+tp111
+I1048
+I365
+(lp112
+I38
+aNatp113
+a(I40
+(g16
+S'10'
+p114
+tp115
+I1055
+I262
+(lp116
+I13
+aNatp117
+a(I41
+S'clean'
+p118
+I699
+I361
+(lp119
+NaI42
+atp120
+a(I42
+S'setpensize'
+p121
+I699
+I400
+(lp122
+I41
+aI43
+aI44
+atp123
+a(I43
+(g16
+S'1'
+p124
+tp125
+I773
+I417
+(lp126
+I42
+aNatp127
+a(I44
+S'setxy'
+p128
+I699
+I454
+(lp129
+I42
+aI45
+aI46
+aI47
+atp130
+a(I45
+(g16
+S'130'
+p131
+tp132
+I773
+I463
+(lp133
+I44
+aNatp134
+a(I46
+(g16
+S'-440'
+p135
+tp136
+I773
+I500
+(lp137
+I44
+aNatp138
+a(I47
+S'left'
+p139
+I699
+I530
+(lp140
+I44
+aI48
+aI49
+atp141
+a(I48
+(g16
+S'90'
+p142
+tp143
+I773
+I539
+(lp144
+I47
+aNatp145
+a(I49
+g51
+I699
+I569
+(lp146
+I47
+aI50
+aI51
+atp147
+a(I50
+(g16
+S'729'
+p148
+tp149
+I773
+I586
+(lp150
+I49
+aNatp151
+a(I51
+g63
+I699
+I623
+(lp152
+I49
+aNatp153
+a(I-1
+S'turtle'
+p154
+F130.00000000000065
+F-440.00000000000091
+F270.0
+F0.0
+I50
+F1.0
+tp155
+a. \ No newline at end of file
diff --git a/samples/sierpquad2.png b/samples/sierpquad2.png
new file mode 100644
index 0000000..ea13f44
--- /dev/null
+++ b/samples/sierpquad2.png
Binary files differ
diff --git a/samples/sierpquad2.ta b/samples/sierpquad2.ta
new file mode 100644
index 0000000..ede1a22
--- /dev/null
+++ b/samples/sierpquad2.ta
@@ -0,0 +1,695 @@
+(lp0
+(I0
+S'hat1'
+p1
+I512
+I-8
+(lp2
+NaI1
+atp3
+a(I1
+S'penup'
+p4
+I524
+I42
+(lp5
+I0
+aI2
+atp6
+a(I2
+S'setcolor'
+p7
+I524
+I81
+(lp8
+I1
+aI3
+aI6
+atp9
+a(I3
+S'color'
+p10
+I598
+I98
+(lp11
+I2
+aI4
+atp12
+a(I4
+S'plus'
+p13
+I691
+I90
+(lp14
+I3
+aI5
+atp15
+a(I5
+(S'number'
+p16
+S'8'
+p17
+tp18
+I730
+I98
+(lp19
+I4
+aNatp20
+a(I6
+S'storeinbox1'
+p21
+I524
+I135
+(lp22
+I2
+aI7
+aI10
+atp23
+a(I7
+S'box1'
+p24
+I598
+I152
+(lp25
+I6
+aI8
+atp26
+a(I8
+S'division'
+p27
+I691
+I144
+(lp28
+I7
+aI9
+atp29
+a(I9
+(g16
+S'3'
+p30
+tp31
+I730
+I152
+(lp32
+I8
+aNatp33
+a(I10
+S'repeat'
+p34
+I524
+I189
+(lp35
+I6
+aI11
+aI12
+aI53
+atp36
+a(I11
+(g16
+S'4'
+p37
+tp38
+I610
+I198
+(lp39
+I10
+aNatp40
+a(I12
+S'hspace'
+p41
+I619
+I229
+(lp42
+I10
+aI13
+atp43
+a(I13
+g41
+I710
+I228
+(lp44
+I12
+aI14
+atp45
+a(I14
+g7
+I801
+I236
+(lp46
+I13
+aI15
+aI18
+atp47
+a(I15
+g10
+I875
+I253
+(lp48
+I14
+aI16
+atp49
+a(I16
+S'minus'
+p50
+I968
+I245
+(lp51
+I15
+aI17
+atp52
+a(I17
+(g16
+S'2'
+p53
+tp54
+I1007
+I253
+(lp55
+I16
+aNatp56
+a(I18
+S'if'
+p57
+I801
+I290
+(lp58
+I14
+aI19
+aI21
+aI41
+atp59
+a(I19
+S'greater'
+p60
+I881
+I300
+(lp61
+I18
+aI20
+aI69
+aNatp62
+a(I20
+g24
+I913
+I309
+(lp63
+I19
+aNatp64
+a(I21
+S'stack1'
+p65
+I896
+I364
+(lp66
+I18
+aI22
+atp67
+a(I22
+S'forward'
+p68
+I896
+I403
+(lp69
+I21
+aI23
+aI24
+atp70
+a(I23
+g24
+I970
+I412
+(lp71
+I22
+aNatp72
+a(I24
+g65
+I896
+I442
+(lp73
+I22
+aI25
+atp74
+a(I25
+g34
+I896
+I481
+(lp75
+I24
+aI26
+aI27
+aI31
+atp76
+a(I26
+(g16
+S'2'
+p77
+tp78
+I982
+I490
+(lp79
+I25
+aNatp80
+a(I27
+g68
+I991
+I530
+(lp81
+I25
+aI28
+aI29
+atp82
+a(I28
+g24
+I1065
+I539
+(lp83
+I27
+aNatp84
+a(I29
+S'right'
+p85
+I991
+I569
+(lp86
+I27
+aI30
+aNatp87
+a(I30
+(g16
+S'90'
+p88
+tp89
+I1065
+I578
+(lp90
+I29
+aNatp91
+a(I31
+S'pendown'
+p92
+I896
+I571
+(lp93
+I25
+aI32
+atp94
+a(I32
+g68
+I896
+I610
+(lp95
+I31
+aI33
+aI34
+atp96
+a(I33
+g24
+I970
+I619
+(lp97
+I32
+aNatp98
+a(I34
+g4
+I896
+I649
+(lp99
+I32
+aI35
+atp100
+a(I35
+g34
+I896
+I688
+(lp101
+I34
+aI36
+aI37
+aNatp102
+a(I36
+(g16
+g77
+tp103
+I982
+I697
+(lp104
+I35
+aNatp105
+a(I37
+g68
+I991
+I737
+(lp106
+I35
+aI38
+aI39
+atp107
+a(I38
+g24
+I1065
+I746
+(lp108
+I37
+aNatp109
+a(I39
+g85
+I991
+I776
+(lp110
+I37
+aI40
+aNatp111
+a(I40
+(g16
+S'90'
+p112
+tp113
+I1065
+I785
+(lp114
+I39
+aNatp115
+a(I41
+S'vspace'
+p116
+I801
+I405
+(lp117
+I18
+aI42
+atp118
+a(I42
+g116
+I801
+I474
+(lp119
+I41
+aI43
+atp120
+a(I43
+g116
+I801
+I543
+(lp121
+I42
+aI44
+atp122
+a(I44
+g116
+I801
+I612
+(lp123
+I43
+aI45
+atp124
+a(I45
+g116
+I801
+I681
+(lp125
+I44
+aI46
+atp126
+a(I46
+g116
+I801
+I750
+(lp127
+I45
+aI47
+atp128
+a(I47
+g68
+I801
+I819
+(lp129
+I46
+aI48
+aI51
+atp130
+a(I48
+g24
+I875
+I828
+(lp131
+I47
+aI49
+atp132
+a(I49
+S'product'
+p133
+I968
+I820
+(lp134
+I48
+aI50
+atp135
+a(I50
+(g16
+S'3'
+p136
+tp137
+I1007
+I828
+(lp138
+I49
+aNatp139
+a(I51
+g85
+I801
+I858
+(lp140
+I47
+aI52
+aNatp141
+a(I52
+(g16
+S'90'
+p142
+tp143
+I875
+I867
+(lp144
+I51
+aNatp145
+a(I53
+g21
+I524
+I279
+(lp146
+I10
+aI54
+aNatp147
+a(I54
+g24
+I598
+I296
+(lp148
+I53
+aI55
+atp149
+a(I55
+g133
+I691
+I288
+(lp150
+I54
+aI56
+atp151
+a(I56
+(g16
+g30
+tp152
+I730
+I296
+(lp153
+I55
+aNatp154
+a(I57
+S'clean'
+p155
+I512
+I373
+(lp156
+NaI58
+atp157
+a(I58
+S'setpensize'
+p158
+I512
+I412
+(lp159
+I57
+aI59
+aI60
+atp160
+a(I59
+(g16
+S'1'
+p161
+tp162
+I586
+I429
+(lp163
+I58
+aNatp164
+a(I60
+S'setxy'
+p165
+I512
+I466
+(lp166
+I58
+aI68
+aI67
+aI61
+atp167
+a(I61
+S'left'
+p168
+I512
+I542
+(lp169
+I60
+aI62
+aI63
+atp170
+a(I62
+(g16
+S'90'
+p171
+tp172
+I586
+I551
+(lp173
+I61
+aNatp174
+a(I63
+g21
+I512
+I581
+(lp175
+I61
+aI64
+aI65
+atp176
+a(I64
+(g16
+S'729'
+p177
+tp178
+I586
+I598
+(lp179
+I63
+aNatp180
+a(I65
+g65
+I512
+I635
+(lp181
+I63
+aI66
+atp182
+a(I66
+g92
+I512
+I674
+(lp183
+I65
+aI70
+atp184
+a(I67
+(g16
+S'-375'
+p185
+tp186
+I586
+I512
+(lp187
+I60
+aNatp188
+a(I68
+(g16
+S'350'
+p189
+tp190
+I586
+I475
+(lp191
+I60
+aNatp192
+a(I69
+(g16
+S'1'
+p193
+tp194
+I1062
+I309
+(lp195
+I19
+aNatp196
+a(I70
+g34
+I512
+I713
+(lp197
+I66
+aI71
+aI72
+aNatp198
+a(I71
+(g16
+S'4'
+p199
+tp200
+I598
+I722
+(lp201
+I70
+aNatp202
+a(I72
+g68
+I607
+I762
+(lp203
+I70
+aI73
+aI74
+atp204
+a(I73
+g24
+I681
+I771
+(lp205
+I72
+aNatp206
+a(I74
+g85
+I607
+I801
+(lp207
+I72
+aI75
+aNatp208
+a(I75
+(g16
+S'90'
+p209
+tp210
+I681
+I810
+(lp211
+I74
+aNatp212
+a(I-1
+S'turtle'
+p213
+F350.00000000000148
+F-375.00000000000279
+F270.0
+F0.0
+I50
+F1.0
+tp214
+a. \ No newline at end of file
diff --git a/samples/sierptri.png b/samples/sierptri.png
new file mode 100644
index 0000000..f8e3013
--- /dev/null
+++ b/samples/sierptri.png
Binary files differ
diff --git a/samples/sierptri.ta b/samples/sierptri.ta
new file mode 100644
index 0000000..25a258b
--- /dev/null
+++ b/samples/sierptri.ta
@@ -0,0 +1,416 @@
+(lp0
+(I0
+S'hat1'
+p1
+I688
+I-4
+(lp2
+NaI1
+atp3
+a(I1
+S'pendown'
+p4
+I700
+I46
+(lp5
+I0
+aI2
+atp6
+a(I2
+S'setcolor'
+p7
+I700
+I85
+(lp8
+I1
+aI3
+aI6
+atp9
+a(I3
+S'color'
+p10
+I774
+I102
+(lp11
+I2
+aI4
+atp12
+a(I4
+S'plus'
+p13
+I867
+I94
+(lp14
+I3
+aI5
+atp15
+a(I5
+(S'number'
+p16
+S'6'
+p17
+tp18
+I906
+I102
+(lp19
+I4
+aNatp20
+a(I6
+S'repeat'
+p21
+I700
+I139
+(lp22
+I2
+aI7
+aI8
+aNatp23
+a(I7
+(g16
+S'3'
+p24
+tp25
+I786
+I148
+(lp26
+I6
+aNatp27
+a(I8
+g7
+I795
+I188
+(lp28
+I6
+aI9
+aI12
+atp29
+a(I9
+g10
+I869
+I205
+(lp30
+I8
+aI10
+atp31
+a(I10
+S'minus'
+p32
+I962
+I197
+(lp33
+I9
+aI11
+atp34
+a(I11
+(g16
+S'2'
+p35
+tp36
+I1001
+I205
+(lp37
+I10
+aNatp38
+a(I12
+S'if'
+p39
+I795
+I242
+(lp40
+I8
+aI13
+aI16
+aI26
+atp41
+a(I13
+S'greater'
+p42
+I875
+I252
+(lp43
+I12
+aI14
+aI15
+aNatp44
+a(I14
+S'box1'
+p45
+I907
+I261
+(lp46
+I13
+aNatp47
+a(I15
+(g16
+S'16'
+p48
+tp49
+I1056
+I261
+(lp50
+I13
+aNatp51
+a(I16
+S'storeinbox1'
+p52
+I890
+I316
+(lp53
+I12
+aI17
+aI20
+atp54
+a(I17
+g45
+I964
+I333
+(lp55
+I16
+aI18
+atp56
+a(I18
+S'division'
+p57
+I1057
+I325
+(lp58
+I17
+aI19
+atp59
+a(I19
+(g16
+g35
+tp60
+I1096
+I333
+(lp61
+I18
+aNatp62
+a(I20
+S'stack1'
+p63
+I890
+I370
+(lp64
+I16
+aI21
+atp65
+a(I21
+g52
+I890
+I409
+(lp66
+I20
+aI22
+aI25
+atp67
+a(I22
+g45
+I964
+I426
+(lp68
+I21
+aI23
+atp69
+a(I23
+S'product'
+p70
+I1057
+I418
+(lp71
+I22
+aI24
+atp72
+a(I24
+(g16
+g35
+tp73
+I1096
+I426
+(lp74
+I23
+aNatp75
+a(I25
+S'penup'
+p76
+I890
+I463
+(lp77
+I21
+aNatp78
+a(I26
+S'vspace'
+p79
+I795
+I357
+(lp80
+I12
+aI27
+atp81
+a(I27
+g79
+I795
+I426
+(lp82
+I26
+aI28
+atp83
+a(I28
+g79
+I795
+I495
+(lp84
+I27
+aI29
+atp85
+a(I29
+S'forward'
+p86
+I795
+I564
+(lp87
+I28
+aI30
+aI31
+atp88
+a(I30
+g45
+I869
+I573
+(lp89
+I29
+aNatp90
+a(I31
+S'right'
+p91
+I795
+I603
+(lp92
+I29
+aI32
+aNatp93
+a(I32
+(g16
+S'120'
+p94
+tp95
+I869
+I612
+(lp96
+I31
+aNatp97
+a(I33
+S'clean'
+p98
+I519
+I1
+(lp99
+NaI34
+atp100
+a(I34
+S'setpensize'
+p101
+I519
+I40
+(lp102
+I33
+aI35
+aI36
+atp103
+a(I35
+(g16
+g35
+tp104
+I593
+I57
+(lp105
+I34
+aNatp106
+a(I36
+S'setxy'
+p107
+I519
+I94
+(lp108
+I34
+aI37
+aI38
+aI39
+atp109
+a(I37
+(g16
+S'200'
+p110
+tp111
+I593
+I103
+(lp112
+I36
+aNatp113
+a(I38
+(g16
+S'-375'
+p114
+tp115
+I593
+I140
+(lp116
+I36
+aNatp117
+a(I39
+S'left'
+p118
+I519
+I170
+(lp119
+I36
+aI40
+aI41
+atp120
+a(I40
+(g16
+S'90'
+p121
+tp122
+I593
+I179
+(lp123
+I39
+aNatp124
+a(I41
+g52
+I519
+I209
+(lp125
+I39
+aI42
+aI43
+atp126
+a(I42
+(g16
+S'768'
+p127
+tp128
+I593
+I226
+(lp129
+I41
+aNatp130
+a(I43
+g63
+I519
+I263
+(lp131
+I41
+aNatp132
+a(I-1
+S'turtle'
+p133
+F199.9999999999994
+F-375.00000000000165
+F270.0
+F0.0
+I50
+F2.0
+tp134
+a. \ No newline at end of file
diff --git a/samples/snowflake.png b/samples/snowflake.png
new file mode 100644
index 0000000..607fca3
--- /dev/null
+++ b/samples/snowflake.png
Binary files differ
diff --git a/samples/snowflake.ta b/samples/snowflake.ta
new file mode 100644
index 0000000..055573d
--- /dev/null
+++ b/samples/snowflake.ta
@@ -0,0 +1,461 @@
+(lp0
+(I0
+S'hat1'
+p1
+I783
+I-1
+(lp2
+NaI1
+atp3
+a(I1
+S'ifelse'
+p4
+I795
+I49
+(lp5
+I0
+aI2
+aI4
+aI12
+aNatp6
+a(I2
+S'greater'
+p7
+I875
+I59
+(lp8
+I1
+aI3
+aI33
+aNatp9
+a(I3
+S'box1'
+p10
+I907
+I68
+(lp11
+I2
+aNatp12
+a(I4
+S'vspace'
+p13
+I890
+I123
+(lp14
+I1
+aI5
+atp15
+a(I5
+S'storeinbox1'
+p16
+I890
+I192
+(lp17
+I4
+aI6
+aI9
+atp18
+a(I6
+g10
+I964
+I209
+(lp19
+I5
+aI7
+atp20
+a(I7
+S'division'
+p21
+I1057
+I201
+(lp22
+I6
+aI8
+atp23
+a(I8
+(S'number'
+p24
+S'3'
+p25
+tp26
+I1096
+I209
+(lp27
+I7
+aNatp28
+a(I9
+S'stack1'
+p29
+I890
+I246
+(lp30
+I5
+aI10
+atp31
+a(I10
+S'left'
+p32
+I890
+I285
+(lp33
+I9
+aI11
+aI14
+atp34
+a(I11
+(g24
+S'60'
+p35
+tp36
+I964
+I294
+(lp37
+I10
+aNatp38
+a(I12
+S'forward'
+p39
+I975
+I123
+(lp40
+I1
+aI13
+aNatp41
+a(I13
+g10
+I1049
+I132
+(lp42
+I12
+aNatp43
+a(I14
+S'setcolor'
+p44
+I890
+I324
+(lp45
+I10
+aI15
+aI17
+atp46
+a(I15
+S'color'
+p47
+I964
+I341
+(lp48
+I14
+aI16
+atp49
+a(I16
+S'plus'
+p50
+I1057
+I333
+(lp51
+I15
+aI31
+atp52
+a(I17
+g29
+I890
+I378
+(lp53
+I14
+aI18
+atp54
+a(I18
+S'right'
+p55
+I890
+I417
+(lp56
+I17
+aI19
+aI20
+atp57
+a(I19
+(g24
+S'120'
+p58
+tp59
+I964
+I426
+(lp60
+I18
+aNatp61
+a(I20
+g29
+I890
+I456
+(lp62
+I18
+aI21
+atp63
+a(I21
+g44
+I890
+I495
+(lp64
+I20
+aI22
+aI24
+atp65
+a(I22
+g47
+I964
+I512
+(lp66
+I21
+aI23
+atp67
+a(I23
+S'minus'
+p68
+I1057
+I504
+(lp69
+I22
+aI32
+atp70
+a(I24
+g32
+I890
+I549
+(lp71
+I21
+aI25
+aI26
+atp72
+a(I25
+(g24
+S'60'
+p73
+tp74
+I964
+I558
+(lp75
+I24
+aNatp76
+a(I26
+g29
+I890
+I588
+(lp77
+I24
+aI27
+atp78
+a(I27
+g16
+I890
+I627
+(lp79
+I26
+aI28
+aNatp80
+a(I28
+g10
+I964
+I644
+(lp81
+I27
+aI29
+atp82
+a(I29
+S'product'
+p83
+I1057
+I636
+(lp84
+I28
+aI30
+atp85
+a(I30
+(g24
+g25
+tp86
+I1096
+I644
+(lp87
+I29
+aNatp88
+a(I31
+(g24
+S'7'
+p89
+tp90
+I1096
+I341
+(lp91
+I16
+aNatp92
+a(I32
+(g24
+g89
+tp93
+I1096
+I512
+(lp94
+I23
+aNatp95
+a(I33
+(g24
+g25
+tp96
+I1056
+I68
+(lp97
+I2
+aNatp98
+a(I34
+S'clean'
+p99
+I375
+I238
+(lp100
+NaI35
+atp101
+a(I35
+S'setpensize'
+p102
+I375
+I277
+(lp103
+I34
+aI36
+aI37
+atp104
+a(I36
+(g24
+g25
+tp105
+I449
+I294
+(lp106
+I35
+aNatp107
+a(I37
+S'setxy'
+p108
+I375
+I331
+(lp109
+I35
+aI38
+aI39
+aI40
+atp110
+a(I38
+(g24
+S'200'
+p111
+tp112
+I449
+I340
+(lp113
+I37
+aNatp114
+a(I39
+(g24
+S'-220'
+p115
+tp116
+I449
+I377
+(lp117
+I37
+aNatp118
+a(I40
+g32
+I375
+I407
+(lp119
+I37
+aI41
+aI42
+atp120
+a(I41
+(g24
+S'90'
+p121
+tp122
+I449
+I416
+(lp123
+I40
+aNatp124
+a(I42
+g16
+I375
+I446
+(lp125
+I40
+aI43
+aI44
+atp126
+a(I43
+(g24
+S'729'
+p127
+tp128
+I449
+I463
+(lp129
+I42
+aNatp130
+a(I44
+S'repeat'
+p131
+I375
+I500
+(lp132
+I42
+aI45
+aI46
+aNatp133
+a(I45
+(g24
+g25
+tp134
+I461
+I509
+(lp135
+I44
+aNatp136
+a(I46
+g29
+I470
+I549
+(lp137
+I44
+aI47
+atp138
+a(I47
+g55
+I470
+I588
+(lp139
+I46
+aI48
+aNatp140
+a(I48
+(g24
+S'120'
+p141
+tp142
+I544
+I597
+(lp143
+I47
+aNatp144
+a(I-1
+S'turtle'
+p145
+F200.0
+F-220.00000000000006
+F270.0
+F0.0
+I50
+F3.0
+tp146
+a. \ No newline at end of file
diff --git a/samples/tree.png b/samples/tree.png
new file mode 100644
index 0000000..168acdc
--- /dev/null
+++ b/samples/tree.png
Binary files differ
diff --git a/samples/tree.ta b/samples/tree.ta
new file mode 100644
index 0000000..660ddcd
--- /dev/null
+++ b/samples/tree.ta
@@ -0,0 +1,656 @@
+(lp0
+(I0
+S'division'
+p1
+I82
+I93
+(lp2
+NaNatp3
+a(I1
+S'hat1'
+p4
+I510
+I28
+(lp5
+NaI2
+atp6
+a(I2
+S'pendown'
+p7
+I522
+I78
+(lp8
+I1
+aI3
+atp9
+a(I3
+S'if'
+p10
+I522
+I117
+(lp11
+I2
+aI4
+aI7
+aI9
+atp12
+a(I4
+S'greater'
+p13
+I602
+I127
+(lp14
+I3
+aI5
+aI6
+aNatp15
+a(I5
+S'box1'
+p16
+I634
+I136
+(lp17
+I4
+aNatp18
+a(I6
+(S'number'
+p19
+S'10'
+p20
+tp21
+I783
+I136
+(lp22
+I4
+aNatp23
+a(I7
+S'hspace'
+p24
+I617
+I182
+(lp25
+I3
+aI8
+atp26
+a(I8
+g24
+I708
+I181
+(lp27
+I7
+aI36
+atp28
+a(I9
+S'storeinbox2'
+p29
+I522
+I232
+(lp30
+I3
+aI10
+aI12
+atp31
+a(I10
+S'random'
+p32
+I596
+I230
+(lp33
+I9
+aI11
+aI61
+aNatp34
+a(I11
+(g19
+S'0'
+p35
+tp36
+I624
+I249
+(lp37
+I10
+aNatp38
+a(I12
+g10
+I522
+I286
+(lp39
+I9
+aI13
+aI15
+aNatp40
+a(I13
+S'equal'
+p41
+I602
+I296
+(lp42
+I12
+aI14
+aI58
+aNatp43
+a(I14
+S'box2'
+p44
+I634
+I305
+(lp45
+I13
+aNatp46
+a(I15
+S'penup'
+p47
+I617
+I360
+(lp48
+I12
+aI16
+atp49
+a(I16
+S'forward'
+p50
+I617
+I399
+(lp51
+I15
+aI17
+aI20
+atp52
+a(I17
+g16
+I691
+I408
+(lp53
+I16
+aI18
+atp54
+a(I18
+g1
+I784
+I400
+(lp55
+I17
+aI19
+atp56
+a(I19
+(g19
+S'2'
+p57
+tp58
+I823
+I408
+(lp59
+I18
+aNatp60
+a(I20
+S'setcolor'
+p61
+I617
+I438
+(lp62
+I16
+aI21
+aI22
+atp63
+a(I21
+(g19
+S'40'
+p64
+tp65
+I691
+I455
+(lp66
+I20
+aNatp67
+a(I22
+S'setpensize'
+p68
+I617
+I492
+(lp69
+I20
+aI23
+aI24
+atp70
+a(I23
+(g19
+S'20'
+p71
+tp72
+I691
+I509
+(lp73
+I22
+aNatp74
+a(I24
+g50
+I617
+I546
+(lp75
+I22
+aI25
+aI26
+atp76
+a(I25
+(g19
+S'1'
+p77
+tp78
+I691
+I555
+(lp79
+I24
+aNatp80
+a(I26
+g7
+I617
+I585
+(lp81
+I24
+aI27
+atp82
+a(I27
+S'back'
+p83
+I617
+I624
+(lp84
+I26
+aI28
+aI29
+atp85
+a(I28
+(g19
+g77
+tp86
+I691
+I633
+(lp87
+I27
+aNatp88
+a(I29
+g61
+I617
+I663
+(lp89
+I27
+aI30
+aI31
+atp90
+a(I30
+(g19
+S'10'
+p91
+tp92
+I691
+I680
+(lp93
+I29
+aNatp94
+a(I31
+g68
+I617
+I717
+(lp95
+I29
+aI32
+aI33
+atp96
+a(I32
+(g19
+S'5'
+p97
+tp98
+I691
+I734
+(lp99
+I31
+aNatp100
+a(I33
+g47
+I617
+I771
+(lp101
+I31
+aI34
+atp102
+a(I34
+g83
+I617
+I810
+(lp103
+I33
+aI35
+aNatp104
+a(I35
+g16
+I691
+I819
+(lp105
+I34
+aI59
+atp106
+a(I36
+g24
+I799
+I180
+(lp107
+I8
+aI37
+atp108
+a(I37
+g50
+I890
+I188
+(lp109
+I36
+aI38
+aI39
+atp110
+a(I38
+g16
+I964
+I197
+(lp111
+I37
+aNatp112
+a(I39
+S'storeinbox1'
+p113
+I890
+I227
+(lp114
+I37
+aI40
+aI43
+atp115
+a(I40
+g16
+I964
+I244
+(lp116
+I39
+aI41
+atp117
+a(I41
+g1
+I1057
+I236
+(lp118
+I40
+aI42
+atp119
+a(I42
+(g19
+S'1.5'
+p120
+tp121
+I1096
+I244
+(lp122
+I41
+aNatp123
+a(I43
+S'right'
+p124
+I890
+I281
+(lp125
+I39
+aI44
+aI45
+atp126
+a(I44
+(g19
+S'30'
+p127
+tp128
+I964
+I290
+(lp129
+I43
+aNatp130
+a(I45
+S'stack1'
+p131
+I890
+I320
+(lp132
+I43
+aI46
+atp133
+a(I46
+S'left'
+p134
+I890
+I359
+(lp135
+I45
+aI47
+aI48
+atp136
+a(I47
+(g19
+S'60'
+p137
+tp138
+I964
+I368
+(lp139
+I46
+aNatp140
+a(I48
+g131
+I890
+I398
+(lp141
+I46
+aI49
+atp142
+a(I49
+g124
+I890
+I437
+(lp143
+I48
+aI50
+aI51
+atp144
+a(I50
+(g19
+S'30'
+p145
+tp146
+I964
+I446
+(lp147
+I49
+aNatp148
+a(I51
+g113
+I890
+I476
+(lp149
+I49
+aI52
+aI55
+atp150
+a(I52
+g16
+I964
+I493
+(lp151
+I51
+aI53
+atp152
+a(I53
+S'product'
+p153
+I1057
+I485
+(lp154
+I52
+aI54
+atp155
+a(I54
+(g19
+S'1.5'
+p156
+tp157
+I1096
+I493
+(lp158
+I53
+aNatp159
+a(I55
+g47
+I890
+I530
+(lp160
+I51
+aI56
+atp161
+a(I56
+g83
+I890
+I569
+(lp162
+I55
+aI57
+aNatp163
+a(I57
+g16
+I964
+I578
+(lp164
+I56
+aNatp165
+a(I58
+(g19
+g35
+tp166
+I783
+I305
+(lp167
+I13
+aNatp168
+a(I59
+g1
+I784
+I811
+(lp169
+I35
+aI60
+atp170
+a(I60
+(g19
+g57
+tp171
+I823
+I819
+(lp172
+I59
+aNatp173
+a(I61
+(g19
+g57
+tp174
+I746
+I249
+(lp175
+I10
+aNatp176
+a(I62
+S'clean'
+p177
+I297
+I88
+(lp178
+NaI63
+atp179
+a(I63
+S'setxy'
+p180
+I297
+I127
+(lp181
+I62
+aI64
+aI65
+aI66
+atp182
+a(I64
+(g19
+g35
+tp183
+I371
+I136
+(lp184
+I63
+aNatp185
+a(I65
+(g19
+S'-400'
+p186
+tp187
+I371
+I173
+(lp188
+I63
+aNatp189
+a(I66
+g113
+I297
+I203
+(lp190
+I63
+aI67
+aI68
+atp191
+a(I67
+(g19
+S'300'
+p192
+tp193
+I371
+I220
+(lp194
+I66
+aNatp195
+a(I68
+g61
+I297
+I257
+(lp196
+I66
+aI69
+aI70
+atp197
+a(I69
+(g19
+S'10'
+p198
+tp199
+I371
+I274
+(lp200
+I68
+aNatp201
+a(I70
+g131
+I297
+I311
+(lp202
+I68
+aNatp203
+a(I-1
+S'turtle'
+p204
+F-8.5265128291212022e-14
+F-400.0
+F0.0
+F10.0
+I50
+F5.0
+tp205
+a. \ No newline at end of file