I have a new scripting engine completed in PB and am looking for a handful of hearty souls to help me test this swine!
My first attempt at a useable scripting engine (eScript) turned out to be wholly unsuitable for a number of reasons, including the fact that it was an absolute bugger to actually integrate into a wannabe host app! It was also difficult to extend in that, for example, adding arrays was nigh on impossible - doh! Problem is that it was neither a scripting component or a full interpreted language when, stupidly, it tried to be both of these things!
minScript addresses all of eScript's many short-comings. It has been designed from the beginning for use in apps which either wish to automate some task or other (e.g. application installers) or offer up full scripting to their users.
I reckon I've finally nailed it with this one... but only time will tell.
minScript is pretty lightweight (currently under 12000 lines of OS independent PB code) and is an absolute breeze to integrate into a host app and it is a trivial matter to execute script code. It is simple to extend through the addition of run-time functions and/or user-defined reference types and so the business of customising it for use in a given host environment is straight forward. There are no external dependencies as minScript comes in full source code form.
It probably isn't the right time to outline minScript's features in detail and so I'll just list some of the main ones :
- A small flat c-style API to customise the hosting environment by adding run-time functions and the like
- A simple OOP interface for working with scripts
- A large set of standard runtime functions included
- Full compilation of scripts (to byte code) using a top-down recursive parser
- Scripts are submitted for compilation in the form of modules. Add as many modules as you wish, when you wish. You do not need to submit code all in one lump!
- Simple debugging features (I did not go overboard here - simple is good inmo!)
- Full garbage collection.
- Simple VB type syntax. Mix procedural and OOP syntax.
- Code modules.
- Classes and user-defined types
- Arrays (inc arrays of arrays of arrays... and arrays of class objects etc.)
To assist with testing (and instructing others how to code in minScript's language) I have created a simple editor which can be used to run and test scripts. It also serves as a non-trivial demo in how to make use of minScript.
I have already created a few test scripts which can be loaded into the editor, but I will be adding more and more as and when I can.
The hope is that I can fix bugs and add whatever obvious features I may have overlooked whilst working on more demos and the docs etc.
I don't have anywhere to upload the files at this time which is why I am just asking for a few testers to whom I can just email the package to as opposed to just opening up the testing to all.
Please send me a pm with an email address if you are interested.