pub const DELIMITER: u32 = 0x0100;
pub const TERM: u32 = 0x1000;
pub const LTERM: u32 = 0x3000;
+pub const BTERM: u32 = 0x11000;
pub const NEGATIVE_SIGN: u32 = 0x0200;
ref mut unfold_bounds,
}) = self.stack.last_mut()
{
+ if *spec == BTERM {
+ return false;
+ }
+
*tt = TokenType::Term;
*priority = 0;
*spec = TERM;
.push(Term::Literal(Cell::default(), Literal::Atom(atom)));
}
- self.stack[idx].spec = TERM;
+ self.stack[idx].spec = if self.stack[idx].priority > 0 { TERM } else { BTERM };
self.stack[idx].tt = TokenType::Term;
self.stack[idx].priority = 0;
setup_call_cleanup(op(100,xf,''),
( read_from_chars("(0 '') = ''(X).", T0),
call(T0),
- T0 = (_ = ('')(0)),
+ writeq_term_to_chars(T0, C0),
+ C0 == "0 ''=0 ''",
read_from_chars("0 ''.", T1),
- writeq_term_to_chars(T1, C0),
- C0 == "0 ''",
+ writeq_term_to_chars(T1, C1),
+ C1 == "0 ''",
read_from_chars("0''.", T2),
- writeq_term_to_chars(T2, C1),
- C1 == "0 ''" ),
+ writeq_term_to_chars(T2, C2),
+ C2 == "0 ''" ),
op(0,xf,'')).
test_118_119_120 :-