Embeddable Scripting LAnguage
NEW: Qt support
Esla is a very simple scripting language that can be embedded within C++ applications. It comprises a set of global actions, such as for, forall, while, do-while loops, try-catch statements, if-elseif-else conditional tests, and encapsulates the notion of namespace. The namespace allows the wrapping of different actions specialized for a numerical code or other applications, without interfering with other action's name.
Esla does not produced byte code and there's no compilation. Sentences are executed as they are read.
It doesn't use Lex and Yacc because of the special definition and reference to user variables.
It can be easily extended as shown in the following code (interface and implementation of the prompt command):
The intent of this language is to be able to write repetitive tasks for numerical codes (see for example http://pangea.stanford.edu/research/geomech/Software/Software.htm), or to create macro within a graphical interface.
For more information about the syntax or how to extend and embed Esla within a C++ code, read this file.
Esla can be downloaded under the GPL license at http://sourceforge.net/projects/esla/
You can aslo read the code documentation here.
Thanks to the following contributors:
Example 1: Script to test the tokenizer
Example 2: Script to test the for loop and if statement
Example 3: Script to test the switch statement and the function definition
Example 4: Script to compute Pi
Example 5: Script to convert a netgen file to a gocad file. This script uses some binded Qt commands, accessible with the namespace 'qt'