dfa.rs
Source contains low-bit mask syntaxRust test marker or harness
SHA-2568c02af79e785d593e1db7f8c5adf02bdb98eefaa6e08007f19eadc2bf6d9f2a5
MaleculeH(Db)Md(Pa)
Evidence
45:46… eavily influenced this
46implementation.)
47*/
48
49use std::collections::HashMap;
50use std::fmt;
51use std::iter::repeat;
52use std::mem;
53
54use exec::ProgramCache;
55use prog::{Inst, Program};
56use sparse::SparseSet;
57
58/// Return true if and only if the given program can be executed by a DFA.
59///
60/// Generally, …
1077:27…
1078 ) {
1079 use prog::Inst::*;
1080 use prog::EmptyLook::*;
1081
1082 // We need to traverse the NFA to follow epsilon transitions, so avoid
1083 // rec …
1751:65… ped string.
1752fn vb(b: usize) -> String {
1753 use std::ascii::escape_default;
1754
1755 if b > ::std::u8::MAX as usize {
1756 "EOF".to_owned()
1757 } else {
1758 let escape …
1802:16… = read_varu32(data);
1803 let mut n = (un >> 1) as i32;
1804 if un & 1 != 0 {
1805 n = !n;
1806 }
⋯5 lines
⋯4 lines
1831}
1832
1833#[cfg(test)]
1834mod tests {
1835 extern crate rand;
1836
1837 use quickcheck::{QuickCheck, StdGen, quickcheck};
1838 use super::{
1839 StateFlags, State, push_inst_ptr,
1840 write_varu32, read_varu32, write_vari32, read_vari32,
1841 };
1842
1843 #[test]
1844 fn prop_state_encode_decode() {
1845 fn p(ips: Vec<u32>, flags: u8) -> bool {
1846 let mut data = vec![flags];
1847 …