Program Flow
Miscellaneous |
Control:
Constituent Structure
|
- Program Flow:
Meta-level predicates that implement convenient
program flow options.
- Constituent Structure:
Predicates that are used to state universally and
existentially-quantified conditions over constituent structure.
- Miscellaneous:
Predicates that iterate over lists and feature
sets.
- Parser Operations:
Declaring parser operations.
|
Contents
Configurations
%% 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).
General
%% _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
Miscellaneous |