Lines Matching refs:predicate

46   Try to determine whether predicate "first" is true for
49 Assumes that predicate symbols have been expanded.
124 require (0,"Illegal predicate->expr");
180 require (0,"Illegal predicate->expr");
369 fprintf(output,"The predicate is empty (or always true)\n\n");
492 warnFL("It is unusual (but ok) for a semantic predicate to test context past the end of its own rule",
717 of and AND predicate ? It is because of the way
719 wrong then it's the same as if the predicate was
722 matched context and is true then the predicate
1193 fprintf(output,"Hoisting of predicate suppressed by alternative without predicate.\n");
1194 fprintf(output,"The alt without the predicate includes all cases where the predicate is false.\n\n");
1195 fprintf(output," WITH predicate: line %d %s\n",jPred->line,FileStr[jPred->file]);
1197 fprintf(output," WITHOUT predicate: line %d %s\n",jPlain->line,FileStr[jPlain->file]);
1199 fprintf(output," WITHOUT predicate: all alternatives without predicates (combined)\n");
1202 fprintf(output,"\nThe context set for the predicate:\n");
1205 fprintf(output,"\nThe lookahead set for the alt WITHOUT the semantic predicate:\n");
1207 fprintf(output,"\nThe predicate:\n\n");
1235 fprintf(output,"Restricting the context of a predicate because of overlap in the lookahead set\n");
1236 fprintf(output," between the alternative with the semantic predicate and one without\n");
1237 fprintf(output,"Without this restriction the alternative without the predicate could not\n");
1238 fprintf(output," be reached when input matched the context of the predicate and the predicate\n");
1241 fprintf(output," WITH predicate: line %d %s\n",jPred->line,FileStr[jPred->file]);
1243 fprintf(output," WITHOUT predicate: line %d %s\n",jPlain->line,FileStr[jPlain->file]);
1245 fprintf(output," WITHOUT predicate: all alternatives without predicates (combined)\n");
1248 fprintf(output,"\nThe original context set for the predicate:\n");
1251 fprintf(output,"\nThe lookahead set for the alt WITHOUT the semantic predicate:\n");
1259 fprintf(output,"\nThe original predicate:\n\n");
1261 fprintf(output,"The new (modified) form of the predicate:\n\n");
1351 in which the part after the guard could possibly cover a predicate.
1525 * because normal predicate hoisting does the correct thing automatically.
1532 * alt j then ignore semantic predicate of alt i
1534 * any alt j then add add predicate i to the OR list to be hoisted
1536 * add a dummy semantic predicate for alt j
1553 /* if the predicate depth turns out to be one token only */
1564 The context would be truncated and the predicate simplify routine
1575 /* If the predicate depth is 1 then it is possible to suppress
1576 a predicate completely using a single plain alt. Check for suppression
1631 If the predicate depth is > 1 then it can't be suppressed completely
1871 /* predicate->invert can be set only in the predEntry predicates */
2043 fprintf(output,"The following predicate expression will always be false:\n\n");
2051 warnNoFL(eMsg1("one (or more) predicate expression hoisted into rule \"%s\" are always false \
2054 warnNoFL(eMsg1("one (or more) predicate expressions hoisted into rule \"%s\" are always false \
2131 if (j->predicate != NULL) {
2132 predicate_free(j->predicate);
2133 j->predicate=NULL;
2315 /* predicate->invert can be set only in the predEntry predicates */
2346 * action->inverted can be set only when a predicate symbol appears in
2350 * creates a predEntry and the predicate expression of that predEntry
2356 * predicate->inverted can only be set by a predicate created by a #pred
2359 * predicate expression occurring under any other circumstances.
2360 * The #pred predicate expresssions are stored with in predEntry->pred
2373 * MR_unfold() is called to expand predicate symbols by replacing predicates
2374 * that reference predicate entries with the copies of the predicate entries.
2377 * predicate nodes. Anyway, the point I'm making is that predicate->invert
2378 * should not be set in any predicate until it has been expanded.
2381 * by which I mean a predicate symbol refers to other predicate symbols which
2386 * a new predicate symbol is created by referring to others in the pred expr.
2421 ; /* do nothing */ /* an inline literal predicate */
2612 /* it doesn't really matter whether the predicate has
2614 at the predicate itself, just the stuff "behind"
2615 the predicate.
2619 of the rule containing the predicate because the
2631 For r1a we want follow of predicate = {A B}
2633 For r1b we want follow of predicate = {A C}
2904 /* have a match - now remove it from the predicate */
2912 fprintf(output,"Part (or all) of predicate with depth > 1 suppressed by ");
2913 fprintf(output,"alternative without predicate\n\n");