Lines Matching refs:state

72     # keeps track of state for parsing
109 def __init__(self, state, data=None):
110 self.state = state
164 return SubPattern(self.state, self.data[index])
203 i, j = self.state.groupwidths[av]
367 def _escape(source, escape, state):
429 if group < state.groups:
430 if not state.checkgroup(group):
433 state.checklookbehindgroup(group, source)
447 def _parse_sub(source, state, verbose, nested):
455 itemsappend(_parse(source, state, verbose, nested + 1,
460 verbose = state.flags & SRE_FLAG_VERBOSE
465 subpattern = SubPattern(state)
507 def _parse(source, state, verbose, nested, first=False):
509 subpattern = SubPattern(state)
539 code = _escape(source, this, state)
726 gid = state.groupdict.get(name)
730 if not state.checkgroup(gid):
733 state.checklookbehindgroup(gid, source)
767 lookbehindgroups = state.lookbehindgroups
769 state.lookbehindgroups = state.groups
770 p = _parse_sub(source, state, verbose, nested + 1)
773 state.lookbehindgroups = None
788 condgroup = state.groupdict.get(condname)
806 if condgroup not in state.grouprefpos:
807 state.grouprefpos[condgroup] = (
818 state.checklookbehindgroup(condgroup, source)
819 item_yes = _parse(source, state, verbose, nested + 1)
821 item_no = _parse(source, state, verbose, nested + 1)
838 flags = _parse_flags(source, state, char)
844 verbose = state.flags & SRE_FLAG_VERBOSE
856 group = state.opengroup(name)
863 p = _parse_sub(source, state, sub_verbose, nested + 1)
868 state.closegroup(group, p)
894 def _parse_flags(source, state, char):
922 state.flags |= add_flags
970 def parse(str, flags=0, state=None):
975 if state is None:
976 state = State()
977 state.flags = flags
978 state.str = str
980 p = _parse_sub(source, state, flags & SRE_FLAG_VERBOSE, 0)
981 p.state.flags = fix_flags(str, p.state.flags)
987 for g in p.state.grouprefpos:
988 if g >= p.state.groups:
990 raise error(msg, str, p.state.grouprefpos[g])
997 def parse_template(source, state):
1007 if index > state.groups:
1014 groupindex = state.groupindex