|
It would be quite annoying to interactively generate a patio design like that shown in Slide 1 of this summary. The Clay program shown below generates the design from the first slide. The point here is not to read the program -- it is merely to appreciate the fact scanning for tokens and other important programming topics will not be neglected in this course.
patio = sw w nw n ne e se s c
sw = mbk4 mlt4 brsquare4 mrt4 mfd4
nw = tr sw tl
se = tl sw tr
ne = ta sw ta
w = mlt4 grsquare4 mrt4
n = tr w tl
s = tl w tr
e = ta w ta
c = brsquare4
ta = tr tr
gpaver = green paint black draw
rpaver = red paint black draw
bpaver = blue paint black draw
rsquare2 = mbkh mlth rline2 tr rline2 tr rline2 tr rline2 tr mrth mfdh
rline2 = rpaver mfd rpaver
bline4 = bpaver mfd bpaver mfd bpaver mfd bpaver
yline4 = ypaver mfd ypaver mfd ypaver mfd ypaver
gline4 = gpaver mfd gpaver mfd gpaver mfd gpaver
bring4 = mbl4 bline4 tr bline4 tr bline4 tr bline4 tr mrf4
yring4 = mbl4 yline4 tr yline4 tr yline4 tr yline4 tr mrf4
gring4 = mbl4 gline4 tr gline4 tr gline4 tr gline4 tr mrf4
brsquare4 = rsquare2 bring4
yrsquare4 = rsquare2 yring4
grsquare4 = rsquare2 gring4
mlt4 = mlt mlt mlt mlt
mrt4 = mrt mrt mrt mrt
mbk4 = mbk mbk mbk mbk
mbl4 = mbk mbkh mlt mlth
mrf4 = mrth mrt mfdh mf