Whoops - forgot about those debugs! Those particular ones (in the compiler class source) give me a huge head start when tracking down a bug. Doh!
Make sure you disable the debugger when testing out the speed of minScript, but, yes, perhaps I should add a 'string builder' user-defined type. I will look into it. Then again, minScript doesn't use any PB strings when concatenating strings; it uses direct memory copy's combined with pre-stored byte lengths (as with BSTRs) so it won't be as slow as using PB strings.
A string builder class with suitable buffers would probably help though. What are we talking about in terms of the string sizes you are working with? (I shall set up initial string builder buffers accordingly).
I have started the docs. I am about 4 pages in; only about another 100 to go!
poKeywords were added for my own benefit really. They are similar to a user-defined function, but with a simpler prototype and can be used in script without enclosing any (optional) parameter in brackets. I couldn't allow this for a run-time function because of the various short-cut statements that minScript allows (e.g. x + 1 as a shortcut to x = x + 1 etc.) which would upset the parser.
So, for example, if you have a poKeyword 'PRINT' then the following is valid :
whereas if PRINTN is a run-time function, the following is NOT valid (you must enclose the parameter in brackets) :
I may look like a mule, but I'm not a complete ass.