New parser #2

Merged
ThePerfectComputer merged 51 commits from new_parser into main 2022-08-01 21:00:00 +00:00
Showing only changes of commit de08a60f17 - Show all commits

View file

@ -45,36 +45,29 @@ fn main() -> std::io::Result<()> {
let file = File::open(&args.path)?; let file = File::open(&args.path)?;
let mut reader = io::BufReader::new(file); let mut reader = io::BufReader::new(file);
let mut buffer = Vec::<u8>::new(); let mut buffer = String::new();
let mut word_count = 0u64; let mut word_count = 0u64;
let mut do_break = false;
let line_chunk_size = 25;
// while { while {!do_break} {
// let bytes_read = reader.read_until(b' ', &mut buffer).unwrap(); for _ in 0..line_chunk_size {
// bytes_read > 0 let bytes_read = reader.read_line(&mut buffer).unwrap();
// } { if bytes_read == 0 {
// word_count += 1; do_break = true;
break
}
}
// if word_count < 5 { let words = buffer.split_ascii_whitespace();
// let string = std::str::from_utf8(&buffer).unwrap();
// dbg!(string); for word in words {
// } word_count += 1;
// buffer.clear(); }
// }
loop {
buffer.clear();
let t = reader
.by_ref()
.bytes()
.map(|c| c.unwrap())
.take_while(|c|
c != &b' ' &&
c != &b'\n');
buffer.extend(t);
word_count += 1;
buffer.clear();
} }
let string = std::str::from_utf8(&buffer).unwrap();
dbg!(string);
dbg!(word_count); dbg!(word_count);
Ok(()) Ok(())