diff --git a/src/prolog/read.rs b/src/prolog/read.rs
index a0db1fdc..68e09f84 100644
--- a/src/prolog/read.rs
+++ b/src/prolog/read.rs
@@ -5,7 +5,6 @@ use prolog::instructions::*;
use prolog::iterators::*;
use prolog::machine::*;
use prolog::machine::machine_state::MachineState;
-use prolog::toplevel::*;
use std::collections::VecDeque;
use std::io::{Read, stdin};
@@ -43,7 +42,12 @@ pub fn read_toplevel(wam: &Machine) -> Result {
println!("(type Enter + Ctrl-D to terminate the stream when finished)");
Ok(Input::Batch)
},
- _ => Ok(Input::Term(parse_term(wam, buffer.as_bytes())?))
+ _ => {
+ let mut parser = Parser::new(stdin.lock(), wam.atom_tbl(), wam.machine_flags());
+ parser.add_to_top(buffer.as_str());
+
+ Ok(Input::Term(parser.read_term(composite_op!(&wam.op_dir))?))
+ }
}
}
diff --git a/src/prolog/toplevel.rs b/src/prolog/toplevel.rs
index bdb7ef3a..27b0ce24 100644
--- a/src/prolog/toplevel.rs
+++ b/src/prolog/toplevel.rs
@@ -669,13 +669,6 @@ impl RelationWorker {
}
}
-// used to parse queries. mostly.
-pub fn parse_term(wam: &Machine, buf: R) -> Result
-{
- let mut parser = Parser::new(buf, wam.atom_tbl(), wam.machine_flags());
- parser.read_term(composite_op!(&wam.op_dir))
-}
-
pub
fn consume_term<'a>(static_code_dir: Rc>, term: Term,
mut indices: MachineCodeIndices<'a>)