9.2.4 Processing the agenda

Next, the processing of the agenda is defined: if the agenda is empty, nothing is done (skip). Else the first element in the agenda-stack is retrieved, processed and then added to the chart. When this is done, the recursive call to WorkOnAgenda ensures that the rest of the agenda is processed.

<Process Edges>=
%% process the agenda  
for break:Break do 
   if {Agenda.isEmpty}
   then {Break}
   else 
      Edge = {Agenda.pop}
   in 
      {Process Edge}
      {Chart.add Edge}
   end 
end


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