/* Generated by re2rust */
// re2rust $INPUT -o $OUTPUT --no-unsafe --api simple

fn lex(yyinput: &[u8]) -> bool {
    let mut yycursor = 0;
    let mut yymarker = 0;
    
{
    #[allow(unused_assignments)]
    let mut yych : u8 = 0;
    let mut yystate : usize = 0;
    'yyl: loop {
        match yystate {
            0 => {
                yych = yyinput[yycursor];
                yycursor += 1;
                match yych {
                    0x07 => {
                        yystate = 3;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 1;
                        continue 'yyl;
                    }
                }
            }
            1 => {
                yystate = 2;
                continue 'yyl;
            }
            2 => {
            let _ = ['\n', '\r', '\t', '\\', '\'', '\"'];
            return false;
        },
            3 => {
                yymarker = yycursor;
                yych = yyinput[yycursor];
                match yych {
                    0x08 => {
                        yycursor += 1;
                        yystate = 4;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 2;
                        continue 'yyl;
                    }
                }
            }
            4 => {
                yych = yyinput[yycursor];
                match yych {
                    0x0C => {
                        yycursor += 1;
                        yystate = 6;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            5 => {
                yycursor = yymarker;
                yystate = 2;
                continue 'yyl;
            }
            6 => {
                yych = yyinput[yycursor];
                match yych {
                    0x0A => {
                        yycursor += 1;
                        yystate = 7;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            7 => {
                yych = yyinput[yycursor];
                match yych {
                    0x0D => {
                        yycursor += 1;
                        yystate = 8;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            8 => {
                yych = yyinput[yycursor];
                match yych {
                    0x09 => {
                        yycursor += 1;
                        yystate = 9;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            9 => {
                yych = yyinput[yycursor];
                match yych {
                    0x0B => {
                        yycursor += 1;
                        yystate = 10;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            10 => {
                yych = yyinput[yycursor];
                match yych {
                    0x5C => {
                        yycursor += 1;
                        yystate = 11;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            11 => {
                yych = yyinput[yycursor];
                match yych {
                    0x27 => {
                        yycursor += 1;
                        yystate = 12;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            12 => {
                yych = yyinput[yycursor];
                match yych {
                    0x22 => {
                        yycursor += 1;
                        yystate = 13;
                        continue 'yyl;
                    }
                    _ => {
                        yystate = 5;
                        continue 'yyl;
                    }
                }
            }
            13 => { return true; },
            _ => panic!("internal lexer error"),
        }
    }
}

}

fn main() {
    assert!(lex(b"\x07\x08\x0c\x0a\x0d\x09\x0b\\'\"\0"));
}
