Lines Matching refs:nullable
1599 Nullable: A node is nullable if it is at the root of a regexp that can
1601 * EMPTY leaves are nullable.
1602 * No other leaf is nullable.
1603 * A QMARK or STAR node is nullable.
1604 * A PLUS node is nullable if its argument is nullable.
1605 * A CAT node is nullable if both its arguments are nullable.
1606 * An OR node is nullable if either argument is nullable.
1616 the firstpos of the right if the left argument is nullable.
1627 the lastpos of the left if the right argument is nullable.
1650 int *nullable; /* Nullable stack. */
1677 MALLOC(nullable, int, d->depth);
1678 o_nullable = nullable;
1701 /* The empty set is nullable. */
1702 *nullable++ = 1;
1724 /* A QMARK or STAR node is automatically nullable. */
1726 nullable[-1] = 1;
1744 union that of the second argument if the first is nullable. */
1745 if (nullable[-2])
1752 union that of the first argument if the second is nullable. */
1753 if (nullable[-1])
1765 /* A CAT node is nullable if both arguments are nullable. */
1766 nullable[-2] = nullable[-1] && nullable[-2];
1767 --nullable;
1780 /* An OR node is nullable if either argument is nullable. */
1781 nullable[-2] = nullable[-1] || nullable[-2];
1782 --nullable;
1788 an "epsilon closure" effectively makes them nullable later.
1790 transitions on them later. But they are nullable. */
1791 *nullable++ = d->tokens[i] == BACKREF;
1809 fprintf(stderr, nullable[-1] ? " nullable: yes\n" : " nullable: no\n");