Merge pull request #1862 from mthom/iso_conformity_tests

Revise iso_conformity_tests.pl to remove unnecessary spaces
This commit is contained in:
Mark Thom
2023-07-05 10:49:51 -06:00
committed by GitHub
3 changed files with 48 additions and 26 deletions

View File

@@ -44,6 +44,15 @@ impl DirectedOp {
} }
} }
#[inline]
fn is_prefix(&self )-> bool {
match self {
&DirectedOp::Left(_name, cell) | &DirectedOp::Right(_name, cell) => {
is_prefix!(cell.get_spec() as u32)
}
}
}
#[inline] #[inline]
fn is_negative_sign(&self) -> bool { fn is_negative_sign(&self) -> bool {
match self { match self {
@@ -604,7 +613,6 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
self.iter.pop_stack(); self.iter.pop_stack();
self.state_stack.push(TokenOrRedirect::Atom(atom!("..."))); self.state_stack.push(TokenOrRedirect::Atom(atom!("...")));
self.state_stack.push(TokenOrRedirect::Space);
self.state_stack.push(TokenOrRedirect::Atom(name)); self.state_stack.push(TokenOrRedirect::Atom(name));
return; return;
@@ -613,7 +621,13 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
let op = DirectedOp::Left(name, spec); let op = DirectedOp::Left(name, spec);
self.state_stack.push(TokenOrRedirect::CompositeRedirect(max_depth, op)); self.state_stack.push(TokenOrRedirect::CompositeRedirect(max_depth, op));
/*
if fetch_op_spec(name, 2, self.op_dir).is_some() {
self.state_stack.push(TokenOrRedirect::Space); self.state_stack.push(TokenOrRedirect::Space);
}
*/
self.state_stack.push(TokenOrRedirect::Atom(name)); self.state_stack.push(TokenOrRedirect::Atom(name));
} else { } else {
match name.as_str() { match name.as_str() {
@@ -938,13 +952,17 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
} }
fn print_number(&mut self, max_depth: usize, n: NumberFocus, op: &Option<DirectedOp>) { fn print_number(&mut self, max_depth: usize, n: NumberFocus, op: &Option<DirectedOp>) {
let add_brackets = if let Some(op) = op { let (add_brackets, op_is_prefix) = if let Some(op) = op {
op.is_negative_sign() && !n.is_negative() (op.is_negative_sign() && !n.is_negative(), op.is_prefix())
} else { } else {
false (false, false)
}; };
if add_brackets { if add_brackets {
if op_is_prefix && !self.outputter.ends_with(" ") {
push_char!(self, ' ');
}
push_char!(self, '('); push_char!(self, '(');
} }
@@ -1333,13 +1351,15 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
if let Some(ref op) = &op { if let Some(ref op) = &op {
if !self.outputter.ends_with(" ") { if !self.outputter.ends_with(" ") {
if op.is_left() && requires_space(op.as_atom().as_str(), "(") { if op.is_left() {
if op.is_prefix() || requires_space(op.as_atom().as_str(), "(") {
self.state_stack.push(TokenOrRedirect::Space); self.state_stack.push(TokenOrRedirect::Space);
} }
} }
} }
} }
} }
}
#[allow(dead_code)] #[allow(dead_code)]
fn print_tcp_listener(&mut self, tcp_listener: &TcpListener, max_depth: usize) { fn print_tcp_listener(&mut self, tcp_listener: &TcpListener, max_depth: usize) {
@@ -1457,7 +1477,9 @@ impl<'a, Outputter: HCValueOutputter> HCPrinter<'a, Outputter> {
let mut result = String::new(); let mut result = String::new();
if let Some(ref op) = op { if let Some(ref op) = op {
if printer.outputter.ends_with(&format!(" {}", op.as_atom().as_str())) { let op_is_prefix = op.is_prefix() && op.is_left();
if op_is_prefix || printer.outputter.ends_with(&format!(" {}", op.as_atom().as_str())) {
result.push(' '); result.push(' ');
} }

View File

@@ -288,8 +288,8 @@ test_191 :- writeq_term_to_chars(-(-a), Chars),
test_192 :- writeq_term_to_chars(-(-(-a)), Chars), test_192 :- writeq_term_to_chars(-(-(-a)), Chars),
Chars == "- - -a". Chars == "- - -a".
test_216 :- writeq_term_to_chars(-(-1), Chars), test_216 :- writeq_term_to_chars(-(-(1)), Chars),
Chars == "- -1". Chars == "- - (1)".
test_215_248_249 :- test_215_248_249 :-
setup_call_cleanup(op(100,yfx,~), setup_call_cleanup(op(100,yfx,~),