devour dangling whitespace before checking for EOF
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "scryer-prolog"
|
name = "scryer-prolog"
|
||||||
version = "0.8.95"
|
version = "0.8.96"
|
||||||
authors = ["Mark Thom <markjordanthom@gmail.com>"]
|
authors = ["Mark Thom <markjordanthom@gmail.com>"]
|
||||||
build = "build.rs"
|
build = "build.rs"
|
||||||
repository = "https://github.com/mthom/scryer-prolog"
|
repository = "https://github.com/mthom/scryer-prolog"
|
||||||
@@ -16,7 +16,7 @@ dirs = "2.0.2"
|
|||||||
downcast = "0.10.0"
|
downcast = "0.10.0"
|
||||||
indexmap = "1.0.2"
|
indexmap = "1.0.2"
|
||||||
ordered-float = "0.5.0"
|
ordered-float = "0.5.0"
|
||||||
prolog_parser = "0.8.29"
|
prolog_parser = "0.8.30"
|
||||||
ref_thread_local = "0.0.0"
|
ref_thread_local = "0.0.0"
|
||||||
rug = "1.4.0"
|
rug = "1.4.0"
|
||||||
rustyline = "5.0.3"
|
rustyline = "5.0.3"
|
||||||
|
|||||||
@@ -173,6 +173,7 @@ impl<'a, R: Read> TermStream<'a, R> {
|
|||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn eof(&mut self) -> Result<bool, ParserError> {
|
pub fn eof(&mut self) -> Result<bool, ParserError> {
|
||||||
|
self.parser.devour_whitespace()?; // eliminate dangling comments before checking for EOF.
|
||||||
Ok(self.stack.is_empty() && self.parser.eof()?)
|
Ok(self.stack.is_empty() && self.parser.eof()?)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,11 +252,13 @@ impl<'a, R: Read> TermStream<'a, R> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
self.parser.reset();
|
self.parser.reset();
|
||||||
|
|
||||||
let term = self.parser.read_term(composite_op!(
|
let term = self.parser.read_term(composite_op!(
|
||||||
self.in_module,
|
self.in_module,
|
||||||
&self.wam.indices.op_dir,
|
&self.wam.indices.op_dir,
|
||||||
op_dir
|
op_dir
|
||||||
))?;
|
))?;
|
||||||
|
|
||||||
self.stack.push(term);
|
self.stack.push(term);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user