Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitbc2187e

Browse files
Consistently use named parameters in regex code.
Make regex code consistently use named parameters in functiondeclarations. Also make sure that parameter names from each function'sdeclaration match corresponding definition parameter names.This makes Henry Spencer's regex code follow Postgres coding standards.Author: Peter Geoghegan <pg@bowt.ie>Reviewed-By: David Rowley <dgrowleyml@gmail.com>Discussion:https://postgr.es/m/CAH2-WznJt9CMM9KJTMjJh_zbL5hD9oX44qdJ4aqZtjFi-zA3Tg@mail.gmail.com
1 parent55b4966 commitbc2187e

File tree

5 files changed

+241
-184
lines changed

5 files changed

+241
-184
lines changed

‎src/backend/regex/regcomp.c

Lines changed: 193 additions & 149 deletions
Original file line numberDiff line numberDiff line change
@@ -38,158 +38,200 @@
3838
* forward declarations, up here so forward datatypes etc. are defined early
3939
*/
4040
/* === regcomp.c === */
41-
staticvoidmoresubs(structvars*,int);
42-
staticintfreev(structvars*,int);
43-
staticvoidmakesearch(structvars*,structnfa*);
44-
staticstructsubre*parse(structvars*,int,int,structstate*,structstate*);
45-
staticstructsubre*parsebranch(structvars*,int,int,structstate*,structstate*,int);
46-
staticstructsubre*parseqatom(structvars*,int,int,structstate*,structstate*,structsubre*);
47-
staticvoidnonword(structvars*,int,structstate*,structstate*);
48-
staticvoidword(structvars*,int,structstate*,structstate*);
49-
staticvoidcharclass(structvars*,enumchar_classes,
50-
structstate*,structstate*);
51-
staticvoidcharclasscomplement(structvars*,enumchar_classes,
52-
structstate*,structstate*);
53-
staticintscannum(structvars*);
54-
staticvoidrepeat(structvars*,structstate*,structstate*,int,int);
55-
staticvoidbracket(structvars*,structstate*,structstate*);
56-
staticvoidcbracket(structvars*,structstate*,structstate*);
57-
staticvoidbrackpart(structvars*,structstate*,structstate*,bool*);
58-
staticconstchr*scanplain(structvars*);
59-
staticvoidonechr(structvars*,chr,structstate*,structstate*);
60-
staticvoidoptimizebracket(structvars*,structstate*,structstate*);
61-
staticvoidwordchrs(structvars*);
62-
staticvoidprocesslacon(structvars*,structstate*,structstate*,int,
63-
structstate*,structstate*);
64-
staticstructsubre*subre(structvars*,int,int,structstate*,structstate*);
65-
staticvoidfreesubre(structvars*,structsubre*);
66-
staticvoidfreesubreandsiblings(structvars*,structsubre*);
67-
staticvoidfreesrnode(structvars*,structsubre*);
68-
staticvoidremovecaptures(structvars*,structsubre*);
69-
staticintnumst(structsubre*,int);
70-
staticvoidmarkst(structsubre*);
71-
staticvoidcleanst(structvars*);
72-
staticlongnfatree(structvars*,structsubre*,FILE*);
73-
staticlongnfanode(structvars*,structsubre*,int,FILE*);
74-
staticintnewlacon(structvars*,structstate*,structstate*,int);
75-
staticvoidfreelacons(structsubre*,int);
76-
staticvoidrfree(regex_t*);
41+
staticvoidmoresubs(structvars*v,intwanted);
42+
staticintfreev(structvars*v,interr);
43+
staticvoidmakesearch(structvars*v,structnfa*nfa);
44+
staticstructsubre*parse(structvars*v,intstopper,inttype,
45+
structstate*init,structstate*final);
46+
staticstructsubre*parsebranch(structvars*v,intstopper,inttype,
47+
structstate*left,structstate*right,
48+
intpartial);
49+
staticstructsubre*parseqatom(structvars*v,intstopper,inttype,
50+
structstate*lp,structstate*rp,
51+
structsubre*top);
52+
staticvoidnonword(structvars*v,intdir,structstate*lp,
53+
structstate*rp);
54+
staticvoidword(structvars*v,intdir,structstate*lp,structstate*rp);
55+
staticvoidcharclass(structvars*v,enumchar_classescls,structstate*lp,
56+
structstate*rp);
57+
staticvoidcharclasscomplement(structvars*v,enumchar_classescls,
58+
structstate*lp,structstate*rp);
59+
staticintscannum(structvars*v);
60+
staticvoidrepeat(structvars*v,structstate*lp,structstate*rp,
61+
intm,intn);
62+
staticvoidbracket(structvars*v,structstate*lp,structstate*rp);
63+
staticvoidcbracket(structvars*v,structstate*lp,structstate*rp);
64+
staticvoidbrackpart(structvars*v,structstate*lp,structstate*rp,
65+
bool*have_cclassc);
66+
staticconstchr*scanplain(structvars*v);
67+
staticvoidonechr(structvars*v,chrc,structstate*lp,structstate*rp);
68+
staticvoidoptimizebracket(structvars*v,structstate*lp,structstate*rp);
69+
staticvoidwordchrs(structvars*v);
70+
staticvoidprocesslacon(structvars*v,structstate*begin,
71+
structstate*end,intlatype,
72+
structstate*lp,structstate*rp);
73+
staticstructsubre*subre(structvars*v,intop,intflags,
74+
structstate*begin,structstate*end);
75+
staticvoidfreesubre(structvars*v,structsubre*sr);
76+
staticvoidfreesubreandsiblings(structvars*v,structsubre*sr);
77+
staticvoidfreesrnode(structvars*v,structsubre*sr);
78+
staticvoidremovecaptures(structvars*v,structsubre*t);
79+
staticintnumst(structsubre*t,intstart);
80+
staticvoidmarkst(structsubre*t);
81+
staticvoidcleanst(structvars*v);
82+
staticlongnfatree(structvars*v,structsubre*t,FILE*f);
83+
staticlongnfanode(structvars*v,structsubre*t,
84+
intconverttosearch,FILE*f);
85+
staticintnewlacon(structvars*v,structstate*begin,structstate*end,
86+
intlatype);
87+
staticvoidfreelacons(structsubre*subs,intn);
88+
staticvoidrfree(regex_t*re);
7789
staticintrcancelrequested(void);
7890
staticintrstacktoodeep(void);
7991

8092
#ifdefREG_DEBUG
81-
staticvoiddump(regex_t*,FILE*);
82-
staticvoiddumpst(structsubre*,FILE*,int);
83-
staticvoidstdump(structsubre*,FILE*,int);
84-
staticconstchar*stid(structsubre*,char*,size_t);
93+
staticvoiddump(regex_t*re,FILE*f);
94+
staticvoiddumpst(structsubre*t,FILE*f,intnfapresent);
95+
staticvoidstdump(structsubre*t,FILE*f,intnfapresent);
96+
staticconstchar*stid(structsubre*t,char*buf,size_tbufsize);
8597
#endif
8698
/* === regc_lex.c === */
87-
staticvoidlexstart(structvars*);
88-
staticvoidprefixes(structvars*);
89-
staticintnext(structvars*);
90-
staticintlexescape(structvars*);
91-
staticchrlexdigits(structvars*,int,int,int);
92-
staticintbrenext(structvars*,chr);
93-
staticvoidskip(structvars*);
99+
staticvoidlexstart(structvars*v);
100+
staticvoidprefixes(structvars*v);
101+
staticintnext(structvars*v);
102+
staticintlexescape(structvars*v);
103+
staticchrlexdigits(structvars*v,intbase,intminlen,intmaxlen);
104+
staticintbrenext(structvars*v,chrc);
105+
staticvoidskip(structvars*v);
94106
staticchrnewline(void);
95-
staticchrchrnamed(structvars*,constchr*,constchr*,chr);
107+
staticchrchrnamed(structvars*v,constchr*startp,constchr*endp,
108+
chrlastresort);
96109

97110
/* === regc_color.c === */
98-
staticvoidinitcm(structvars*,structcolormap*);
99-
staticvoidfreecm(structcolormap*);
100-
staticcolormaxcolor(structcolormap*);
101-
staticcolornewcolor(structcolormap*);
102-
staticvoidfreecolor(structcolormap*,color);
103-
staticcolorpseudocolor(structcolormap*);
104-
staticcolorsubcolor(structcolormap*,chr);
105-
staticcolorsubcolorhi(structcolormap*,color*);
106-
staticcolornewsub(structcolormap*,color);
107-
staticintnewhicolorrow(structcolormap*,int);
108-
staticvoidnewhicolorcols(structcolormap*);
109-
staticvoidsubcolorcvec(structvars*,structcvec*,structstate*,structstate*);
110-
staticvoidsubcoloronechr(structvars*,chr,structstate*,structstate*,color*);
111-
staticvoidsubcoloronerange(structvars*,chr,chr,structstate*,structstate*,color*);
112-
staticvoidsubcoloronerow(structvars*,int,structstate*,structstate*,color*);
113-
staticvoidokcolors(structnfa*,structcolormap*);
114-
staticvoidcolorchain(structcolormap*,structarc*);
115-
staticvoiduncolorchain(structcolormap*,structarc*);
116-
staticvoidrainbow(structnfa*,structcolormap*,int,color,structstate*,structstate*);
117-
staticvoidcolorcomplement(structnfa*,structcolormap*,int,structstate*,structstate*,structstate*);
111+
staticvoidinitcm(structvars*v,structcolormap*cm);
112+
staticvoidfreecm(structcolormap*cm);
113+
staticcolormaxcolor(structcolormap*cm);
114+
staticcolornewcolor(structcolormap*cm);
115+
staticvoidfreecolor(structcolormap*cm,colorco);
116+
staticcolorpseudocolor(structcolormap*cm);
117+
staticcolorsubcolor(structcolormap*cm,chrc);
118+
staticcolorsubcolorhi(structcolormap*cm,color*pco);
119+
staticcolornewsub(structcolormap*cm,colorco);
120+
staticintnewhicolorrow(structcolormap*cm,intoldrow);
121+
staticvoidnewhicolorcols(structcolormap*cm);
122+
staticvoidsubcolorcvec(structvars*v,structcvec*cv,structstate*lp,
123+
structstate*rp);
124+
staticvoidsubcoloronechr(structvars*v,chrch,structstate*lp,
125+
structstate*rp,color*lastsubcolor);
126+
staticvoidsubcoloronerange(structvars*v,chrfrom,chrto,
127+
structstate*lp,structstate*rp,
128+
color*lastsubcolor);
129+
staticvoidsubcoloronerow(structvars*v,intrownum,structstate*lp,
130+
structstate*rp,color*lastsubcolor);
131+
staticvoidokcolors(structnfa*nfa,structcolormap*cm);
132+
staticvoidcolorchain(structcolormap*cm,structarc*a);
133+
staticvoiduncolorchain(structcolormap*cm,structarc*a);
134+
staticvoidrainbow(structnfa*nfa,structcolormap*cm,inttype,colorbut,
135+
structstate*from,structstate*to);
136+
staticvoidcolorcomplement(structnfa*nfa,structcolormap*cm,inttype,
137+
structstate*of,structstate*from,
138+
structstate*to);
118139

119140
#ifdefREG_DEBUG
120-
staticvoiddumpcolors(structcolormap*,FILE*);
121-
staticvoiddumpchr(chr,FILE*);
141+
staticvoiddumpcolors(structcolormap*cm,FILE*f);
142+
staticvoiddumpchr(chrc,FILE*f);
122143
#endif
123144
/* === regc_nfa.c === */
124-
staticstructnfa*newnfa(structvars*,structcolormap*,structnfa*);
125-
staticvoidfreenfa(structnfa*);
126-
staticstructstate*newstate(structnfa*);
127-
staticstructstate*newfstate(structnfa*,intflag);
128-
staticvoiddropstate(structnfa*,structstate*);
129-
staticvoidfreestate(structnfa*,structstate*);
130-
staticvoidnewarc(structnfa*,int,color,structstate*,structstate*);
131-
staticvoidcreatearc(structnfa*,int,color,structstate*,structstate*);
132-
staticstructarc*allocarc(structnfa*);
133-
staticvoidfreearc(structnfa*,structarc*);
134-
staticvoidchangearcsource(structarc*,structstate*);
135-
staticvoidchangearctarget(structarc*,structstate*);
136-
staticinthasnonemptyout(structstate*);
137-
staticstructarc*findarc(structstate*,int,color);
138-
staticvoidcparc(structnfa*,structarc*,structstate*,structstate*);
139-
staticvoidsortins(structnfa*,structstate*);
140-
staticintsortins_cmp(constvoid*,constvoid*);
141-
staticvoidsortouts(structnfa*,structstate*);
142-
staticintsortouts_cmp(constvoid*,constvoid*);
143-
staticvoidmoveins(structnfa*,structstate*,structstate*);
144-
staticvoidcopyins(structnfa*,structstate*,structstate*);
145-
staticvoidmergeins(structnfa*,structstate*,structarc**,int);
146-
staticvoidmoveouts(structnfa*,structstate*,structstate*);
147-
staticvoidcopyouts(structnfa*,structstate*,structstate*);
148-
staticvoidcloneouts(structnfa*,structstate*,structstate*,structstate*,int);
149-
staticvoiddelsub(structnfa*,structstate*,structstate*);
150-
staticvoiddeltraverse(structnfa*,structstate*,structstate*);
151-
staticvoiddupnfa(structnfa*,structstate*,structstate*,structstate*,structstate*);
152-
staticvoidduptraverse(structnfa*,structstate*,structstate*);
153-
staticvoidremoveconstraints(structnfa*,structstate*,structstate*);
154-
staticvoidremovetraverse(structnfa*,structstate*);
155-
staticvoidcleartraverse(structnfa*,structstate*);
156-
staticstructstate*single_color_transition(structstate*,structstate*);
157-
staticvoidspecialcolors(structnfa*);
158-
staticlongoptimize(structnfa*,FILE*);
159-
staticvoidpullback(structnfa*,FILE*);
160-
staticintpull(structnfa*,structarc*,structstate**);
161-
staticvoidpushfwd(structnfa*,FILE*);
162-
staticintpush(structnfa*,structarc*,structstate**);
145+
staticstructnfa*newnfa(structvars*v,structcolormap*cm,
146+
structnfa*parent);
147+
staticvoidfreenfa(structnfa*nfa);
148+
staticstructstate*newstate(structnfa*nfa);
149+
staticstructstate*newfstate(structnfa*nfa,intflag);
150+
staticvoiddropstate(structnfa*nfa,structstate*s);
151+
staticvoidfreestate(structnfa*nfa,structstate*s);
152+
staticvoidnewarc(structnfa*nfa,intt,colorco,
153+
structstate*from,structstate*to);
154+
staticvoidcreatearc(structnfa*nfa,intt,colorco,
155+
structstate*from,structstate*to);
156+
staticstructarc*allocarc(structnfa*nfa);
157+
staticvoidfreearc(structnfa*nfa,structarc*victim);
158+
staticvoidchangearcsource(structarc*a,structstate*newfrom);
159+
staticvoidchangearctarget(structarc*a,structstate*newto);
160+
staticinthasnonemptyout(structstate*s);
161+
staticstructarc*findarc(structstate*s,inttype,colorco);
162+
staticvoidcparc(structnfa*nfa,structarc*oa,
163+
structstate*from,structstate*to);
164+
staticvoidsortins(structnfa*nfa,structstate*s);
165+
staticintsortins_cmp(constvoid*a,constvoid*b);
166+
staticvoidsortouts(structnfa*nfa,structstate*s);
167+
staticintsortouts_cmp(constvoid*a,constvoid*b);
168+
staticvoidmoveins(structnfa*nfa,structstate*oldState,
169+
structstate*newState);
170+
staticvoidcopyins(structnfa*nfa,structstate*oldState,
171+
structstate*newState);
172+
staticvoidmergeins(structnfa*nfa,structstate*s,
173+
structarc**arcarray,intarccount);
174+
staticvoidmoveouts(structnfa*nfa,structstate*oldState,
175+
structstate*newState);
176+
staticvoidcopyouts(structnfa*nfa,structstate*oldState,
177+
structstate*newState);
178+
staticvoidcloneouts(structnfa*nfa,structstate*old,structstate*from,
179+
structstate*to,inttype);
180+
staticvoiddelsub(structnfa*nfa,structstate*lp,structstate*rp);
181+
staticvoiddeltraverse(structnfa*nfa,structstate*leftend,
182+
structstate*s);
183+
staticvoiddupnfa(structnfa*nfa,structstate*start,structstate*stop,
184+
structstate*from,structstate*to);
185+
staticvoidduptraverse(structnfa*nfa,structstate*s,structstate*stmp);
186+
staticvoidremoveconstraints(structnfa*nfa,structstate*start,structstate*stop);
187+
staticvoidremovetraverse(structnfa*nfa,structstate*s);
188+
staticvoidcleartraverse(structnfa*nfa,structstate*s);
189+
staticstructstate*single_color_transition(structstate*s1,
190+
structstate*s2);
191+
staticvoidspecialcolors(structnfa*nfa);
192+
staticlongoptimize(structnfa*nfa,FILE*f);
193+
staticvoidpullback(structnfa*nfa,FILE*f);
194+
staticintpull(structnfa*nfa,structarc*con,
195+
structstate**intermediates);
196+
staticvoidpushfwd(structnfa*nfa,FILE*f);
197+
staticintpush(structnfa*nfa,structarc*con,
198+
structstate**intermediates);
163199

