diff options
| author | dgp@users.sourceforge.net <dgp> | 2013-03-05 14:38:10 (GMT) |
|---|---|---|
| committer | dgp@users.sourceforge.net <dgp> | 2013-03-05 14:38:10 (GMT) |
| commit | 0b4094f96f5012e590aa68487c1ab9d99f568b8c (patch) | |
| tree | fed8e348d8864f1d9eef2f08e2548786baed2a94 /generic/regcomp.c | |
| parent | 642b5c8d6a8ac7ec3250bdd0570878ecb00ba05c (diff) | |
| download | tcl-0b4094f96f5012e590aa68487c1ab9d99f568b8c.zip tcl-0b4094f96f5012e590aa68487c1ab9d99f568b8c.tar.gz tcl-0b4094f96f5012e590aa68487c1ab9d99f568b8c.tar.bz2 | |
Contributed patch from Tom Lane <tgl@users.sf.net>. Merge conflicts due to
different coding style and lingering obsolete compiler support resolved.
Diffstat (limited to 'generic/regcomp.c')
| -rw-r--r-- | generic/regcomp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/generic/regcomp.c b/generic/regcomp.c index 307877a..6fd9c81 100644 --- a/generic/regcomp.c +++ b/generic/regcomp.c @@ -123,12 +123,16 @@ static VOID destroystate _ANSI_ARGS_((struct nfa *, struct state *)); static VOID newarc _ANSI_ARGS_((struct nfa *, int, pcolor, struct state *, struct state *)); static struct arc *allocarc _ANSI_ARGS_((struct nfa *, struct state *)); static VOID freearc _ANSI_ARGS_((struct nfa *, struct arc *)); +static int nonemptyouts _ANSI_ARGS_((struct state *)); +static int nonemptyins _ANSI_ARGS_((struct state *)); static struct arc *findarc _ANSI_ARGS_((struct state *, int, pcolor)); static VOID cparc _ANSI_ARGS_((struct nfa *, struct arc *, struct state *, struct state *)); static VOID moveins _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID copyins _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); +static VOID copynonemptyins _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID moveouts _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID copyouts _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); +static VOID copynonemptyouts _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID cloneouts _ANSI_ARGS_((struct nfa *, struct state *, struct state *, struct state *, int)); static VOID delsub _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID deltraverse _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); @@ -146,7 +150,8 @@ static int push _ANSI_ARGS_((struct nfa *, struct arc *)); #define COMPATIBLE 3 /* compatible but not satisfied yet */ static int combine _ANSI_ARGS_((struct arc *, struct arc *)); static VOID fixempties _ANSI_ARGS_((struct nfa *, FILE *)); -static int unempty _ANSI_ARGS_((struct nfa *, struct arc *)); +static struct state *emptyreachable _ANSI_ARGS_((struct state *, struct state *)); +static VOID replaceempty _ANSI_ARGS_((struct nfa *, struct state *, struct state *)); static VOID cleanup _ANSI_ARGS_((struct nfa *)); static VOID markreachable _ANSI_ARGS_((struct nfa *, struct state *, struct state *, struct state *)); static VOID markcanreach _ANSI_ARGS_((struct nfa *, struct state *, struct state *, struct state *)); |
