antlr-rust 0.2.2

ANTLR4 runtime for Rust
#![feature(try_blocks)]
#![feature(inner_deref)]
#![feature(test)]
#[macro_use]
extern crate lazy_static;
extern crate test;

mod gen {
    use test::Bencher;

    // use crate::gen::perflexer::PerfLexer;
    // use crate::gen::perfparser::PerfParser;
    // mod perflexer;
    // mod perfparser;
    // mod perflistener;

    // #[cfg(not(debug_assertions))]
    // #[test]
    // fn performance(){
    #[ignore]
    // #[bench]
    fn performance(_b: &mut Bencher) {
        // b.iter(|| {
        //     let lexer = PerfLexer::new(Box::new(InputStream::new(input.to_string())));
        //     let source = CommonTokenStream::new(lexer);
        //     let mut parser = PerfParser::new(Box::new(source));
        //     let result = parser.stat().expect("oops");
        // });
    }

    const input: &str = "\
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4 and
		 between X1 and X2 or between X3 and X4
		 ;";
}