Lines Matching full:parse

79  * parse structure, passed up and down to avoid global variables and
82 struct parse { struct
97 bool (*parse_expr)(struct parse *, struct branchc *); argument
98 void (*pre_parse)(struct parse *, struct branchc *); argument
99 void (*post_parse)(struct parse *, struct branchc *); argument
108 static bool p_ere_exp(struct parse *p, struct branchc *bc);
109 static void p_str(struct parse *p);
110 static int p_branch_eat_delim(struct parse *p, struct branchc *bc);
111 static void p_branch_ins_offset(struct parse *p, struct branchc *bc);
112 static void p_branch_fix_tail(struct parse *p, struct branchc *bc);
113 static bool p_branch_empty(struct parse *p, struct branchc *bc);
114 static bool p_branch_do(struct parse *p, struct branchc *bc);
115 static void p_bre_pre_parse(struct parse *p, struct branchc *bc);
116 static void p_bre_post_parse(struct parse *p, struct branchc *bc);
117 static void p_re(struct parse *p, int end1, int end2);
118 static bool p_simp_re(struct parse *p, struct branchc *bc);
119 static int p_count(struct parse *p);
120 static void p_bracket(struct parse *p);
121 static void p_b_term(struct parse *p, cset *cs);
122 static void p_b_cclass(struct parse *p, cset *cs);
123 static void p_b_eclass(struct parse *p, cset *cs);
124 static wint_t p_b_symbol(struct parse *p);
125 static wint_t p_b_coll_elem(struct parse *p, wint_t endc);
127 static void bothcases(struct parse *p, wint_t ch);
128 static void ordinary(struct parse *p, wint_t ch);
129 static void nonnewline(struct parse *p);
130 static void repeat(struct parse *p, sopno start, int from, int to);
131 static int seterr(struct parse *p, int e);
132 static cset *allocset(struct parse *p);
133 static void freeset(struct parse *p, cset *cs);
134 static void CHadd(struct parse *p, cset *cs, wint_t ch);
135 static void CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max);
136 static void CHaddtype(struct parse *p, cset *cs, wctype_t wct);
137 static wint_t singleton(struct parse *p, cset *cs);
138 static sopno dupl(struct parse *p, sopno start, sopno finish);
139 static void doemit(struct parse *p, sop op, size_t opnd);
140 static void doinsert(struct parse *p, sop op, size_t opnd, sopno pos);
141 static void dofwd(struct parse *p, sopno pos, sop value);
142 static int enlarge(struct parse *p, sopno size);
143 static void stripsnug(struct parse *p, struct re_guts *g);
144 static void findmust(struct parse *p, struct re_guts *g);
146 static void computejumps(struct parse *p, struct re_guts *g);
147 static void computematchjumps(struct parse *p, struct re_guts *g);
148 static sopno pluscount(struct parse *p, struct re_guts *g);
149 static wint_t wgetnext(struct parse *p);
159 * macros for use with parse structure
160 * BEWARE: these know that the parse structure is named `p' !!!
203 struct parse pa; in regcomp()
205 struct parse *p = &pa; in regcomp()
349 * Parse one subERE, an atom possibly followed by a repetition op,
353 p_ere_exp(struct parse *p, struct branchc *bc) in p_ere_exp()
517 p_str(struct parse *p) in p_str()
529 p_branch_eat_delim(struct parse *p, struct branchc *bc) in p_branch_eat_delim()
542 * bogus 'next' offset, since we still have more to parse
545 p_branch_ins_offset(struct parse *p, struct branchc *bc) in p_branch_ins_offset()
566 p_branch_fix_tail(struct parse *p, struct branchc *bc) in p_branch_fix_tail()
582 p_branch_empty(struct parse *p, struct branchc *bc) in p_branch_empty()
592 * delimiters until we either run out of pattern or need to parse more pattern.
595 p_branch_do(struct parse *p, struct branchc *bc) in p_branch_do()
615 p_bre_pre_parse(struct parse *p, struct branchc *bc) in p_bre_pre_parse()
631 p_bre_post_parse(struct parse *p, struct branchc *bc) in p_bre_post_parse()
651 p_re(struct parse *p, in p_re()
696 * p_simp_re - parse a simple RE, an atom possibly followed by a repetition
699 p_simp_re(struct parse *p, struct branchc *bc) in p_simp_re()
826 * p_count - parse a repetition count
829 p_count(struct parse *p) in p_count()
844 * p_bracket - parse a bracketed character list
847 p_bracket(struct parse *p) in p_bracket()
895 * p_b_term - parse one term of a bracketed character list
898 p_b_term(struct parse *p, cset *cs) in p_b_term()
972 * p_b_cclass - parse a character-class name and deal with it
975 p_b_cclass(struct parse *p, cset *cs) in p_b_cclass()
999 * p_b_eclass - parse an equivalence-class name and deal with it
1004 p_b_eclass(struct parse *p, cset *cs) in p_b_eclass()
1013 * p_b_symbol - parse a character or [..]ed multicharacter collating symbol
1016 p_b_symbol(struct parse *p) in p_b_symbol()
1031 * p_b_coll_elem - parse a collating-element name and look it up
1034 p_b_coll_elem(struct parse *p, in p_b_coll_elem()
1084 bothcases(struct parse *p, wint_t ch) in bothcases()
1110 ordinary(struct parse *p, wint_t ch) in ordinary()
1136 nonnewline(struct parse *p) in nonnewline()
1158 repeat(struct parse *p, in repeat()
1226 * character from the parse struct, signals a REG_ILLSEQ error if the
1230 wgetnext(struct parse *p) in wgetnext()
1252 seterr(struct parse *p, int e) in seterr()
1265 allocset(struct parse *p) in allocset()
1285 freeset(struct parse *p, cset *cs) in freeset()
1302 singleton(struct parse *p, cset *cs) in singleton()
1339 CHadd(struct parse *p, cset *cs, wint_t ch) in CHadd()
1367 CHaddrange(struct parse *p, cset *cs, wint_t min, wint_t max) in CHaddrange()
1391 CHaddtype(struct parse *p, cset *cs, wctype_t wct) in CHaddtype()
1413 dupl(struct parse *p, in dupl()
1440 doemit(struct parse *p, sop op, size_t opnd) in doemit()
1462 doinsert(struct parse *p, sop op, size_t opnd, sopno pos) in doinsert()
1497 dofwd(struct parse *p, sopno pos, sop value) in dofwd()
1511 enlarge(struct parse *p, sopno size) in enlarge()
1532 stripsnug(struct parse *p, struct re_guts *g) in stripsnug()
1552 findmust(struct parse *p, struct re_guts *g) in findmust()
1803 computejumps(struct parse *p, struct re_guts *g) in computejumps()
1848 computematchjumps(struct parse *p, struct re_guts *g) in computematchjumps()
1930 pluscount(struct parse *p, struct re_guts *g) in pluscount()