fix broken conformity tests, quote left paren

This commit is contained in:
Mark Thom
2020-03-08 16:49:47 -06:00
parent c7591045af
commit eee10d3ee7
7 changed files with 38 additions and 5 deletions

View File

@@ -194,6 +194,7 @@ impl SubModuleUser for IndexStore {
#[inline]
fn current_dir() -> std::path::PathBuf {
let mut path_buf = std::path::PathBuf::from(PROJECT_DIR);
// file!() always produces a path relative to PROJECT_DIR.
path_buf = path_buf.join(std::path::PathBuf::from(file!()));

View File

@@ -2342,6 +2342,31 @@ impl MachineState {
self.fail = true;
return Ok(());
}
&SystemClauseType::QuotedToken => {
let addr = self.store(self.deref(self[temp_v!(1)].clone()));
match addr {
Addr::Con(Constant::CharCode(c)) => {
self.fail = match std::char::from_u32(c) {
Some(c) => {
non_quoted_token(once(c))
}
None => {
true
}
};
}
Addr::Con(Constant::Char(c)) => {
self.fail = non_quoted_token(once(c));
}
Addr::Con(Constant::Atom(atom, _)) => {
self.fail = non_quoted_token(atom.as_str().chars());
}
_ => {
self.fail = true;
}
}
}
&SystemClauseType::ReadQueryTerm => {
readline::set_prompt(true);
let result = self.read_term(current_input_stream, indices);