Program Flow
![]() ![]() ![]() |
![]() ![]() |
|
Configurations: | General: |
%% Basic form: %% %% _Operation Name_ %% in_all_configurations _Config_ where %% _Pre-conditions_ then _Actions_. %%---------------------------------------------------------------------------- %% Multiple conditions variant: %% %% _Operation Name_ %% in_all_configurations _Config_ where %% _Pre-conditions_ then _Actions_ else %% _Pre-conditions_ then _Actions_ ... %%---------------------------------------------------------------------------- %% Extra argument variant of the above two forms: %% %% _Operation Name_ on _X_ %% in_all_configurations _Config_ where ... %% %% NB. 1. _X_ is a single variable. %% 2. This last variant cannot be interleaved. %% 3. (Translates into the same tree-walk but with with an extra %% parameter _X_.)
%% Smallest configuration variant of the basic and multiple conditions forms: %% %% _Operation Name_ %% in_all_configurations _Config_ where %% _Pre-conditions_ then (must_satisfy) ..._Configuration_(..n+1..)... %% %% _Configuration_(..n..) smallest_configuration CF %% with_components %% C1 (given_by p(...CF..C1..)), %% ... %% Cn (given_by p(...CF..Cn..)). %% %% NB. 1. must_satisfy form forces all smallest configurations to be %% completed for each configuration satisfying _Pre-conditions_. %% 2. Can handle top-level disjunction in _Actions_. %% 3. Exactly one action using the smallest_configuration form is allowed.
%% Basic form: %% %% _Domain_(_X_) smallest_configuration _Config_ %% with_components %% _X_, %% _Component_ given_by _Goal_, %% ... %% _Component_ given_by _Goal_. %% %% Defines the smallest configuration _Config_ for a constituent _X_ that %% includes various components, _X_ itself and any other elements listed. %% %% Usage: _Domain_(_X_,_Config_) %% %% _Config_ is the _Domain_ for _X_. %% %% NB. Each _Component_ should be a variable. The definition of each %% _Component_ is determined by the corresponding _Goal_ %% (which should take _Config_ as one of its arguments). %%---------------------------------------------------------------------------- %% Conditional variant: %% %% _Domain_(_X_) smallest_configuration _Config_ st _Goals_ %% with_components %% _X_, %% _Component_ given_by _Goal_, %% ... %% _Component_ given_by _Goal_. %% %% Defines the smallest configuration _Config_ containing the various elements %% mentioned such that _Goals_ also hold. %%---------------------------------------------------------------------------- %% Exclusional variant: %% %% _Domain_(_X_) smallest_configuration _Config_ under _Goals_ %% with_components %% _X_, %% _Component_ given_by _Goal_, %% ... %% _Component_ given_by _Goal_. %% %% Defines the smallest configuration _Config_ containing the various elements %% mentioned for which _Goals_ does not hold true in any sub-phrase of %% _Config_.
%% Basic form: %% %% _Operation Name_ %% collect_all_configurations _Config_ where %% _Pre-conditions_ (then _Actions_). %% %% NB. Call operation using _Operation Name_(_CF_,List) %%---------------------------------------------------------------------------- %% Multiple conditions variant: %% %% _Operation Name_ %% collect_all_configurations _Config_ where %% _Pre-conditions_ then _Actions_ %% else ...
%% Basic form: %% %% _Operation Name_ collect _X_ %% in_all_configurations _Config_ where %% _Pre-conditions_ (then _Actions_). %% %% Call operation using _Operation Name_(_CF_,List) %%---------------------------------------------------------------------------- %% Multiple conditions variant: %% %% _Operation Name_ collect _X_ %% in_all_configurations _Config_ where %% _Pre-conditions_ then _Actions_ %% else ...
%% Basic form: %% %% _Operation Name_ %% exists_some_configuration _Config_ where %% _Pre-conditions_ (then _Actions_). %%---------------------------------------------------------------------------- %% Multiple conditions variant: %% %% _Operation Name_ %% exists_some_configuration _Config_ where %% _Pre-conditions_ (then _Actions_) else %% _Pre-conditions_ (then _Actions_) ... %%---------------------------------------------------------------------------- %% Extra argument variant of the above two forms: %% %% _Operation Name_(_X_) %% exists_some_configuration _Config_ where ... %% %% NB. then-part is optional.
%%% Operation produces [..Ki..] %%% cases CF where %%% % Recursive case %%% CF with_constituents X and Y st %%% X produces [..Xi..], %%% Y produces [..Yi..], %%% CF produces [..CFi..] %%% then p(..Xi..,..Yi..,..CFi..) %%% finally q(..CFi..,..Ki..) %%% else % Base cases...
%% Basic form: %% %% _Operation_ parser_operation _Print Name_ %% with_components %% _Component_ given_by (choices) _List_, %% ... %% _Component_ (given_by _List_). %% %% Defines a parser operation _Operation_ (with pretty print name %% _Print Name_) including various components such as: %% %% _Component_ _List_ Status %% appliesAt [ss,lf] obligatory %% dep [.._Operation_..] obligatory %% controlType [filter,generator, obligatory %% assigner] %% sCueFilter optional %% multipleDeps [.._Operation_..] optional %% skippable optional %% %% Usage: _Domain_(_X_,_Config_) %% %% _Config_ is the _Domain_ for _X_. %% %% NB. Each _Component_ should be a variable. The definition of each %% _Component_ is determined by the corresponding _Goal_ %% (which should take _Config_ as one of its arguments).
%% _Parser Operation_ parameterized_by _Goal_ %% %% pre-conditions _Parser Operation_ to only be executed when _Goal_ holds
%% Basic form: %% %% _Goal_ copy_of _Goal'_ with_clause _Clause_ prepended. %% _Goal_ copy_of _Goal'_ with_clause _Clause_ appended. %% %% NB. used principally for augmenting existing definitions
%% _Goal_ top _Goal'_ (st _Goals_) %% _Goal_ top _Goal'_ (st _Goals_) if _PreCond_ %% %% "top" definitions are used to connect _Goal_ with compositional %% definitions of predicates with the same name but larger arity.
Program Flow
![]() ![]() ![]() |