164200
#defineINCOMPATIBLE1/* destroys arc */
165201
#defineSATISFIED2/* constraint satisfied */
166202
#defineCOMPATIBLE3/* compatible but not satisfied yet */
167203
#defineREPLACEARC4/* replace arc's color with constraint color */
168204
staticintcombine(structnfa*nfa,structarc*con,structarc*a);
169-
staticvoidfixempties(structnfa*,FILE*);
170-
staticstructstate*emptyreachable(structnfa*,structstate*,
171-
structstate*,structarc**);
172-
staticintisconstraintarc(structarc*);
173-
staticinthasconstraintout(structstate*);
174-
staticvoidfixconstraintloops(structnfa*,FILE*);
175-
staticintfindconstraintloop(structnfa*,structstate*);
176-
staticvoidbreakconstraintloop(structnfa*,structstate*);
177-
staticvoidclonesuccessorstates(structnfa*,structstate*,structstate*,
178-
structstate*,structarc*,
179-
char*,char*,int);
180-
staticvoidcleanup(structnfa*);
181-
staticvoidmarkreachable(structnfa*,structstate*,structstate*,structstate*);
182-
staticvoidmarkcanreach(structnfa*,structstate*,structstate*,structstate*);
183-
staticlonganalyze(structnfa*);
184-
staticvoidcheckmatchall(structnfa*);
185-
staticboolcheckmatchall_recurse(structnfa*,structstate*,bool**);
186-
staticboolcheck_out_colors_match(structstate*,color,color);
187-
staticboolcheck_in_colors_match(structstate*,color,color);
188-
staticvoidcompact(structnfa*,structcnfa*);
189-
staticvoidcarcsort(structcarc*,size_t);
190-
staticintcarc_cmp(constvoid*,constvoid*);
191-
staticvoidfreecnfa(structcnfa*);
192-
staticvoiddumpnfa(structnfa*,FILE*);
205+
staticvoidfixempties(structnfa*nfa,FILE*f);
206+
staticstructstate*emptyreachable(structnfa*nfa,structstate*s,
207+
structstate*lastfound,
208+
structarc**inarcsorig);
209+
staticintisconstraintarc(structarc*a);
210+
staticinthasconstraintout(structstate*s);
211+
staticvoidfixconstraintloops(structnfa*nfa,FILE*f);
212+
staticintfindconstraintloop(structnfa*nfa,structstate*s);
213+
staticvoidbreakconstraintloop(structnfa*nfa,structstate*sinitial);
214+
staticvoidclonesuccessorstates(structnfa*nfa,structstate*ssource,
215+
structstate*sclone,
216+
structstate*spredecessor,
217+
structarc*refarc,char*curdonemap,
218+
char*outerdonemap,intnstates);
219+
staticvoidcleanup(structnfa*nfa);
220+
staticvoidmarkreachable(structnfa*nfa,structstate*s,
221+
structstate*okay,structstate*mark);
222+
staticvoidmarkcanreach(structnfa*nfa,structstate*s,structstate*okay,
223+
structstate*mark);
224+
staticlonganalyze(structnfa*nfa);
225+
staticvoidcheckmatchall(structnfa*nfa);
226+
staticboolcheckmatchall_recurse(structnfa*nfa,structstate*s,
227+
bool**haspaths);
228+
staticboolcheck_out_colors_match(structstate*s,colorco1,colorco2);
229+
staticboolcheck_in_colors_match(structstate*s,colorco1,colorco2);
230+
staticvoidcompact(structnfa*nfa,structcnfa*cnfa);
231+
staticvoidcarcsort(structcarc*first,size_tn);
232+
staticintcarc_cmp(constvoid*a,constvoid*b);
233+
staticvoidfreecnfa(structcnfa*cnfa);
234+
staticvoiddumpnfa(structnfa*nfa,FILE*f);
193235

