Add timing info & use log for output

This commit is contained in:
2019-05-24 14:15:42 +02:00
parent a14f145856
commit 0eaa7839cf
2 changed files with 23 additions and 2 deletions

View File

@@ -16,6 +16,11 @@ path = "src/main.rs"
[dependencies]
lalrpop-util = "0.17.0"
regex = "0.2.1"
measure_time = "0.6" # To mesure parsing time, only required by binary
# Logging macros API
log = { version = "0.4", features = ["max_level_trace", "release_max_level_debug"] }
pretty_env_logger = "0.3" # Logger implementation
[build-dependencies]
lalrpop = "0.17.0"

View File

@@ -1,3 +1,6 @@
#[macro_use]
extern crate measure_time;
extern crate parser;
use parser::queries;
@@ -5,11 +8,17 @@ use parser::queries;
use std::io;
fn main() {
// If RUST_LOG is unset, set it to INFO, otherwise keep it as-is.
if std::env::var("RUST_LOG").is_err() {
std::env::set_var("RUST_LOG", "info");
}
pretty_env_logger::init();
//let parser = queries::FiltersParser::new();
let parser = queries::QueryParser::new();
loop {
println!("\n> Expression to parse (type `quit` to exit): ");
info!("Expression to parse (type `quit` to exit): ");
let mut input = String::new();
@@ -23,6 +32,13 @@ fn main() {
if input.trim().eq_ignore_ascii_case("quit") {
break;
}
println!("\n> Tree: \n{:?}", parser.parse(input.as_str()));
let input = input.as_str();
let mut out;
{
debug_time!("Parsing");
out = parser.parse(input);
}
info!("Tree: \n{:?}", out);
}
}