[View]  [Edit]  [Lock]  [References]  [Attachments]  [History]  [Home]  [Changes]  [Search]  [Help] 

[S8] Scripting

The Scripting framework let us run S8 Smalltalk expressions in environments where we canīt add native code.

To evaluate an expression:
(ScriptParser new parse: expression) evaluate
The message #parse: will return an script that can be evaluated (with an object acting as receiver -or nil-, bound to "self")

In case of parsing errors are handled while parsing (see #parse:onError:).

The source code

The framework is provided by the U8 service in source code and native (to be downloaded dynamically by S8 systems running on top of javascript and lua VMs).

Link to download folder

Test repository

The pages for testing the framework in any S8 system with connection to the web is here

Composition

ModuletypeDescription
BindingsrequiredImplement S8Binding & S8Context that manages names bounded to objects during execution contexts.
ScriptingrequiredImplement ScriptParser, nodes of execution for complete S8 Smalltalk syntax, and messages to execute the result of parsing (an instance of Script) with an object acting as receiver (bound to name "self").
ScriptCompileroptionalLet us install Script instances as CompiledMethods, so we can extend/change/refine the system dynamically, WITHOUT evaluating native code. The extension do NOT depend on VM and works for javascript and lua systems.
ScriptStepsoptionalSupport for Steps tool (part of U8 toolset). Implement S8Simulator and machinery for step by step evaluation of S8 expressions. The Steps tool can connect from remote S8 system using SystemServer and evaluate expressions presenting the contexts of execution remotelly to an user, or to be managed remotelly by a remote S8 system (for logging, debugging and/or administration).

Tutorials

Read the testing pages to learn the basics of the framework.