Package sleep.interfaces
Interface PredicateEnvironment
-
public interface PredicateEnvironment
Predicate environments are similar to normal keyword environments except instead of binding commands to an identifier they are bound to a predicate condition.
In general the sleep syntax for declaring a predicate environment is:
keyword (condition) { commands; }
Script predicate environment bridge keywords should be registered with the script parser before any scripts are loaded. This can be accomplished as follows:
ParserConfig.addKeyword("keyword");
To install a new predicate environment into the script environment:
ScriptInstance script; // assume Environment myEnvironmentBridge; // assume Hashtable environment = script.getScriptEnvironment().getEnvironment(); environment.put("keyword", myEnvironmentBridge);
Predicate environments are a powerful way to create environments that are triggered selectively. Predicate environments can also be used to add new constructs to the sleep language such as an unless (comparison) { } construct.
- See Also:
Environment
,ParserConfig.addKeyword(String)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
bindPredicate(ScriptInstance si, java.lang.String typeKeyword, Check condition, Block functionBody)
binds a function (functionName) of a certain type (typeKeyword) to the defined functionBody.
-
-
-
Method Detail
-
bindPredicate
void bindPredicate(ScriptInstance si, java.lang.String typeKeyword, Check condition, Block functionBody)
binds a function (functionName) of a certain type (typeKeyword) to the defined functionBody.- Parameters:
typeKeyword
- the keyword for the function. (i.e. sub)condition
- the condition under which this can / should be executed.functionBody
- the compiled body of the function (i.e. code to add 2 numbers)
-
-