9.2.3 Initialising the agenda

Adding lexical edges to the agenda is defined as follows.

<Words to Agenda>=
%% create an edge for all words in the input sentence
%% and add it to the agenda.
for %% iterate in parallel  
   Word in Words
   Pos  in Chart.min..Chart.max
do 
   Edge = {MakeEdge {Lexicon.toCat Word} Pos Pos+1}
in 
   {Agenda.push Edge}
end

Words to Agenda recursively walks down the list (Phons) of input words, and for each word encountered, it add a lexical edge of the form Cat(Begin End) to the agenda where Cat is the category assigned by the lexicon to that word and Begin and End gives the position of that word in the input string.


Denys Duchier, Claire Gardent and Joachim Niehren
Version 1.3.99 (20050412)