Constituent Structure Parser Operations

Control:
Miscellaneous


  1. Program Flow:

    Meta-level predicates that implement convenient program flow options.

  2. Constituent Structure:

    Predicates that are used to state universally and existentially-quantified conditions over constituent structure.

  3. Miscellaneous:

    Predicates that iterate over lists and feature sets.

  4. Parser Operations:

    Declaring parser operations.


Contents

Lists:
each..in..satisfies/satisfying
each..in..and..satisfies/satisfying
exists..in..satisfying
those..in..satisfying
append_lists..produced_by..those..in..satisfying
Feature Sets:


Lists

+P each -V in L satisfies +G Defines a clause headed by P that holds if, for each element in list L, the goal G holds. The variable V is bound to each element in L in turn.

Example:

trivialChains(List) each X in List satisfies trivialChain(X).
This definition lifts trivialChain so it can handle lists.
%% Thread variant:
%%
%% _Name_(_List_,_Args_..)
%% 	each _X_ in _List_ thread [I,O] satisfying/satisfies _Goal_

%% Basic form:
%%
%% _Name_(_L1_,_Args_,_L2_)
%% 	each _X_ in _L1_ and _Y_ in _L2_ satisfying/satisfies _Goal_
%%
%% NB.
%%	Assumes _L1_ and _L2_ are the first and last parameters for the
%%	predicate, respectively.


+P exists -V in L satisfying +G Defines a clause headed by P that holds if there is some element in list L for which the goal G holds. The variable V will be bound to individual elements in L.

Example:

indexOccursIn(List,I) exists X in List 
	satisfying X has_feature index(J), sameIndex(I,J).
An index I occurs in a list of constituents List if there is some constituent X that has an index J such that I and J are the same.


%% Basic form:
%%
%% _Name_(_List_,_Args_..)
%% 	those _X_ in _List_ satisfying _Goal_


%% Basic form:
%%
%% _Name_(_List_,_Args_..)
%%	append_lists _Result List_ produced_by 
%% 	  those _X_ in _List_ satisfying _Goal_
%%
%% where _Goal_ takes _Result List_ as an argument


Feature Sets

Constituent Structure Parser Operations