[parser] Clean up the prints
This commit is contained in:
parent
e822a6b6ec
commit
fea93f44eb
2 changed files with 12 additions and 9 deletions
|
@ -52,7 +52,7 @@ impl<T> Parser<T> where T: Iterator<Item=LexerResult> {
|
||||||
|
|
||||||
fn pop_parser(&mut self) {
|
fn pop_parser(&mut self) {
|
||||||
let popped = self.parsers.pop();
|
let popped = self.parsers.pop();
|
||||||
print!("popped parser stack, {} parser{} remain --> {:?}\n",
|
println!("popped parser stack, {} parser{} remain --> {:?}",
|
||||||
self.parsers.len(),
|
self.parsers.len(),
|
||||||
if self.parsers.len() == 1 { " " } else { "s" },
|
if self.parsers.len() == 1 { " " } else { "s" },
|
||||||
popped);
|
popped);
|
||||||
|
@ -60,14 +60,14 @@ impl<T> Parser<T> where T: Iterator<Item=LexerResult> {
|
||||||
|
|
||||||
fn push_parser(&mut self, next: Box<NodeParser>) {
|
fn push_parser(&mut self, next: Box<NodeParser>) {
|
||||||
self.parsers.push(next);
|
self.parsers.push(next);
|
||||||
print!("pushed onto parser stack, {} now -> {:?}\n",
|
println!("pushed onto parser stack, {} now -> {:?}",
|
||||||
self.parsers.len(),
|
self.parsers.len(),
|
||||||
self.parsers.last());
|
self.parsers.last());
|
||||||
}
|
}
|
||||||
|
|
||||||
fn next_lex(&mut self) -> Option<T::Item> {
|
fn next_lex(&mut self) -> Option<T::Item> {
|
||||||
let next = self.input.next();
|
let next = self.input.next();
|
||||||
print!("next lex: {:?}\n", next);
|
println!("next lex: {:?}", next);
|
||||||
next
|
next
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,12 +87,15 @@ impl<T> Iterator for Parser<T> where T: Iterator<Item=LexerResult> {
|
||||||
self.pop_parser();
|
self.pop_parser();
|
||||||
if self.parsers.len() == 0 && input_lex.is_none() {
|
if self.parsers.len() == 0 && input_lex.is_none() {
|
||||||
// We are done.
|
// We are done.
|
||||||
|
println!("we are done");
|
||||||
out = Some(Ok(obj));
|
out = Some(Ok(obj));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
self.next_lex()
|
self.next_lex()
|
||||||
},
|
},
|
||||||
Some(NodeParseResult::Push{ next }) => {
|
Some(NodeParseResult::Push{ next }) => {
|
||||||
|
// Push the next parser on and give it a shot at the current
|
||||||
|
// token.
|
||||||
self.push_parser(next);
|
self.push_parser(next);
|
||||||
input_lex
|
input_lex
|
||||||
},
|
},
|
||||||
|
|
|
@ -12,6 +12,6 @@ fn main() {
|
||||||
let lexer = Lexer::new("(ab)".chars());
|
let lexer = Lexer::new("(ab)".chars());
|
||||||
let parser = Parser::new(lexer);
|
let parser = Parser::new(lexer);
|
||||||
for thing in parser {
|
for thing in parser {
|
||||||
println!("{:?}", thing);
|
println!("main: token -> {:?}", thing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue