diff options
Diffstat (limited to 'src/backend/regex/regc_nfa.c')
-rw-r--r-- | src/backend/regex/regc_nfa.c | 242 |
1 files changed, 121 insertions, 121 deletions
diff --git a/src/backend/regex/regc_nfa.c b/src/backend/regex/regc_nfa.c index 90dca5d9dea..2179a38a228 100644 --- a/src/backend/regex/regc_nfa.c +++ b/src/backend/regex/regc_nfa.c @@ -44,9 +44,9 @@ * newnfa - set up an NFA */ static struct nfa * /* the NFA, or NULL */ -newnfa(struct vars * v, - struct colormap * cm, - struct nfa * parent) /* NULL if primary NFA */ +newnfa(struct vars *v, + struct colormap *cm, + struct nfa *parent) /* NULL if primary NFA */ { struct nfa *nfa; @@ -95,7 +95,7 @@ newnfa(struct vars * v, * freenfa - free an entire NFA */ static void -freenfa(struct nfa * nfa) +freenfa(struct nfa *nfa) { struct state *s; @@ -121,7 +121,7 @@ freenfa(struct nfa * nfa) * newstate - allocate an NFA state, with zero flag value */ static struct state * /* NULL on error */ -newstate(struct nfa * nfa) +newstate(struct nfa *nfa) { struct state *s; @@ -185,7 +185,7 @@ newstate(struct nfa * nfa) * newfstate - allocate an NFA state with a specified flag value */ static struct state * /* NULL on error */ -newfstate(struct nfa * nfa, int flag) +newfstate(struct nfa *nfa, int flag) { struct state *s; @@ -199,8 +199,8 @@ newfstate(struct nfa * nfa, int flag) * dropstate - delete a state's inarcs and outarcs and free it */ static void -dropstate(struct nfa * nfa, - struct state * s) +dropstate(struct nfa *nfa, + struct state *s) { struct arc *a; @@ -215,8 +215,8 @@ dropstate(struct nfa * nfa, * freestate - free a state, which has no in-arcs or out-arcs */ static void -freestate(struct nfa * nfa, - struct state * s) +freestate(struct nfa *nfa, + struct state *s) { assert(s != NULL); assert(s->nins == 0 && s->nouts == 0); @@ -246,8 +246,8 @@ freestate(struct nfa * nfa, * destroystate - really get rid of an already-freed state */ static void -destroystate(struct nfa * nfa, - struct state * s) +destroystate(struct nfa *nfa, + struct state *s) { struct arcbatch *ab; struct arcbatch *abnext; @@ -273,11 +273,11 @@ destroystate(struct nfa * nfa, * In general we never want duplicates. */ static void -newarc(struct nfa * nfa, +newarc(struct nfa *nfa, int t, color co, - struct state * from, - struct state * to) + struct state *from, + struct state *to) { struct arc *a; @@ -319,11 +319,11 @@ newarc(struct nfa * nfa, * identical arc (same type/color/from/to). */ static void -createarc(struct nfa * nfa, +createarc(struct nfa *nfa, int t, color co, - struct state * from, - struct state * to) + struct state *from, + struct state *to) { struct arc *a; @@ -365,8 +365,8 @@ createarc(struct nfa * nfa, * allocarc - allocate a new out-arc within a state */ static struct arc * /* NULL for failure */ -allocarc(struct nfa * nfa, - struct state * s) +allocarc(struct nfa *nfa, + struct state *s) { struct arc *a; @@ -418,8 +418,8 @@ allocarc(struct nfa * nfa, * freearc - free an arc */ static void -freearc(struct nfa * nfa, - struct arc * victim) +freearc(struct nfa *nfa, + struct arc *victim) { struct state *from = victim->from; struct state *to = victim->to; @@ -492,7 +492,7 @@ freearc(struct nfa * nfa, * a similar changearcsource function. */ static void -changearctarget(struct arc * a, struct state * newto) +changearctarget(struct arc *a, struct state *newto) { struct state *oldto = a->to; struct arc *predecessor; @@ -534,7 +534,7 @@ changearctarget(struct arc * a, struct state * newto) * hasnonemptyout - Does state have a non-EMPTY out arc? */ static int -hasnonemptyout(struct state * s) +hasnonemptyout(struct state *s) { struct arc *a; @@ -551,7 +551,7 @@ hasnonemptyout(struct state * s) * If there is more than one such arc, the result is random. */ static struct arc * -findarc(struct state * s, +findarc(struct state *s, int type, color co) { @@ -567,10 +567,10 @@ findarc(struct state * s, * cparc - allocate a new arc within an NFA, copying details from old one */ static void -cparc(struct nfa * nfa, - struct arc * oa, - struct state * from, - struct state * to) +cparc(struct nfa *nfa, + struct arc *oa, + struct state *from, + struct state *to) { newarc(nfa, oa->type, oa->co, from, to); } @@ -579,8 +579,8 @@ cparc(struct nfa * nfa, * sortins - sort the in arcs of a state by from/color/type */ static void -sortins(struct nfa * nfa, - struct state * s) +sortins(struct nfa *nfa, + struct state *s) { struct arc **sortarray; struct arc *a; @@ -623,8 +623,8 @@ sortins(struct nfa * nfa, static int sortins_cmp(const void *a, const void *b) { - const struct arc *aa = *((const struct arc * const *) a); - const struct arc *bb = *((const struct arc * const *) b); + const struct arc *aa = *((const struct arc *const *) a); + const struct arc *bb = *((const struct arc *const *) b); /* we check the fields in the order they are most likely to be different */ if (aa->from->no < bb->from->no) @@ -646,8 +646,8 @@ sortins_cmp(const void *a, const void *b) * sortouts - sort the out arcs of a state by to/color/type */ static void -sortouts(struct nfa * nfa, - struct state * s) +sortouts(struct nfa *nfa, + struct state *s) { struct arc **sortarray; struct arc *a; @@ -690,8 +690,8 @@ sortouts(struct nfa * nfa, static int sortouts_cmp(const void *a, const void *b) { - const struct arc *aa = *((const struct arc * const *) a); - const struct arc *bb = *((const struct arc * const *) b); + const struct arc *aa = *((const struct arc *const *) a); + const struct arc *bb = *((const struct arc *const *) b); /* we check the fields in the order they are most likely to be different */ if (aa->to->no < bb->to->no) @@ -733,9 +733,9 @@ sortouts_cmp(const void *a, const void *b) * the arc lists, and then we can indeed just update the arcs in-place. */ static void -moveins(struct nfa * nfa, - struct state * oldState, - struct state * newState) +moveins(struct nfa *nfa, + struct state *oldState, + struct state *newState) { assert(oldState != newState); @@ -825,9 +825,9 @@ moveins(struct nfa * nfa, * copyins - copy in arcs of a state to another state */ static void -copyins(struct nfa * nfa, - struct state * oldState, - struct state * newState) +copyins(struct nfa *nfa, + struct state *oldState, + struct state *newState) { assert(oldState != newState); @@ -907,9 +907,9 @@ copyins(struct nfa * nfa, * and are not guaranteed unique. It's okay to clobber the array contents. */ static void -mergeins(struct nfa * nfa, - struct state * s, - struct arc ** arcarray, +mergeins(struct nfa *nfa, + struct state *s, + struct arc **arcarray, int arccount) { struct arc *na; @@ -1004,9 +1004,9 @@ mergeins(struct nfa * nfa, * moveouts - move all out arcs of a state to another state */ static void -moveouts(struct nfa * nfa, - struct state * oldState, - struct state * newState) +moveouts(struct nfa *nfa, + struct state *oldState, + struct state *newState) { assert(oldState != newState); @@ -1093,9 +1093,9 @@ moveouts(struct nfa * nfa, * copyouts - copy out arcs of a state to another state */ static void -copyouts(struct nfa * nfa, - struct state * oldState, - struct state * newState) +copyouts(struct nfa *nfa, + struct state *oldState, + struct state *newState) { assert(oldState != newState); @@ -1172,10 +1172,10 @@ copyouts(struct nfa * nfa, * cloneouts - copy out arcs of a state to another state pair, modifying type */ static void -cloneouts(struct nfa * nfa, - struct state * old, - struct state * from, - struct state * to, +cloneouts(struct nfa *nfa, + struct state *old, + struct state *from, + struct state *to, int type) { struct arc *a; @@ -1193,9 +1193,9 @@ cloneouts(struct nfa * nfa, * states using their tmp pointer. */ static void -delsub(struct nfa * nfa, - struct state * lp, /* the sub-NFA goes from here... */ - struct state * rp) /* ...to here, *not* inclusive */ +delsub(struct nfa *nfa, + struct state *lp, /* the sub-NFA goes from here... */ + struct state *rp) /* ...to here, *not* inclusive */ { assert(lp != rp); @@ -1216,9 +1216,9 @@ delsub(struct nfa * nfa, * This routine's basic job is to destroy all out-arcs of the state. */ static void -deltraverse(struct nfa * nfa, - struct state * leftend, - struct state * s) +deltraverse(struct nfa *nfa, + struct state *leftend, + struct state *s) { struct arc *a; struct state *to; @@ -1267,11 +1267,11 @@ deltraverse(struct nfa * nfa, * it's a state pointer, didn't you? :-)) */ static void -dupnfa(struct nfa * nfa, - struct state * start, /* duplicate of subNFA starting here */ - struct state * stop, /* and stopping here */ - struct state * from, /* stringing duplicate from here */ - struct state * to) /* to here */ +dupnfa(struct nfa *nfa, + struct state *start, /* duplicate of subNFA starting here */ + struct state *stop, /* and stopping here */ + struct state *from, /* stringing duplicate from here */ + struct state *to) /* to here */ { if (start == stop) { @@ -1291,9 +1291,9 @@ dupnfa(struct nfa * nfa, * duptraverse - recursive heart of dupnfa */ static void -duptraverse(struct nfa * nfa, - struct state * s, - struct state * stmp) /* s's duplicate, or NULL */ +duptraverse(struct nfa *nfa, + struct state *s, + struct state *stmp) /* s's duplicate, or NULL */ { struct arc *a; @@ -1328,8 +1328,8 @@ duptraverse(struct nfa * nfa, * cleartraverse - recursive cleanup for algorithms that leave tmp ptrs set */ static void -cleartraverse(struct nfa * nfa, - struct state * s) +cleartraverse(struct nfa *nfa, + struct state *s) { struct arc *a; @@ -1365,7 +1365,7 @@ cleartraverse(struct nfa * nfa, * that implementation detail not create user-visible performance differences. */ static struct state * -single_color_transition(struct state * s1, struct state * s2) +single_color_transition(struct state *s1, struct state *s2) { struct arc *a; @@ -1395,7 +1395,7 @@ single_color_transition(struct state * s1, struct state * s2) * specialcolors - fill in special colors for an NFA */ static void -specialcolors(struct nfa * nfa) +specialcolors(struct nfa *nfa) { /* false colors for BOS, BOL, EOS, EOL */ if (nfa->parent == NULL) @@ -1434,7 +1434,7 @@ specialcolors(struct nfa * nfa) * without making any progress in the input string. */ static long /* re_info bits */ -optimize(struct nfa * nfa, +optimize(struct nfa *nfa, FILE *f) /* for debug output; NULL none */ { #ifdef REG_DEBUG @@ -1474,7 +1474,7 @@ optimize(struct nfa * nfa, * pullback - pull back constraints backward to eliminate them */ static void -pullback(struct nfa * nfa, +pullback(struct nfa *nfa, FILE *f) /* for debug output; NULL none */ { struct state *s; @@ -1554,9 +1554,9 @@ pullback(struct nfa * nfa, * through their tmp fields). */ static int -pull(struct nfa * nfa, - struct arc * con, - struct state ** intermediates) +pull(struct nfa *nfa, + struct arc *con, + struct state **intermediates) { struct state *from = con->from; struct state *to = con->to; @@ -1641,7 +1641,7 @@ pull(struct nfa * nfa, * pushfwd - push forward constraints forward to eliminate them */ static void -pushfwd(struct nfa * nfa, +pushfwd(struct nfa *nfa, FILE *f) /* for debug output; NULL none */ { struct state *s; @@ -1721,9 +1721,9 @@ pushfwd(struct nfa * nfa, * through their tmp fields). */ static int -push(struct nfa * nfa, - struct arc * con, - struct state ** intermediates) +push(struct nfa *nfa, + struct arc *con, + struct state **intermediates) { struct state *from = con->from; struct state *to = con->to; @@ -1812,8 +1812,8 @@ push(struct nfa * nfa, * #def COMPATIBLE 3 // compatible but not satisfied yet */ static int -combine(struct arc * con, - struct arc * a) +combine(struct arc *con, + struct arc *a) { #define CA(ct,at) (((ct)<<CHAR_BIT) | (at)) @@ -1866,7 +1866,7 @@ combine(struct arc * con, * fixempties - get rid of EMPTY arcs */ static void -fixempties(struct nfa * nfa, +fixempties(struct nfa *nfa, FILE *f) /* for debug output; NULL none */ { struct state *s; @@ -2093,10 +2093,10 @@ fixempties(struct nfa * nfa, * the NFA ... but that could still be enough to cause trouble. */ static struct state * -emptyreachable(struct nfa * nfa, - struct state * s, - struct state * lastfound, - struct arc ** inarcsorig) +emptyreachable(struct nfa *nfa, + struct state *s, + struct state *lastfound, + struct arc **inarcsorig) { struct arc *a; @@ -2121,7 +2121,7 @@ emptyreachable(struct nfa * nfa, * isconstraintarc - detect whether an arc is of a constraint type */ static inline int -isconstraintarc(struct arc * a) +isconstraintarc(struct arc *a) { switch (a->type) { @@ -2139,7 +2139,7 @@ isconstraintarc(struct arc * a) * hasconstraintout - does state have a constraint out arc? */ static int -hasconstraintout(struct state * s) +hasconstraintout(struct state *s) { struct arc *a; @@ -2160,7 +2160,7 @@ hasconstraintout(struct state * s) * of such loops before doing that. */ static void -fixconstraintloops(struct nfa * nfa, +fixconstraintloops(struct nfa *nfa, FILE *f) /* for debug output; NULL none */ { struct state *s; @@ -2259,7 +2259,7 @@ restart: * of the NFA ... but that could still be enough to cause trouble. */ static int -findconstraintloop(struct nfa * nfa, struct state * s) +findconstraintloop(struct nfa *nfa, struct state *s) { struct arc *a; @@ -2348,7 +2348,7 @@ findconstraintloop(struct nfa * nfa, struct state * s) * break the loop just by removing those loop arcs, with no new states added. */ static void -breakconstraintloop(struct nfa * nfa, struct state * sinitial) +breakconstraintloop(struct nfa *nfa, struct state *sinitial) { struct state *s; struct state *shead; @@ -2494,11 +2494,11 @@ breakconstraintloop(struct nfa * nfa, struct state * sinitial) * successor states. */ static void -clonesuccessorstates(struct nfa * nfa, - struct state * ssource, - struct state * sclone, - struct state * spredecessor, - struct arc * refarc, +clonesuccessorstates(struct nfa *nfa, + struct state *ssource, + struct state *sclone, + struct state *spredecessor, + struct arc *refarc, char *curdonemap, char *outerdonemap, int nstates) @@ -2726,7 +2726,7 @@ clonesuccessorstates(struct nfa * nfa, * cleanup - clean up NFA after optimizations */ static void -cleanup(struct nfa * nfa) +cleanup(struct nfa *nfa) { struct state *s; struct state *nexts; @@ -2761,10 +2761,10 @@ cleanup(struct nfa * nfa) * markreachable - recursive marking of reachable states */ static void -markreachable(struct nfa * nfa, - struct state * s, - struct state * okay, /* consider only states with this mark */ - struct state * mark) /* the value to mark with */ +markreachable(struct nfa *nfa, + struct state *s, + struct state *okay, /* consider only states with this mark */ + struct state *mark) /* the value to mark with */ { struct arc *a; @@ -2787,10 +2787,10 @@ markreachable(struct nfa * nfa, * markcanreach - recursive marking of states which can reach here */ static void -markcanreach(struct nfa * nfa, - struct state * s, - struct state * okay, /* consider only states with this mark */ - struct state * mark) /* the value to mark with */ +markcanreach(struct nfa *nfa, + struct state *s, + struct state *okay, /* consider only states with this mark */ + struct state *mark) /* the value to mark with */ { struct arc *a; @@ -2813,7 +2813,7 @@ markcanreach(struct nfa * nfa, * analyze - ascertain potentially-useful facts about an optimized NFA */ static long /* re_info bits to be ORed in */ -analyze(struct nfa * nfa) +analyze(struct nfa *nfa) { struct arc *a; struct arc *aa; @@ -2834,8 +2834,8 @@ analyze(struct nfa * nfa) * compact - construct the compact representation of an NFA */ static void -compact(struct nfa * nfa, - struct cnfa * cnfa) +compact(struct nfa *nfa, + struct cnfa *cnfa) { struct state *s; struct arc *a; @@ -2922,7 +2922,7 @@ compact(struct nfa * nfa, * carcsort - sort compacted-NFA arcs by color */ static void -carcsort(struct carc * first, size_t n) +carcsort(struct carc *first, size_t n) { if (n > 1) qsort(first, n, sizeof(struct carc), carc_cmp); @@ -2949,7 +2949,7 @@ carc_cmp(const void *a, const void *b) * freecnfa - free a compacted NFA */ static void -freecnfa(struct cnfa * cnfa) +freecnfa(struct cnfa *cnfa) { assert(cnfa->nstates != 0); /* not empty already */ cnfa->nstates = 0; @@ -2962,7 +2962,7 @@ freecnfa(struct cnfa * cnfa) * dumpnfa - dump an NFA in human-readable form */ static void -dumpnfa(struct nfa * nfa, +dumpnfa(struct nfa *nfa, FILE *f) { #ifdef REG_DEBUG @@ -2999,7 +2999,7 @@ dumpnfa(struct nfa * nfa, * dumpstate - dump an NFA state in human-readable form */ static void -dumpstate(struct state * s, +dumpstate(struct state *s, FILE *f) { struct arc *a; @@ -3025,7 +3025,7 @@ dumpstate(struct state * s, * dumparcs - dump out-arcs in human-readable form */ static void -dumparcs(struct state * s, +dumparcs(struct state *s, FILE *f) { int pos; @@ -3057,8 +3057,8 @@ dumparcs(struct state * s, * dumparc - dump one outarc in readable form, including prefixing tab */ static void -dumparc(struct arc * a, - struct state * s, +dumparc(struct arc *a, + struct state *s, FILE *f) { struct arc *aa; @@ -3121,7 +3121,7 @@ dumparc(struct arc * a, */ #ifdef REG_DEBUG static void -dumpcnfa(struct cnfa * cnfa, +dumpcnfa(struct cnfa *cnfa, FILE *f) { int st; @@ -3151,7 +3151,7 @@ dumpcnfa(struct cnfa * cnfa, */ static void dumpcstate(int st, - struct cnfa * cnfa, + struct cnfa *cnfa, FILE *f) { struct carc *ca; |