Lines Matching refs:nullable
1598 Nullable: A node is nullable if it is at the root of a regexp that can
1600 * EMPTY leaves are nullable.
1601 * No other leaf is nullable.
1602 * A QMARK or STAR node is nullable.
1603 * A PLUS node is nullable if its argument is nullable.
1604 * A CAT node is nullable if both its arguments are nullable.
1605 * An OR node is nullable if either argument is nullable.
1615 the firstpos of the right if the left argument is nullable.
1626 the lastpos of the left if the right argument is nullable.
1649 int *nullable; /* Nullable stack. */
1676 MALLOC(nullable, int, d->depth);
1677 o_nullable = nullable;
1700 /* The empty set is nullable. */
1701 *nullable++ = 1;
1723 /* A QMARK or STAR node is automatically nullable. */
1725 nullable[-1] = 1;
1743 union that of the second argument if the first is nullable. */
1744 if (nullable[-2])
1751 union that of the first argument if the second is nullable. */
1752 if (nullable[-1])
1764 /* A CAT node is nullable if both arguments are nullable. */
1765 nullable[-2] = nullable[-1] && nullable[-2];
1766 --nullable;
1779 /* An OR node is nullable if either argument is nullable. */
1780 nullable[-2] = nullable[-1] || nullable[-2];
1781 --nullable;
1787 an "epsilon closure" effectively makes them nullable later.
1789 transitions on them later. But they are nullable. */
1790 *nullable++ = d->tokens[i] == BACKREF;
1808 fprintf(stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n");