186 Errorline(
"the built-in %T '%s' may not be redefined.\n",
217 Errorline(
"the %T '%s' may not be redefined from within module %s.\n",
223 Errorline(
"the %T '%s' may not be redefined as a %T.\n",
249 Syntaxerrorline(
"body missing in definition of %T '%P'.\n", typ, head);
306 if (
equ_tok((*t),
"block_struct"))
332 (void)times(&start_time);
604 alternative->
aaaa_1=aaaa_6;
605 alternative->
bbbb_1=bbbb_6;
606 alternative->
cccc_1=cccc_6;
628 #define RESTORE_TIME_STAMP global_time_stamp=\
629 choice_stack?choice_stack->time_stamp:INIT_TIME_STAMP;
653 while ((
unsigned long)
undo_stack>(
unsigned long)limit) {
694 Errorline(
"undo_actions should not be called.\n");
766 cut_sp = cutpt->stack_top;
767 cut_limit = cutpt->undo_point;
774 while ((
unsigned long)u > (
unsigned long)cut_limit) {
804 ((
unsigned long)u->aaaa_3==disp) && ((
unsigned long)u->bbbb_3==wind)) {
818 prev = &(c->undo_point);
820 ((
unsigned long)u->aaaa_3==disp) && ((
unsigned long)u->bbbb_3==wind)) {
850 merge1(&((*u)->right),v->right);
855 merge1(&((*u)->left),v->left);
902 merge2(&((*u)->right),v->right);
905 merge2(&((*u)->left),v->left);
953 merge3(&((*u)->right),v->right);
962 merge3(&((*u)->left),v->left);
1023 cmp=
featcmp((*u)->key,v->key);
1026 merge(&((*u)->right),v->right);
1031 merge(&((*u)->left),v->left);
1036 merge(&((*u)->left),v);
1043 merge(&((*u)->right),v);
1049 else if (*u!=
NULL) {
1051 merge(&((*u)->right),v);
1054 merge(&((*u)->left),v);
1093 t = (
end_time.tms_utime - start_time.tms_utime)/60.0;
1097 if (t!=0.0) printf(
" (%0.0f/s)",
goal_count/t);
1141 prop=u->type->properties;
1144 traceline(
"fetching definition of %P\n",u);
1147 if (allflag || prop->
cccc_4==utype) {
1192 long old1stat, old2stat;
1196 long checked1, checked2;
1199 if (!u->type->always_check)
if (u->attr_list==
NULL)
return;
1204 prop=u->type->properties;
1206 traceline(
"fetching partial definition of %P\n",u);
1272 long success=
TRUE,compare;
1280 long old1stat,old2stat;
1298 if (u>v) { tmp=v; v=u; u=tmp; }
1309 Errorline(
"attempt to unify with curried function %P\n", u);
1314 Errorline(
"attempt to unify with curried function %P\n", v);
1329 success=(compare=
glb(u->
type,v->
type,&new_type,&new_code));
1347 Errorline(
"undecipherable sort code.\n");
1391 success=(r==floor(r));
1395 success=(r==floor(r));
1413 unsigned long ulen = *((
unsigned long *)u->
value_3);
1414 unsigned long vlen = *((
unsigned long *)v->
value_3);
1415 success=(ulen==vlen &&
1494 traceline(
"pushing type disjunction choice point for %P\n",u);
1509 old1stat, old2stat);
1531 printf(
"Call to disjunct_aim\nThis routine inhibited by RM: Dec 9 1992\n");
1554 if (thegoal && rule) {
1570 if ((
unsigned long)rule==
DEFRULES) {
1638 traceline(
"prove built-in %P\n", thegoal);
1642 success=
c_rule[(
unsigned long)rule]();
1664 traceline(
"alternative clause has been retracted\n");
1689 head->
coref=thegoal;
1753 traceline(
"pushing type disjunction choice point for %P\n", t);
1792 traceline(
"pushing 'retract' choice point for %P\n", head);
1797 traceline(
"pushing 'clause' choice point for %P\n", head);
1822 traceline(
"following clause had been retracted\n");
1825 else if ((
unsigned long)(*p)>0) {
1827 Errorline(
"the built-in %P cannot be retracted.\n",head);
1829 Errorline(
"the definition of built-in %P is not accessible.\n",head);
1948 long sort,cut_loc=
FALSE;
1975 if (level==0) { result=
TRUE; }
2006 for(i=1;i<=lev1;i++) { *pr=
'-'; pr++; *pr=
'-'; pr++; }
2008 sprintf(pr,
"%ld",lev2);
2019 c=x_read_stdin_or_event(&eventflag);
2031 while (c!=
EOLN && c>0 && c<=32 && c!=EOF) {
2040 else if (c==
';' || c==
'.') {
2043 }
while (c2!=
EOLN && c2!=EOF && c2>0 && c2<=32);
2060 }
else if (sort==
QUERY) {
2066 else if (sort==
FACT) {
2072 undo(save_undo_stack);
2106 long success=
TRUE,exitloop;
2110 long old_noisy,old_file_date;
2113 long old_var_occurred;
2114 int end_of_file=
FALSE;
2146 else if (sort==
FACT) {
2150 else if (sort==
QUERY) {
2170 }
while (success && !exitloop);
2174 if(end_of_file || !success) {
2406 (*p)->aaaa_2,((*p)->aaaa_2->type->type_def==(
def_type)
function_it?
"->":
":-"),(*p)->bbbb_2);
2427 if (xcount<=0 && aim->type==
prove) {
2428 if (x_exist_event()) {
void assert_clause(ptr_psi_term t)
void get_one_arg_addr(ptr_node t, ptr_psi_term **a)
ptr_definition boolpredsym
void push_window(long type, long disp, long wind)
ptr_choice_point topmost_what_next()
int global_unify(ptr_psi_term u, ptr_psi_term v)
void push2_ptr_value(type_ptr t, GENERIC *p, GENERIC v)
struct wl_definition * def_type
void put_back_char(long c)
long do_residuation_user()
void restore_resid(ptr_resid_block rb, ptr_psi_term *match_date)
long glb(ptr_definition t1, ptr_definition t2, ptr_definition *t3, ptr_int_list *c3)
ptr_module current_module
char prompt_buffer[PROMPT_BUFFER]
void undo(ptr_stack limit)
void push_goal(goals t, ptr_psi_term aaaa_5, ptr_psi_term bbbb_5, GENERIC cccc_5)
long(* c_rule[MAX_BUILT_INS])()
ptr_int_list decode(ptr_int_list c)
long redefine(ptr_psi_term t)
void deref2_rec_eval(ptr_psi_term t)
void fetch_def_lazy(ptr_psi_term u, ptr_definition old1, ptr_definition old2, ptr_node old1attr, ptr_node old2attr, long old1stat, long old2stat)
void merge_unify(ptr_node *u, ptr_node v)
void assert_rule(psi_term t, def_type typ)
long matches(ptr_definition t1, ptr_definition t2, long *smaller)
ptr_definition aborthooksym
void deref2_eval(ptr_psi_term t)
void push_def_ptr_value(ptr_psi_term q, GENERIC *p)
long num_vars(ptr_node vt)
void assert_complicated_type(ptr_psi_term t)
void merge(ptr_node *u, ptr_node v)
long overlap_type(ptr_definition t1, ptr_definition t2)
ptr_resid_list resid_vars
long abort_life(int nlflag)
void stack_add_psi_attr(ptr_psi_term t, char *attrname, ptr_psi_term g)
void release_resid(ptr_psi_term t)
long sub_type(ptr_definition t1, ptr_definition t2)
void traceline(char *format,...)
ptr_psi_term quote_copy(ptr_psi_term t, long heap_flag)
void Errorline(char *format,...)
void push_psi_ptr_value(ptr_psi_term q, GENERIC *p)
void infoline(char *format,...)
long unify_body(long eval_flag)
long trail_condition(psi_term *Q)
void assert_attributes(ptr_psi_term t)
void Syntaxerrorline(char *format,...)
void add_rule(ptr_psi_term head, ptr_psi_term body, def_type typ)
static void clean_trail(ptr_choice_point cutpt)
void merge2(ptr_node *u, ptr_node v)
ptr_definition quoted_string
struct wl_definition * ptr_definition
ptr_psi_term stack_psi_term(long stat)
void merge3(ptr_node *u, ptr_node v)
struct wl_pair_list * ptr_pair_list
int dummy_printf(char *f, char *s, char *t)
void get_two_args(ptr_node t, ptr_psi_term *a, ptr_psi_term *b)
#define equal_types(A, B)
void get_one_arg(ptr_node t, ptr_psi_term *a)
ptr_node find(long comp, char *keystr, ptr_node tree)
ptr_psi_term stack_copy_psi_term(psi_term t)
long featcmp(char *str1, char *str2)
void restore_state(ptr_psi_term t)
void push_ptr_value_global(type_ptr t, GENERIC *p)
long i_eval_args(ptr_node n)
ptr_definition sys_bytedata
struct wl_psi_term * ptr_psi_term
void save_state(ptr_psi_term t)
void stack_info(FILE *outfile)
long print_variables(long printflag)
struct tms start_time end_time
unsigned long global_time_stamp
GENERIC get_attr(ptr_psi_term t, char *attrname)
ptr_psi_term eval_copy(ptr_psi_term t, long heap_flag)
void warningline(char *format,...)
void clean_undo_window(long disp, long wind)
ptr_module find_module(char *module)
ptr_psi_term xevent_existing
void fetch_def(ptr_psi_term u, long allflag)
long open_input_file(char *file)
void push_ptr_value(type_ptr t, GENERIC *p)
ptr_module set_current_module(ptr_module module)
long i_check_out(ptr_psi_term t)
ptr_definition call_handlersym
void push_choice_point(goals t, ptr_psi_term aaaa_6, ptr_psi_term bbbb_6, GENERIC cccc_6)
ptr_choice_point choice_stack
void merge1(ptr_node *u, ptr_node v)