def _create_simple_segments(self): for r in self.langlet.parse_nfa.reachables: tracer = NFATracerUnexpanded(self.langlet.parse_nfa) prefix = [] r1 = r while True: selection = tracer.select(r1) if len(selection) == 1 and is_keyword(selection[0]): prefix.append(selection[0]) r1 = selection[0] else: break nodes = [] for s in selection: if s is FIN: continue S = [] S.append(s) R = self._min_span(S, tracer.clone(), set()) if R: nodes.append(prefix+R) self.simple_segments[r] = nodes
def _create_simple_segments(self): for r in self.langlet.parse_nfa.reachables: tracer = NFATracerUnexpanded(self.langlet.parse_nfa) prefix = [] r1 = r while True: selection = tracer.select(r1) if len(selection) == 1 and is_keyword(selection[0]): prefix.append(selection[0]) r1 = selection[0] else: break nodes = [] for s in selection: if s is FIN: continue S = [] S.append(s) R = self._min_span(S, tracer.clone(), set()) if R: nodes.append(prefix + R) self.simple_segments[r] = nodes