Get rid of println's for token/ast debugging
Instead just explicitly stick them into the returned string. This is necessary 'cause I'm gonna convert simplerepl to use ncurses soon, so I can't have any side effects
This commit is contained in:
parent
96c51a9b88
commit
923566c4e9
10
src/main.rs
10
src/main.rs
@ -95,13 +95,15 @@ impl ReplState for InterpreterState {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn repl_handler(input: &str, state: &mut InterpreterState) -> String {
|
fn repl_handler(input: &str, state: &mut InterpreterState) -> String {
|
||||||
|
let mut result = String::new();
|
||||||
|
|
||||||
let tokens = match tokenize(input) {
|
let tokens = match tokenize(input) {
|
||||||
None => return format!("Tokenization error"),
|
None => return format!("Tokenization error"),
|
||||||
Some(t) => t
|
Some(t) => t
|
||||||
};
|
};
|
||||||
|
|
||||||
if state.show_tokens {
|
if state.show_tokens {
|
||||||
println!("Tokens: {:?}", tokens);
|
result.push_str(&format!("Tokens: {:?}\n", tokens));
|
||||||
}
|
}
|
||||||
|
|
||||||
let ast = match parse(&tokens, &[]) {
|
let ast = match parse(&tokens, &[]) {
|
||||||
@ -110,11 +112,13 @@ fn repl_handler(input: &str, state: &mut InterpreterState) -> String {
|
|||||||
};
|
};
|
||||||
|
|
||||||
if state.show_parse {
|
if state.show_parse {
|
||||||
println!("AST: {:?}", ast);
|
result.push_str(&format!("AST: {:?}\n", ast));
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut output: Vec<String> = state.evaluator.run(ast);
|
let mut output: Vec<String> = state.evaluator.run(ast);
|
||||||
|
|
||||||
//for now only handle last output
|
//for now only handle last output
|
||||||
output.pop().unwrap_or("".to_string())
|
let interpreter_result = output.pop().unwrap_or("".to_string());
|
||||||
|
result.push_str(&interpreter_result);
|
||||||
|
result
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user