Lines Matching full:lookahead
7 * a set of lookahead symbols (terminal). (The first two of these parts
16 * that B has already been parsed, and that we will expect to see a lookahead
20 * Items may initially be missing some items from their lookahead sets.
22 * to be updated if symbols are added to its lookahead set. During
23 * "lookahead propagation", we add symbols to various lookahead sets and
40 * @param look the set of lookahead symbols.
55 * @param look the set of lookahead symbols.
64 /** Constructor with default position and empty lookahead set.
76 /** The lookahead symbols of the item. */
79 /** The lookahead symbols of the item. */
80 public terminal_set lookahead() {return _lookahead;};
84 /** Links to items that the lookahead needs to be propagated to. */
87 /** Links to items that the lookahead needs to be propagated to */
92 /** Flag to indicate that this item needs to propagate its lookahead
112 * @params incoming symbols to potentially be added to lookahead of this item.
125 /* add the incoming to the lookahead of this item */
126 change = lookahead().add(incoming);
135 /* propagate our lookahead into each item we are linked to */
138 .propagate_lookaheads(lookahead());
157 new terminal_set(lookahead()));
159 /* change in our lookahead needs to be propagated to this item */
167 /** Calculate lookahead representing symbols that could appear after the
183 "Attempt to calculate a lookahead set with a completed item");
217 we add in the lookahead for after the production and we are done */
226 * that the lookahead of this item must be included in the lookaheads of
266 * lookahead sets).
307 if (lookahead() != null)
311 if (lookahead().contains(t))
316 result += "NULL LOOKAHEAD!!";