Page 1 of 3

eScript 1.1

Posted: Sun Oct 21, 2012 5:12 pm
by srod
18th Nov 2012.

Just a quick note to say that both the eScript library and the eScriptBasic language are now fully documented and online. To access the eScriptBasic manual then navigate to the main eScript manual and pull up the eScriptBasic page.

There are also offline versions of the manuals (in CHM format) available over at the eScript site.

============


eScript 1.1. 30th Oct 2012.

Hi,

eScript 1.1 has been released in source code form and as compiled binaries (Windows x86, Windows x64 and OSX x86).

Have added the beginnings of a standard run-time, the inclusion of which is optional. We have added 18 basic string functions (such as Len(), Trim(), Str() and so on).

Will now work on the docs for eScript.

(Note that a bug with the OSX x64 version of Purebasic prevents us creating an OSX x64 shared library at this time).

Regards.

============


Hi,

I have decided to release my eScript scripting component right now. It is cross-platform and available for free in the form of pre-compiled DLLs etc, but the source-code, for those who dislike DLLs etc. whilst available, is not free I'm afraid. Please do not complain since I originally intended to charge a fee for the DLLs! :)

I am releasing now because I am finding that I have absolutely no time for coding right now; such is the volume of work with my non-coding business right now. This is also why I am releasing the DLLs for free. I do envisage that work will drop off during the winter months and so I should be able to spend some time coding and working on some documentation for eScript.

At present eScript is fully functioning. It lacks documentation, although the demos should get most interested people moving quickly enough. It also lacks the standard run-time library right now, but I will add that as a priority as soon as I get some time for coding.

Also, I have released versions for Windows (32 and 64-bit) only at the moment. A bug with the latest version of PB for MacOSX as reported here prevents me building an OSX version right now (although eScript runs fine on OSX).

Feel free to download and play around with it. You must accept that this is still very much a test version at present so please don't be put off by any bugs you might encounter. Report them and I shall endeavour to fix them as soon as I have time.

I will add more info to this thread regarding eScript as and when.

(See addendum 3 for an incomplete list of features!)

Regards.

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:31 pm
by srod
Addendum 1...

If running an intensive script then turn off the PB debugger to increase performance significantly. I have found that this can make a massive difference.

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:32 pm
by srod
Addendum 2...

The eScript dynamic libraries have been compiled with the Unicode switch set. This is not a problem for Ansi Purebasic applications because the 'header file' uses appropriate pseudo-types etc. in order to automatically convert strings to Unicode.

For those functions/methods which return strings, however, I opted to have these functions/methods fill a buffer with an appropriate UTF-8 string. Simply use PeekS() in order to get a copy of the string as some of the demos illustrate.

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:32 pm
by jassing
Glad you were able to finally get it to a release state!
Can't wait to start using it again!

Thanks
-josh

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:33 pm
by srod
Addendum 3...

eScript consists of an execution engine which executes compiled scripts against a stack-based VM. Scripts would usually be compiled to 'assembly' code and then assembled to give a memory based object file.

The eScriptBasic compiler has been added to the eScript system (call it the default compiler) which compiles scripts containing eScriptBasic code to the aforementioned object files. The compiler uses the eScript assembler as described in the previous paragraph but this is seamless and invisible to the host application.

Some features of the eScript system...
  • A full stack-based VM
  • An integrated assembler
  • Includes the eScriptBasic compiler (a 1 pass compiler with some peep-hole optimizing and a recursive descent expression parser)
  • Full debugging facilities
  • Fully linkable object files (one script can link in other pre-compiled object files)
  • Link in pre-compiled 'header' files (like Purebasic resident files)
  • Effortlessly call functions residing in dynamic libraries (including Win API dlls etc.)
  • Hosts can easily create 'run-times' (libraries of functions written in PB or C etc. which scripts can call like any other function)
  • A range of native data-types (BYTE, WORD, CHARACTER, LONG, INTEGER, FLOAT, DOUBLE, CURRENCY, STRING)
  • Pointer variables (e.g. INTEGERPTR etc.) These can be used to dereference script variables or even variables residing within the host application itself
  • Recursive functions (functions can call themselves)
  • etc.
(Some of the above features are native to eScript whilst others have been added by the eScriptBasic compiler - such as support for calling DLL functions).

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:33 pm
by srod
Addendum 4...

Planned features to add...
  • Arrays
  • Structures
  • Classes

Re: eScript 1.0

Posted: Sun Oct 21, 2012 5:34 pm
by srod
Addendum 5...

Re: eScript 1.0

Posted: Sun Oct 21, 2012 10:58 pm
by Poshu
Woohooooooh! ... wait, windows and osX? No linux version intended? Even in source code format only?

Re: eScript 1.0

Posted: Mon Oct 22, 2012 7:39 am
by srod
Yes should run fine in Linux, but I have no distro installed now and so cannot create the lib files. I don't really have time to install and mess around with Linux as it is a platform I have no interest in. :)

Perhaps I can find someone who would be happy to create linux .so files whenever there is a need in exchange for a free source code license.

Re: eScript 1.0

Posted: Mon Oct 22, 2012 8:46 am
by Poshu
No problem, buying it right now, I'll build it for linux x64 (don't have a x86 environment though)

Re: eScript 1.0

Posted: Mon Oct 22, 2012 5:12 pm
by srod
Hi, I wouldn't bother building just yet until I have added the standard runtime (hopefully at the weekend).

Thanks for the purchase; will get on that presently.

Re: eScript 1.0

Posted: Mon Oct 22, 2012 7:53 pm
by Kiffi
srod wrote:I have decided to release my eScript scripting component right now.
Great! Thanks a lot! Image

Greetings ... Kiffi

Re: eScript 1.0

Posted: Mon Oct 22, 2012 11:13 pm
by Zach
I understand that you are releasing the DLL's for free right now, will they eventually become for-purchase when you have the time to start working on it? I suppose it is also important to me to know that once you do start working on it, and taking payment, it would not be "abandoned" in the future, because "other work" gets in the way? At least, not indefinitely ??

I'm not sure what the importance of the run-time library is (apparently it works without it?) but I may hold off using this until it has matured somewhat and you have added some of the features you've talked about.

Re: eScript 1.0

Posted: Tue Oct 23, 2012 7:54 am
by srod
I will never charge for the DLLs/.so's rest assure.

The standard runtime will include a bunch of functions which I reckon the majority of scripts will make some use of; functions like Len(), Date() and so on. Nothing that hosts cannot easily add themselves, but it makes sense for me to make one available. Including the standard runtime is optional.

Re: eScript 1.0

Posted: Tue Oct 23, 2012 10:11 am
by flaith
Nice, bought already :D