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 Ya
cc 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, 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

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'