We are now in a position to modify our first version, which we also can call the ``un-indexed version'' to handle a chart. The agenda control procedure PROCESS need only be changed so that it inspects the initial item set for possible results. For the function MAKE-START-ITEM we have to make sure that the initial state set is created using the value of the essential feature as index. The function ADD-ITEM must be changed in such a way that the item set in which a new item eventually is inserted is chosen from the IN slot of that item. However, this is easy since each item knows the item set it is a member of. The procedure APPLY-TASK can be used unchanged. Thus we have:
Only the definitions of the inference rules need some more changes to be sensitive for the state sets of the chart. In principle it is possible that when a new item is generated, then this may eventually cause the creation of a new item set. However, since an item is first added to the agenda these item sets are initially empty.
We now give the specifications of the ``indexed'' versions of the inference rules. We start with the predictor.
Scanning operates on active items and reduces the active items on the basis of found matching lexical material; since this can cause consumption of some portion of the input, the reduced item is eventually added to another item set.
Passive-completion will be applied on passive items. The FROM slot of the passive item indicates which item set has to be used to look for possible active items. However, the FROM slot will be identical with the IN slot, thus possible active items are in the same item set that the passive item set is a member of.
Active-completion will be applied to active items. It will search for passive items in its own item set.