use std::io::stdin;
use std::io::stdout;
use std::io::BufRead;
use std::io::Write;
use trivet::{numbers::NumberParser, parse_from_string};
pub fn main() {
println!("Enter a number to see how Trivet parses it. Enter a blank line to stop.");
let numpar = NumberParser::new();
print!("> ");
let _ = stdout().flush();
for line in stdin().lock().lines() {
if line.is_err() {
break;
}
let line = line.unwrap();
let mut parser = parse_from_string(&line);
parser.consume_ws();
if parser.is_at_eof() {
break;
}
let parts = numpar.get_parts(parser.borrow_core());
println!("{:?}", parts);
if parts.is_apparent_float() {
let value: f64 = parts.into();
println!("f64: {}", value);
} else {
let value: i128 = parts.into();
println!("i128: {}", value);
}
print!("> ");
let _ = stdout().flush();
}
}