194236
#ifdefREG_DEBUG
195237
staticvoiddumpstate(structstate*,FILE*);
@@ -199,12 +241,12 @@ static void dumpcnfa(struct cnfa *, FILE *);
199241
staticvoiddumpcstate(int,structcnfa*,FILE*);
200242
#endif
201243
/* === regc_cvec.c === */
202-
staticstructcvec*newcvec(int,int);
203-
staticstructcvec*clearcvec(structcvec*);
204-
staticvoidaddchr(structcvec*,chr);
205-
staticvoidaddrange(structcvec*,chr,chr);
206-
staticstructcvec*getcvec(structvars*,int,int);
207-
staticvoidfreecvec(structcvec*);
244+
staticstructcvec*newcvec(intnchrs,intnranges);
245+
staticstructcvec*clearcvec(structcvec*cv);
246+
staticvoidaddchr(structcvec*cv,chrc);
247+
staticvoidaddrange(structcvec*cv,chrfrom,chrto);
248+
staticstructcvec*getcvec(structvars*v,intnchrs,intnranges);
249+
staticvoidfreecvec(structcvec*cv);
208250

209251
/* === regc_pg_locale.c === */
210252
staticintpg_wc_isdigit(pg_wcharc);
@@ -221,16 +263,18 @@ static pg_wchar pg_wc_toupper(pg_wchar c);
221263
staticpg_wcharpg_wc_tolower(pg_wcharc);
222264

223265
/* === regc_locale.c === */
224-
staticchrelement(structvars*,constchr*,constchr*);
225-
staticstructcvec*range(structvars*,chr,chr,int);
226-
staticintbefore(chr,chr);
227-
staticstructcvec*eclass(structvars*,chr,int);
228-
staticenumchar_classeslookupcclass(structvars*,constchr*,constchr*);
229-
staticstructcvec*cclasscvec(structvars*,enumchar_classes,int);
230-
staticintcclass_column_index(structcolormap*,chr);
231-
staticstructcvec*allcases(structvars*,chr);
232-
staticintcmp(constchr*,constchr*,size_t);
233-
staticintcasecmp(constchr*,constchr*,size_t);
266+
staticchrelement(structvars*v,constchr*startp,constchr*endp);
267+
staticstructcvec*range(structvars*v,chra,chrb,intcases);
268+
staticintbefore(chrx,chry);
269+
staticstructcvec*eclass(structvars*v,chrc,intcases);
270+
staticenumchar_classeslookupcclass(structvars*v,constchr*startp,
271+
constchr*endp);
272+
staticstructcvec*cclasscvec(structvars*v,enumchar_classescclasscode,
273+
intcases);
274+
staticintcclass_column_index(structcolormap*cm,chrc);
275+
staticstructcvec*allcases(structvars*v,chrc);
276+
staticintcmp(constchr*x,constchr*y,size_tlen);
277+
staticintcasecmp(constchr*x,constchr*y,size_tlen);
234278

235279

236280
/* internal variables, bundled for easy passing around */

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp