Lines Matching refs:parse

102  * parse structure, passed up and down to avoid global variables and
105 struct parse {
121 bool (*parse_expr)(struct parse *, struct branchc *);
122 void (*pre_parse)(struct parse *, struct branchc *);
123 void (*post_parse)(struct parse *, struct branchc *);
134 static bool p_ere_exp(struct parse *p, struct branchc *bc);
135 static void p_str(struct parse *p);
136 static int p_branch_eat_delim(struct parse *p, struct branchc *bc);
137 static void p_branch_ins_offset(struct parse *p, struct branchc *bc);
138 static void p_branch_fix_tail(struct parse *p, struct branchc *bc);
139 static bool p_branch_empty(struct parse *p, struct branchc *bc);
140 static bool p_branch_do(struct parse *p, struct branchc *bc);
141 static void p_bre_pre_parse(struct parse *p, struct branchc *bc);
142 static void p_bre_post_parse(struct parse *p, struct branchc *bc);
143 static void p_re(struct parse *p, int end1, int end2);
144 static bool p_simp_re(struct parse *p, struct branchc *bc);
145 static int p_count(struct parse *p);
146 static void p_bracket(struct parse *p);
148 static void p_b_term(struct parse *p, cset *cs);
150 static int p_b_pseudoclass(struct parse *p, char c);
152 static void p_b_cclass(struct parse *p, cset *cs);
153 static void p_b_cclass_named(struct parse *p, cset *cs, const char[]);
154 static void p_b_eclass(struct parse *p, cset *cs);
155 static wint_t p_b_symbol(struct parse *p);
156 static wint_t p_b_coll_elem(struct parse *p, wint_t endc);
157 static bool may_escape(struct parse *p, const wint_t ch);
159 static void bothcases(struct parse *p, wint_t ch);
160 static void ordinary(struct parse *p, wint_t ch);
161 static void nonnewline(struct parse *p);
162 static void repeat(struct parse *p, sopno start, int from, int to);
163 static int seterr(struct parse *p, int e);
164 static cset *allocset(struct parse *p);
165 static void freeset(struct parse *p, cset *cs);
166 static void CHadd(struct parse *p, cset *cs, wint_t ch);
167 static void CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max);
168 static void CHaddtype(struct parse *p, cset *cs, wctype_t wct);
170 static sopno dupl(struct parse *p, sopno start, sopno finish);
171 static void doemit(struct parse *p, sop op, size_t opnd);
172 static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
173 static void dofwd(struct parse *p, sopno pos, sop value);
174 static int enlarge(struct parse *p, sopno size);
175 static void stripsnug(struct parse *p, struct re_guts *g);
176 static void findmust(struct parse *p, struct re_guts *g);
178 static void computejumps(struct parse *p, struct re_guts *g);
179 static void computematchjumps(struct parse *p, struct re_guts *g);
180 static sopno pluscount(struct parse *p, struct re_guts *g);
181 static wint_t wgetnext(struct parse *p);
191 * macros for use with parse structure
192 * BEWARE: these know that the parse structure is named `p' !!!
273 struct parse pa;
275 struct parse *p = &pa;
436 - p_ere_exp - parse one subERE, an atom possibly followed by a repetition op,
438 == static bool p_ere_exp(struct parse *p);
441 p_ere_exp(struct parse *p, struct branchc *bc)
689 == static void p_str(struct parse *p);
692 p_str(struct parse *p)
704 p_branch_eat_delim(struct parse *p, struct branchc *bc)
717 * bogus 'next' offset, since we still have more to parse
720 p_branch_ins_offset(struct parse *p, struct branchc *bc)
742 p_branch_fix_tail(struct parse *p, struct branchc *bc)
759 p_branch_empty(struct parse *p, struct branchc *bc)
770 * delimiters until we either run out of pattern or need to parse more pattern.
773 p_branch_do(struct parse *p, struct branchc *bc)
793 p_bre_pre_parse(struct parse *p, struct branchc *bc)
810 p_bre_post_parse(struct parse *p, struct branchc *bc)
824 == static void p_re(struct parse *p, int end1, int end2);
832 p_re(struct parse *p,
880 - p_simp_re - parse a simple RE, an atom possibly followed by a repetition
881 == static bool p_simp_re(struct parse *p, struct branchc *bc);
884 p_simp_re(struct parse *p, struct branchc *bc)
1076 - p_count - parse a repetition count
1077 == static int p_count(struct parse *p);
1080 p_count(struct parse *p)
1095 - p_bracket - parse a bracketed character list
1096 == static void p_bracket(struct parse *p);
1099 p_bracket(struct parse *p)
1172 - p_b_term - parse one term of a bracketed character list
1173 == static void p_b_term(struct parse *p, cset *cs);
1176 p_b_term(struct parse *p, cset *cs)
1257 - p_b_pseudoclass - parse a pseudo-class (\w, \W, \s, \S)
1258 == static int p_b_pseudoclass(struct parse *p, char c)
1261 p_b_pseudoclass(struct parse *p, char c) {
1293 - p_b_cclass - parse a character-class name and deal with it
1294 == static void p_b_cclass(struct parse *p, cset *cs);
1297 p_b_cclass(struct parse *p, cset *cs)
1318 == static void p_b_cclass_named(struct parse *p, cset *cs, const char []);
1321 p_b_cclass_named(struct parse *p, cset *cs, const char clname[]) {
1332 - p_b_eclass - parse an equivalence-class name and deal with it
1333 == static void p_b_eclass(struct parse *p, cset *cs);
1338 p_b_eclass(struct parse *p, cset *cs)
1350 - p_b_symbol - parse a character or [..]ed multicharacter collating symbol
1351 == static wint_t p_b_symbol(struct parse *p);
1354 p_b_symbol(struct parse *p)
1371 - p_b_coll_elem - parse a collating-element name and look it up
1372 == static wint_t p_b_coll_elem(struct parse *p, wint_t endc);
1375 p_b_coll_elem(struct parse *p,
1417 == static int may_escape(struct parse *p, const wint_t ch)
1420 may_escape(struct parse *p, const wint_t ch)
1482 == static void bothcases(struct parse *p, wint_t ch);
1487 bothcases(struct parse *p, wint_t ch)
1518 == static void ordinary(struct parse *p, wint_t ch);
1521 ordinary(struct parse *p, wint_t ch)
1545 == static void nonnewline(struct parse *p);
1550 nonnewline(struct parse *p)
1572 == static void repeat(struct parse *p, sopno start, int from, int to);
1575 repeat(struct parse *p,
1645 - character from the parse struct, signals a REG_ILLSEQ error if the
1649 wgetnext(struct parse *p)
1673 == static int seterr(struct parse *p, int e);
1676 seterr(struct parse *p, int e)
1690 == static cset *allocset(struct parse *p);
1693 allocset(struct parse *p)
1713 == static void freeset(struct parse *p, cset *cs);
1716 freeset(struct parse *p, cset *cs)
1760 CHadd(struct parse *p, cset *cs, wint_t ch)
1792 CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max)
1819 CHaddtype(struct parse *p, cset *cs, wctype_t wct)
1842 == static sopno dupl(struct parse *p, sopno start, sopno finish);
1845 dupl(struct parse *p,
1867 == static void doemit(struct parse *p, sop op, size_t opnd);
1874 doemit(struct parse *p, sop op, size_t opnd)
1896 == static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
1899 doinsert(struct parse *p, sop op, size_t opnd, sopno pos)
1934 == static void dofwd(struct parse *p, sopno pos, sop value);
1937 dofwd(struct parse *p, sopno pos, sop value)
1952 == static int enlarge(struct parse *p, sopno size);
1955 enlarge(struct parse *p, sopno size)
1976 == static void stripsnug(struct parse *p, struct re_guts *g);
1979 stripsnug(struct parse *p, struct re_guts *g)
1995 == static void findmust(struct parse *p, struct re_guts *g);
2004 findmust(struct parse *p, struct re_guts *g)
2266 == static void computejumps(struct parse *p, struct re_guts *g);
2276 computejumps(struct parse *p, struct re_guts *g)
2311 == static void computematchjumps(struct parse *p, struct re_guts *g);
2323 computematchjumps(struct parse *p, struct re_guts *g)
2398 == static sopno pluscount(struct parse *p, struct re_guts *g);
2401 pluscount(struct parse *p, struct re_guts *g)