The interpreting availability in libaime comes in layers. The lowest layer is the expression evaluation and is provided by the previously described expression evaluator. The second layer adds control statements and allows for variable declaration, making up for an imperative programming language interpreter. It makes use of the expression evaluation capability of the first layer. The third layer adds functions. The very bodies of the interpreted functions are treated as function-less programs and their interpretation is defaulted to the mid second layer. The third layer is that of the procedural programming language interpreter.
The AEPL interpreters build upon and extend the expression evaluator. Such, most of what applies for the expression evaluator, both in terms of evaluated syntax and programming interface, also applies for the AEPL interpreters.
Some of the (via programming languages) application extending common places are visited in this chapter.
|• Of The Intrinsic String Type:||String operations|
|• Data Type Definition:||Introducing new data types|
|• Temporaries:||Immediate resource management|
|• Libraries:||Unstructured collections of features|
|• Of Errors:||When out of luck|
|• Referable Objects:||References|
|• Higher-order Functions:||Functions as parameters or returns|
|• Type Oblivious Interfaces:||Operating data of every type|