}
}
+ if stream.at_end_of_stream() {
+ stream.set_past_end_of_stream();
+ self.unify(self[temp_v!(2)], Addr::Fixnum(-1));
+ return return_from_clause!(self.last_call, self);
+ }
+
let addr =
match self.store(self.deref(self[temp_v!(2)])) {
addr if addr.is_ref() => {
}
}
+ if stream.at_end_of_stream() {
+ let end_of_file = clause_name!("end_of_file");
+ let end_of_file = self.heap.to_unifiable(
+ HeapCellValue::Atom(end_of_file, None),
+ );
+
+ stream.set_past_end_of_stream();
+
+ self.unify(self[temp_v!(2)], end_of_file);
+ return return_from_clause!(self.last_call, self);
+ }
+
let addr =
match self.store(self.deref(self[temp_v!(2)])) {
addr if addr.is_ref() => {
}
}
+ if stream.at_end_of_stream() {
+ let end_of_file = clause_name!("end_of_file");
+ let end_of_file = self.heap.to_unifiable(
+ HeapCellValue::Atom(end_of_file, None),
+ );
+
+ stream.set_past_end_of_stream();
+
+ self.unify(self[temp_v!(2)], end_of_file);
+ return return_from_clause!(self.last_call, self);
+ }
+
let addr =
match self.store(self.deref(self[temp_v!(2)])) {
addr if addr.is_ref() => {
}
}
+ if stream.at_end_of_stream() {
+ stream.set_past_end_of_stream();
+ self.unify(self[temp_v!(2)], Addr::Fixnum(-1));
+ return return_from_clause!(self.last_call, self);
+ }
+
let addr =
match self.store(self.deref(self[temp_v!(2)])) {
addr if addr.is_ref() => {
}
}
+ if stream.at_end_of_stream() {
+ let end_of_file = clause_name!("end_of_file");
+ let end_of_file = self.heap.to_unifiable(
+ HeapCellValue::Atom(end_of_file, None),
+ );
+
+ stream.set_past_end_of_stream();
+
+ self.unify(self[temp_v!(2)], end_of_file);
+ return return_from_clause!(self.last_call, self);
+ }
+
let mut iter = self.open_parsing_stream(
stream.clone(),
"get_char",
}
}
+ if stream.at_end_of_stream() {
+ let end_of_file = clause_name!("end_of_file");
+ let end_of_file = self.heap.to_unifiable(
+ HeapCellValue::Atom(end_of_file, None),
+ );
+
+ stream.set_past_end_of_stream();
+
+ self.unify(self[temp_v!(2)], end_of_file);
+ return return_from_clause!(self.last_call, self);
+ }
+
let addr =
match self.store(self.deref(self[temp_v!(2)])) {
addr if addr.is_ref() => {