eScript 1.1

Developed or developing a new product in PureBasic? Tell the world about it.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

eScript 1.1

Post 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.
Last edited by srod on Sun Nov 18, 2012 9:03 pm, edited 4 times in total.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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.
Last edited by srod on Sun Oct 21, 2012 5:42 pm, edited 1 time in total.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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.
Last edited by srod on Mon Oct 22, 2012 8:12 pm, edited 2 times in total.
I may look like a mule, but I'm not a complete ass.
jassing
Addict
Addict
Posts: 1885
Joined: Wed Feb 17, 2010 12:00 am

Re: eScript 1.0

Post by jassing »

Glad you were able to finally get it to a release state!
Can't wait to start using it again!

Thanks
-josh
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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).
Last edited by srod on Sun Oct 28, 2012 12:48 pm, edited 3 times in total.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post by srod »

Addendum 4...

Planned features to add...
  • Arrays
  • Structures
  • Classes
Last edited by srod on Mon Oct 22, 2012 8:55 pm, edited 2 times in total.
I may look like a mule, but I'm not a complete ass.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post by srod »

Addendum 5...
I may look like a mule, but I'm not a complete ass.
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Re: eScript 1.0

Post by Poshu »

Woohooooooh! ... wait, windows and osX? No linux version intended? Even in source code format only?
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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.
I may look like a mule, but I'm not a complete ass.
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Re: eScript 1.0

Post by Poshu »

No problem, buying it right now, I'll build it for linux x64 (don't have a x86 environment though)
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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.
I may look like a mule, but I'm not a complete ass.
User avatar
Kiffi
Addict
Addict
Posts: 1503
Joined: Tue Mar 02, 2004 1:20 pm
Location: Amphibios 9

Re: eScript 1.0

Post by Kiffi »

srod wrote:I have decided to release my eScript scripting component right now.
Great! Thanks a lot! Image

Greetings ... Kiffi
Hygge
Zach
Addict
Addict
Posts: 1676
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: eScript 1.0

Post 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.
srod
PureBasic Expert
PureBasic Expert
Posts: 10589
Joined: Wed Oct 29, 2003 4:35 pm
Location: Beyond the pale...

Re: eScript 1.0

Post 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.
I may look like a mule, but I'm not a complete ass.
User avatar
flaith
Enthusiast
Enthusiast
Posts: 704
Joined: Mon Apr 25, 2005 9:28 pm
Location: $300:20 58 FC 60 - Rennes
Contact:

Re: eScript 1.0

Post by flaith »

Nice, bought already :D
“Fear is a reaction. Courage is a decision.” - WC
Post Reply