Lines Matching defs:nullable
1618 Nullable: A node is nullable if it is at the root of a regexp that can
1620 * EMPTY leaves are nullable.
1621 * No other leaf is nullable.
1622 * A QMARK or STAR node is nullable.
1623 * A PLUS node is nullable if its argument is nullable.
1624 * A CAT node is nullable if both its arguments are nullable.
1625 * An OR node is nullable if either argument is nullable.
1635 the firstpos of the right if the left argument is nullable.
1646 the lastpos of the left if the right argument is nullable.
1669 int *nullable; /* Nullable stack. */
1696 MALLOC(nullable, int, d->depth);
1697 o_nullable = nullable;
1720 /* The empty set is nullable. */
1721 *nullable++ = 1;
1743 /* A QMARK or STAR node is automatically nullable. */
1745 nullable[-1] = 1;
1763 union that of the second argument if the first is nullable. */
1764 if (nullable[-2])
1771 union that of the first argument if the second is nullable. */
1772 if (nullable[-1])
1784 /* A CAT node is nullable if both arguments are nullable. */
1785 nullable[-2] = nullable[-1] && nullable[-2];
1786 --nullable;
1799 /* An OR node is nullable if either argument is nullable. */
1800 nullable[-2] = nullable[-1] || nullable[-2];
1801 --nullable;
1807 an "epsilon closure" effectively makes them nullable later.
1809 transitions on them later. But they are nullable. */
1810 *nullable++ = d->tokens[i] == BACKREF;
1828 fprintf(stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n");