Lines Matching defs:plan
57 * destructively removes the top from the plan
60 yanknode(PLAN **planp) /* pointer to top of plan (modified) */
62 PLAN *node; /* top node removed from the plan */
73 * Removes one expression from the plan. This is used mainly by
78 yankexpr(PLAN **planp) /* pointer to top of plan (modified) */
85 /* first pull the top node from the plan */
128 * replaces "parentheisized" plans in our search plan with "expr" nodes.
131 paren_squish(PLAN *plan) /* plan with ( ) nodes */
134 PLAN *tail; /* pointer to tail of result plan */
135 PLAN *result; /* pointer to head of result plan */
143 while ((expr = yankexpr(&plan)) != NULL) {
151 /* add the expression to our result plan */
165 * compresses "!" expressions in our search plan.
168 not_squish(PLAN *plan) /* plan to process */
172 PLAN *tail; /* pointer to tail of result plan */
173 PLAN *result; /* pointer to head of result plan */
177 while ((next = yanknode(&plan)) != NULL) {
193 node = yanknode(&plan);
196 node = yanknode(&plan);
210 /* add the node to our result plan */
224 * compresses -o expressions in our search plan.
227 or_squish(PLAN *plan) /* plan with ors to be squished */
230 PLAN *tail; /* pointer to tail of result plan */
231 PLAN *result; /* pointer to head of result plan */
235 while ((next = yanknode(&plan)) != NULL) {
248 * if we encounter an or, then place our collected plan in the
256 next->p_data[1] = or_squish(plan);
262 /* add the node to our result plan */