Always run the NFA algorithm.
(
&self,
matches: &mut [bool],
slots: &mut [Slot],
quit_after_match: bool,
text: &[u8],
start: usize,
end: usize,
)
| 991 | |
| 992 | /// Always run the NFA algorithm. |
| 993 | fn exec_pikevm( |
| 994 | &self, |
| 995 | matches: &mut [bool], |
| 996 | slots: &mut [Slot], |
| 997 | quit_after_match: bool, |
| 998 | text: &[u8], |
| 999 | start: usize, |
| 1000 | end: usize, |
| 1001 | ) -> bool { |
| 1002 | if self.ro.nfa.uses_bytes() { |
| 1003 | pikevm::Fsm::exec( |
| 1004 | &self.ro.nfa, |
| 1005 | self.cache, |
| 1006 | matches, |
| 1007 | slots, |
| 1008 | quit_after_match, |
| 1009 | ByteInput::new(text, self.ro.nfa.only_utf8), |
| 1010 | start, |
| 1011 | end) |
| 1012 | } else { |
| 1013 | pikevm::Fsm::exec( |
| 1014 | &self.ro.nfa, |
| 1015 | self.cache, |
| 1016 | matches, |
| 1017 | slots, |
| 1018 | quit_after_match, |
| 1019 | CharInput::new(text), |
| 1020 | start, |
| 1021 | end) |
| 1022 | } |
| 1023 | } |
| 1024 | |
| 1025 | /// Always runs the NFA using bounded backtracking. |
| 1026 | fn exec_backtrack( |