Lines Matching defs:plan
73 * process the command line and create a "plan" corresponding to the
79 PLAN *plan, *tail, *new;
83 * it is, create the appropriate node type and add the new plan node
84 * to the end of the existing plan. The resulting plan is a linked
85 * list of plan nodes. For example, the string:
89 * results in the plan:
93 * in this diagram, `[-name foo]' represents the plan node generated
95 * plan->next pointer.
97 for (plan = tail = NULL; *argv;) {
100 if (plan == NULL)
101 tail = plan = new;
117 if (plan == NULL) {
120 tail = plan = new;
124 new->next = plan;
125 plan = new;
138 * the command line has been completely processed into a search plan
139 * except for the (, ), !, and -o operators. Rearrange the plan so
140 * that the portions of the plan which are affected by the operators
160 plan = paren_squish(plan); /* ()'s */
161 plan = not_squish(plan); /* !'s */
162 plan = or_squish(plan); /* -o's */
163 return (plan);
170 * take a search plan and an array of search paths and executes the plan
174 find_execute(PLAN *plan, char *paths[])
228 * Call all the functions in the execution plan until one is
232 for (p = plan; p && (p->execute)(p, entry); p = p->next);