I just started working with your interpreter and found one issue. The TIMER first trigger occurred with zero delay and then continue as per xxxms time that you specified. I think first trigger also occurred after specified time.
With following example "Doing Some Stuff" branched as I press RUN. It should branch after 5sec. Am I correct?
-------------------------
timer 5000 [do.some.stuff]
print "going to do some stuff in a bit"
button "Click me to exit" [Exit.ThisThing]
wait
[do.some.stuff]
print "Doing Some Stuff"
thanks
alexsunny