Version 0.0.3, featuring a bunch of new commands, user-defined types and experimental support for arrays. See first post for code.
This means it can now run things like:
type t
a as long
b$
end type
v = 4
dim a(3, v / 2) as t
a(2, 1).a = 4
a(2, 1).b = "hello"
a(3, 2) = a(2, 1)
print a(3, 2).a; a(3, 2).b
Yep, that's a dynamically-sized multi-dimensional array of a user-defined type containing variable length strings.
Arrays are a little untested for now, and you can't resize them. You also can't have arrays in a user-defined type, but that should be coming shortly.
Big thanks again to Ashish for implementing some commands and giving it a good test all round.