From: Mark Thom Date: Sun, 29 Sep 2019 16:05:40 +0000 (-0600) Subject: devour dangling whitespace before checking for EOF X-Git-Tag: v0.8.110~37 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=e8bac464d04c87cf328067f4e41616a70d546cbc;p=scryer-prolog.git devour dangling whitespace before checking for EOF --- diff --git a/Cargo.toml b/Cargo.toml index 4f3145fe..7546f162 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "scryer-prolog" -version = "0.8.95" +version = "0.8.96" authors = ["Mark Thom "] build = "build.rs" repository = "https://github.com/mthom/scryer-prolog" @@ -16,7 +16,7 @@ dirs = "2.0.2" downcast = "0.10.0" indexmap = "1.0.2" ordered-float = "0.5.0" -prolog_parser = "0.8.29" +prolog_parser = "0.8.30" ref_thread_local = "0.0.0" rug = "1.4.0" rustyline = "5.0.3" diff --git a/src/prolog/machine/term_expansion.rs b/src/prolog/machine/term_expansion.rs index c90d239c..eaa4d23e 100644 --- a/src/prolog/machine/term_expansion.rs +++ b/src/prolog/machine/term_expansion.rs @@ -173,6 +173,7 @@ impl<'a, R: Read> TermStream<'a, R> { #[inline] pub fn eof(&mut self) -> Result { + self.parser.devour_whitespace()?; // eliminate dangling comments before checking for EOF. Ok(self.stack.is_empty() && self.parser.eof()?) } @@ -251,11 +252,13 @@ impl<'a, R: Read> TermStream<'a, R> { } self.parser.reset(); + let term = self.parser.read_term(composite_op!( self.in_module, &self.wam.indices.op_dir, op_dir ))?; + self.stack.push(term); } }