13 static unsigned int randomseed;
394 printf(
"*** BUG: value already present in UNIFY_REAL_RESULT\n");
425 warningline(
"the persistent term '%P' appears in an arithmetic constraint and cannot be refined\n",t);
455 if(success && arg2) {
467 switch(num1+num2*2+num3*4) {
490 success=(val3==(
REAL)(val1>val2));
523 if(success && arg2) {
535 switch(num1+2*num2+4*num3) {
552 if(arg1==arg2 && !val3)
570 success=(val3==(
REAL)(val1==val2));
618 Errorline(
"malformed disjunction '%P'\n",funct);
649 if(success && arg2) {
661 switch(num1+num2*2+num3*4) {
684 success=(val3==(
REAL)(val1<val2));
717 if(success && arg2) {
729 switch(num1+num2*2+num3*4) {
752 success=(val3==(
REAL)(val1>=val2));
785 if(success && arg2) {
797 switch(num1+num2*2+num3*4) {
820 success=(val3==(
REAL)(val1<=val2));
841 long success=
TRUE,succ,lesseq;
878 Errorline(
"function result '%P' should be a boolean or a predicate.\n",
887 Errorline(
"missing argument to '*boolpred*'.\n");
934 long a1comp, a2comp, a3comp;
950 if (a1comp && a2comp && a3comp) {
954 if (a1== !sel || a2== !sel) {
956 }
else if (a1==sel) {
961 }
else if (a2==sel) {
966 }
else if (a3==sel) {
969 }
else if (arg1==arg2) {
985 Errorline(
"Non-boolean argument or result in '%P'.\n",funct);
1032 long a1comp, a2comp;
1046 if (a1comp && a2comp) {
1053 }
else if (arg1==arg2) {
1064 Errorline(
"Non-boolean argument or result in '%P'.\n",funct);
1086 long a1comp, a2comp, a3comp;
1102 if (a1comp && a2comp && a3comp) {
1113 }
else if (a1==
TRUE && arg3==arg2) {
1115 }
else if (a2==
TRUE && arg3==arg2) {
1117 }
else if (a3==
TRUE && arg1==arg2) {
1120 }
else if (a1==
FALSE) {
1122 }
else if (a2==
FALSE) {
1124 }
else if (a3==
FALSE) {
1127 }
else if (arg1==arg2) {
1129 }
else if (arg1==arg3) {
1131 }
else if (arg3==arg2) {
1144 Errorline(
"Non-boolean argument or result in '%P'.\n",funct);
1178 Errorline(
"argument is not a function in %P.\n",funct);
1239 (void)snprintf(thebuffer,20,
"%ld",(
long)v);
1243 Errorline(
"non-integer numeric feature in %P\n",funct);
1261 Errorline(
"attempt to add a feature to curried function %P\n",
1277 arity_add(arg1,label);
1313 long num1,num2,num3;
1314 REAL val1,val2,val3;
1324 if(success && arg2) {
1336 switch(num1+2*num2+4*num3) {
1353 if(arg1==arg2 && val3)
1371 success=(val3==(
REAL)(val1!=val2));
1719 if ((f=fopen(e,
"r"))) {
1817 long gts,success=
TRUE;
1858 long num,success=
TRUE;
1871 gts=(
unsigned long)gts_r;
1914 long ans,gts1,gts2,num,success=
TRUE;
1928 if (success && num) {
1929 gts1 = (
unsigned long) gts_r;
1931 if (success && num) {
1932 gts2 = (
unsigned long) gts_r;
1945 Errorline(
"bad second argument to %P.\n",funct);
1950 Errorline(
"bad first argument %P.\n",funct);
1997 ((sort==
QUERY)?
"query":
1998 ((sort==
FACT)?
"declaration":
"error")));
2017 long smaller,sort,old_var_occurred;
2051 ((sort==
QUERY)?
"query":((sort==
FACT)?
"declaration":
"error"))
2091 static long c_read(
long);
2138 Errorline(
"attempt to read past end of file (%E).\n");
2159 ((sort==
QUERY)?
"query":((sort==
FACT)?
"declaration":
"error"))
2195 Errorline(
"argument missing in %P.\n",g);
2225 if (nl_flag) printf(
"\n");
2226 printf(
"*** Exiting Wild_Life ");
2227 printf(
"[%1.3fs cpu, %1.3fs gc (%2.1f%%)]\n",
2228 (
life_end.tms_utime-life_start.tms_utime)/60.0,
2268 if(
NOTQUIET) fprintf(stderr,
"\n*** Abort");
2269 if(
NOTQUIET && nlflag) fprintf(stderr,
"\n");
2280 if(
NOTQUIET) fprintf(stderr,
"\n*** Abort");
2281 if(
NOTQUIET && nlflag) fprintf(stderr,
"\n");
2286 fprintf(stderr,
"\n*** END Abort");
2303 Errorline(
"built-in %P is not implemented yet.\n",t);
2320 Errorline(
"%P is a declaration, not a query.\n",t);
2365 Errorline(
"%P may not have arguments in %P.\n",arg1,g);
2368 Errorline(
"%P should be dynamic in %P.\n",arg1,g);
2371 Errorline(
"%P should be a function or uninterpreted in %P.\n",arg1,g);
2374 Errorline(
"%P is missing one or both arguments.\n",g);
2504 Errorline(
"bad argument in %s.\n", (r?
"retract":
"clause"));
2573 if (eval_2)
return !error;
2578 Errorline(
"argument(s) missing in %P\n",g);
2604 Errorline(
"%P is an incorrect global variable declaration (%E).\n",t);
2615 Errorline(
"%T %P cannot be redeclared as a global variable (%E).\n",
2701 Errorline(
"argument(s) missing in %P\n",g);
2721 Errorline(
"%T %P cannot be redeclared persistent (%E).\n",
2796 Errorline(
"bad input stream in %P.\n",g);
2881 if (thestream!=
NULL) {
2936 long inclose,outclose;
2959 if (inclose || outclose) {
2961 (void)fclose((FILE *)arg1->
value_3);
3026 Errorline(
"argument missing in %P.\n",g);
3075 long i,success=
FALSE;
3077 char tstr[2], *str=tstr;
3087 i = (
unsigned long) floor(*(
REAL *) arg1->
value_3);
3088 if (i==(
unsigned long)(
unsigned char)i) {
3089 str[0] = i; str[1] = 0;
3093 Errorline(
"out-of-range character value in %P.\n",g);
3103 Errorline(
"argument missing in %P.\n",g);
3285 Errorline(
"argument in %P must be positive.\n",g);
3296 Errorline(
"argument missing in %P.\n",g);
3325 Errorline(
"argument in %P must be positive or zero.\n",g);
3398 traceline(
"pushing predicate disjunction choice point for %P\n",g);
3401 if (!arg1 && !arg2) {
3403 Errorline(
"neither first nor second arguments exist in %P.\n",g);
3450 *arg1addr=call_once;
3477 Errorline(
"argument to cond is not boolean in %P\n",g);
3498 long success=
TRUE,v;
3531 (
void)snprintf(thebuffer,20,
"%ld",(
long)v);
3586 if(arg1 && success) {
3639 if(arg1 && success) {
3876 success=(arg1!=arg2);
3920 success=(arg1==arg2);
4080 Errorline(
"non-numeric arguments in %P\n",funct);
4129 Errorline(
"result is not a real in %P\n",funct);
4133 Errorline(
"argument is not a string in %P\n",funct);
4163 Errorline(
"bad argument in %P\n",funct);
4166 Errorline(
"argument missing in %P\n",funct);
4194 Errorline(
"argument of %P should be a predicate.\n",funct);
4250 Errorline(
"argument of %P should be a predicate.\n",funct);
4301 Errorline(
"cannot use '<-' on persistent value in %P\n",g);
4327 Errorline(
"argument missing in %P.\n",g);
4362 Errorline(
"argument missing in %P.\n",g);
4409 Errorline(
"argument missing in %P.\n",g);
4464 Errorline(
"argument missing in %P.\n",g);
4562 Errorline(
"argument missing in %P.\n",g);
4615 Errorline(
"the argument %P of freeze must be a predicate.\n",arg1);
4633 traceline(
"evaluate frozen predicate %P\n",g);
4638 Errorline(
"the argument %P of freeze must be user-defined.\n",arg1);
4645 traceline(
"alternative clause has been retracted\n");
4749 str[0] = (
unsigned char) floor(*(
REAL *) arg1->
value_3);
4759 Errorline(
"argument of %P must be an integer.\n",funct);
4804 Errorline(
"String argument expected in '%P'\n",funct);
4874 warningline(
"argument of '%P' is not a string.\n",funct);
4882 Errorline(
"error occurred in '%P'\n",funct);
4914 (void)snprintf(buf,100,
"%g", *((
double *)(arg1->
value_3)));
4942 long success=
TRUE,i;
4944 REAL the_int,next,neg;
4959 if (the_int!=floor(the_int))
return FALSE;
4961 neg = (the_int<0.0);
4962 if (neg) the_int = -the_int;
4969 Errorline(
"internal buffer too small for int2str(%P).\n",arg1);
4972 next = floor(the_int/10);
4973 val[i]=
'0' + (
unsigned long) (the_int-next*10);
4977 if (neg) { i--; val[i]=
'-'; }
5116 return ((
unsigned long)r>0 && (
unsigned long)r<
MAX_BUILT_INS);
5194 s2=
" with an empty definition";
5218 outputline(
"'%s' is a %sglobal variable worth %P.\n",
5262 Errorline(
"argument of %P must be a predicate, function, or sort.\n",g);
5268 Errorline(
"argument missing in %P.\n",g);
5314 Errorline(
"argument(s) missing in %P.\n",g);
5375 fprintf(stderr,
"Too many primitives, increase MAX_BUILT_INS in extern.h\n");
5406 Errorline(
"operator precedence must be in the range 0..%d.\n",
5445 if (n && prec && type) {
5472 Errorline(
"precedence must range from 1 to 1200 in %P.\n",t);
5475 Errorline(
"precedence must be a positive integer in %P.\n",t);
5478 Errorline(
"numbers or strings may not be operators in %P.\n",t);
5481 Errorline(
"argument missing in %P.\n",t);
5496 result=(
char *)
heap_alloc(strlen(s1)+strlen(s2)+1);
5497 sprintf(result,
"%s%s",s1,s2);
5517 if(p>l || p<0 || n<0)
5525 *(result+i)= *(s+p+i-1);
5550 (void)fputc(fgetc(f2),f1);
5606 c_arg1= (
char *)arg1->
value_3;
5624 c_arg2= (
char *)arg2->
value_3;
5638 if(success && all_args) {
5639 c_result=
str_conc( c_arg1, c_arg2 );
5642 temp_result->value_3= (
GENERIC)c_result;
5748 c_arg1= (
char *)arg1->
value_3;
5762 if (success && all_args) {
5763 c_result=strlen(c_arg1);
5817 c_arg1= (
char *)arg1->
value_3;
5835 c_arg2= (long)(* (
double *)(arg2->
value_3));
5853 c_arg3= (long)(* (
double *)(arg3->value_3));
5867 if (success && all_args) {
5868 c_result=
sub_str(c_arg1,c_arg2,c_arg3);
5871 temp_result->value_3=(
GENERIC)c_result;
5916 c_arg1= (
char *)arg1->
value_3;
5934 c_arg2= (
char *)arg2->
value_3;
5988 c_arg1= (long)(* (
double *)(arg1->
value_3));
6002 if (success && all_args) {
6005 c_result=(rand_r(&randomseed)<<15) + rand_r(&randomseed);
6009 c_result=c_result-(c_result/c_arg1)*c_arg1;
6053 c_arg1= (long)(* (
double *)(arg1->
value_3));
6067 if (success && all_args) randomseed=c_arg1;
6069 if (success && all_args) srandom(c_arg1);
6099 while(arg1->
coref) {
6127 for(i=
arg_c-1;i>=0;i--) {
static long c_diff()
c_diff
void new_built_in(ptr_module m, char *s, def_type t, long(*r)())
new_built_in
static long c_listing()
c_listing
static long c_char()
c_char
ptr_definition boolpredsym
void insert_math_builtins()
insert math builtins into table
static long c_is_sort()
c_is_sort
ptr_keyword hash_lookup(ptr_hash_table table, char *symbol)
HASH_LOOKUP.
long c_initrandom()
c_initrandom
long trail_condition(psi_term *Q)
trail_condition
static long built_in_index
void get_two_args(ptr_node t, ptr_psi_term *a, ptr_psi_term *b)
get_two_args
void push_ptr_value(type_ptr t, GENERIC *p)
push_ptr_value
static long c_exists()
c_exists
long open_output_file(char *file)
void undo(ptr_stack limit)
undo
static long c_combined_name()
c_combined_name
void get_one_arg_addr(ptr_node t, ptr_psi_term **a)
get_one_arg_addr
static long c_exists_choice()
c_exists_choice
static long c_static()
c_static
static long c_read(long)
c_read
void clear_copy()
clear_copy
static long c_write()
c_write
static long c_pwriteq()
c_pwriteq
static long c_unify_func()
c_unify_func
static long c_clause()
c_clause
struct wl_definition * def_type
static long c_declaration()
c_declaration
ptr_psi_term stack_cons(ptr_psi_term head, ptr_psi_term tail)
stack_cons
void insert_type_builtins()
void insert_type_builtins
void residuate(ptr_psi_term t)
residuate
void listing_pred_write(ptr_node n, long fflag)
listing_pred_write
void exit_life(long nl_flag)
exit_life
FILE * get_stream(ptr_psi_term t)
get_stream
static long c_put_main(long)
c_put_main
long pred_clause(ptr_psi_term t, long r, ptr_psi_term g)
pred_clause
static long c_pwrite()
c_pwrite
static long c_ascii()
c_ascii
static long c_retract()
c_retract
long c_display_modules()
c_display_modules
static long c_features()
c_features
static long c_delay_check()
static long c_delay_check()
ptr_module current_module
static long c_fail()
c_fail
ptr_definition dynamicsym
static long c_quote()
c_quote
ptr_psi_term real_stack_psi_term(long stat, REAL thereal)
real_stack_psi_term
static long c_exist_feature()
c_exist_feature
static long c_rootsort()
c_rootsort
void push_choice_point(goals t, ptr_psi_term a, ptr_psi_term b, GENERIC c)
push_choice_point
void push_goal(goals t, ptr_psi_term a, ptr_psi_term b, GENERIC c)
push_goal
psi_term parse(long *q)
parse
ptr_node bk_stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
bk_stack_insert
static long c_persistent()
c_persistent
long c_deref_length()
c_deref_length
void init_system()
init_system
void list_special(ptr_psi_term t)
list_special
static long generic_write()
generic_write
ptr_definition listingsym
static long c_call_once()
c_call_once
ptr_psi_term exact_copy(ptr_psi_term t, long heap_flag)
exact_copy
void unify_bool_result(ptr_psi_term t, long v)
unify_bool_result
long only_arg1(ptr_psi_term t, ptr_psi_term *arg1)
only_arg1
void save_parse_state(ptr_parse_block pb)
save_parse_state
static long c_freeze_inner(long freeze_flag)
c_freeze_inner
static long c_project()
c_project
void merge_unify(ptr_node *u, ptr_node v)
long(* c_rule[MAX_BUILT_INS])()
static long c_int2string()
c_int2string
ptr_psi_term heap_psi_term(long stat)
heap_psi_term
void delete_attr(char *s, ptr_node *n)
delete_attr
char * heap_ncopy_string(char *s, int n)
heap_ncopy_string
long redefine(ptr_psi_term t)
redefine
static long c_same_address()
c_same_address
void push_psi_ptr_value(ptr_psi_term q, GENERIC *p)
push_psi_ptr_value
ptr_psi_term null_psi_term
void persistent_error_check(ptr_node n, int *error)
persistent_error_check
void restore_parse_state(ptr_parse_block pb)
restore_parse_state
void display_psi_stream(ptr_psi_term t)
display_psi_stream
ptr_psi_term new_psi_term(long numargs, ptr_definition typ, ptr_psi_term **a1, ptr_psi_term **a2)
new_psi_term
long get_real_value(ptr_psi_term t, REAL *v, long *n)
get_real_value
void persistent_tree(ptr_node n)
persistent_tree
static long c_unify_pred()
c_unify_pred
static void unify_bool(ptr_psi_term arg)
unify_bool
static long c_cond()
c_cond
long c_set_module()
c_set_module
long c_append_file()
c_append_file
void global_error_check(ptr_node n, int *error, int *eval_2)
global_error_check
ptr_psi_term stack_bytes(char *s, int n)
stack_bytes
long matches(ptr_definition t1, ptr_definition t2, long *smaller)
matches
void assert_protected(ptr_node n, long prot)
assert_protected
static long c_string2psi()
c_string2psi
static long c_read_psi()
c_read_psi
static long c_lt()
c_lt C_LT Less than.
ptr_definition aborthooksym
static long c_boolpred()
c_boolpred
static long c_diff_address()
c_diff_address
void persistent_one(ptr_psi_term t)
persistent_one
static long c_open_out()
c_open_out
void nonnum_warning(ptr_psi_term t, ptr_psi_term arg1, ptr_psi_term arg2)
nonnum_warning
static long c_print_codes()
c_print_codes
ptr_hash_table symbol_table
void get_one_arg(ptr_node t, ptr_psi_term *a)
get_one_arg
struct tms life_start life_end
ptr_node distinct_tree(ptr_node t)
distinct_tree
static long c_string_address()
c_string_address
static long c_ltoe()
c_ltoe
long c_open_module()
c_open_module
long overlap_type(ptr_definition t1, ptr_definition t2)
overlap_type
static long c_assign()
c_assign
ptr_definition update_symbol(ptr_module module, char *symbol)
update_symbol
static long c_parse()
c_parse
static long c_freeze()
c_freeze
ptr_node heap_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
heap_insert
void insert_system_builtins()
insert_system_builtins
ptr_resid_list resid_vars
static long c_page_width()
c_page_width
int get_module(ptr_psi_term psi, ptr_module *module)
get_module
long abort_life(int nlflag)
abort_life
static long c_gtoe()
c_gtoe
ptr_definition minus_symbol
void stack_add_psi_attr(ptr_psi_term t, char *attrname, ptr_psi_term g)
stack_add_psi_attr
void release_resid(ptr_psi_term t)
release_resid
static long c_psi2string()
c_psi2string
static long c_pred()
c_pred
long sub_type(ptr_definition t1, ptr_definition t2)
sub_type
void traceline(char *format,...)
traceline
static long c_repeat()
c_repeat
long c_display_persistent()
c_display_persistent
void fetch_def_lazy(ptr_psi_term u, ptr_definition old1, ptr_definition old2, ptr_node old1attr, ptr_node old2attr, long old1stat, long old2stat)
fetch_def_lazy
ptr_definition add_module3
static long c_global_assign()
c_global_assign
static long c_split_double()
c_split_double
ptr_psi_term quote_copy(ptr_psi_term t, long heap_flag)
quote_copy
void Errorline(char *format,...)
Errorline.
static long c_write_err()
c_write_err
static long c_apply()
c_apply
void assert_delay_check(ptr_node n)
assert_delay_check
ptr_int_list cons(GENERIC v, ptr_int_list l)
cons
void stack_add_int_attr(ptr_psi_term t, char *attrname, long value)
stack_add_int_attr
static long c_writeq_err()
c_writeq_err
ptr_psi_term stack_pair(ptr_psi_term left, ptr_psi_term right)
stack_pair
static long c_global()
c_global
long check_real(ptr_psi_term t, REAL *v, long *n)
check_real
void residuate2(ptr_psi_term u, ptr_psi_term v)
residuate2
ptr_node stack_insert(long comp, char *keystr, ptr_node *tree, GENERIC info)
stack_insert
char * sub_str(char *s, long p, long n)
sub_str
void bk_mark_quote(ptr_psi_term t)
bk_mark_quote
static long c_get_choice()
c_get_choice
char * heap_copy_string(char *s)
heap_copy_string
void print_codes()
print_codes
void insert_sys_builtins()
insert_sys_builtins
void global_tree(ptr_node n)
global_tree
static long c_writeq()
c_writeq
ptr_psi_term distinct_copy(ptr_psi_term t)
distinct_copy
long c_sub_string()
c_sub_string
long all_public_symbols()
all_public_symbols
static long c_open_in()
c_open_in
long has_rules(ptr_pair_list r)
has_rules
ptr_definition first_definition
static long c_dynamic()
c_dynamic
static void clean_trail(ptr_choice_point cutpt)
clean_trail
static long c_logical_main(long sel)
c_logical_main
ptr_psi_term error_psi_term
long append_files(char *s1, char *s2)
append_files
long c_string_length()
c_string_length
void mark_eval(ptr_psi_term t)
mark_eval
ptr_psi_term stack_int(long n)
stack_int
void release_resid_notrail(ptr_psi_term t)
release_resid_notrail
static long c_non_strict()
c_non_strict
static long c_copy_term()
c_copy_term
ptr_psi_term global_value
static long c_undo()
c_undo
static long c_eval()
c_eval
static long c_nonvar()
c_nonvar
long is_built_in(ptr_pair_list r)
is_built_in
ptr_definition quoted_string
static long c_disj()
c_disj
static long c_eval_disjunction()
c_eval_disjunction
ptr_psi_term stack_psi_term(long stat)
stack_psi_term
char * expand_file_name(char *s)
expand_file_name
struct wl_operator_data * ptr_operator_data
struct wl_pair_list * ptr_pair_list
long c_current_module()
c_current_module
ptr_definition leftarrowsym
ptr_definition calloncesym
static long c_succeed()
c_succeed
void init_parse_state()
init_parse_state
ptr_psi_term stack_nil()
stack_nil
void pred_write(ptr_node n)
pred_write
static long c_implies()
c_implies
ptr_definition disjunction
static long c_strip()
c_strip
ptr_psi_term inc_heap_copy(ptr_psi_term t)
inc_heap_copy
static long get_bool(ptr_definition typ)
get_bool
#define equal_types(A, B)
void mark_quote(ptr_psi_term t)
mark_quote
static long c_put_err()
c_put_err
long c_private_feature()
c_private_feature
static long c_assert_last()
c_assert_last
ptr_definition add_module2
ptr_node find(long comp, char *keystr, ptr_node tree)
find
void save_resid(ptr_resid_block rb, ptr_psi_term match_date)
save_resid
ptr_psi_term stack_copy_psi_term(psi_term t)
stack_copy_psi_term
long featcmp(char *str1, char *str2)
featcmp
static long c_close()
c_close
static long c_read_token()
c_read_token
void restore_state(ptr_psi_term t)
restore_state
void outputline(char *format,...)
void outputline(char *format,...)
ptr_definition delay_checksym
long c_trace_input()
c_trace_input
ptr_node one_attr()
one_attr
long str_to_int(char *s)
str_to_int
ptr_psi_term make_feature_list(ptr_node tree, ptr_psi_term tail, ptr_module module, int val)
make_feature_list
ptr_definition final_question
static long c_is_predicate()
c_is_predicate
static long c_var()
static long c_var()
void encode_types()
encode_types
long deref_eval(ptr_psi_term t)
deref_eval
long c_concatenate()
c_concatenate
static long c_is_function()
c_is_function
char * str_conc(char *s1, char *s2)
str_conc
ptr_definition add_module1
static long c_funct()
c_funct
static long c_eval_inplace()
c_eval_inplace
ptr_psi_term collect_symbols(long sel)
collect_symbols
struct wl_psi_term * ptr_psi_term
void read_token_b(ptr_psi_term tok)
read_token_b
void save_state(ptr_psi_term t)
save_state
void init_built_in_types()
init_built_in_types
long c_private()
c_private
long print_variables(long printflag)
print_variables
long unify_real_result(ptr_psi_term t, REAL v)
unify_real_result
static long c_not_implemented()
c_not_implemented
long file_exists(char *s)
file_exists
long read_char()
read_char
unsigned long global_time_stamp
long c_replace()
c_replace
long declare_operator(ptr_psi_term t)
declare_operator
static long c_chdir()
c_chdir
void inherit_always_check()
inherit_always_check
void global_one(ptr_psi_term t)
global_one
static long c_bk_assign()
c_bk_assign
ptr_psi_term eval_copy(ptr_psi_term t, long heap_flag)
eval_copy
ptr_definition update_feature(ptr_module module, char *feature)
update_feature
static ptr_node copy_attr_list(ptr_node n)
copy_attr_list
void warningline(char *format,...)
warningline
static long c_set_input()
c_set_input
static long c_equal()
static long c_equal()
static void op_declare(long p, operator t, char *s)
op_declare
void stdin_cleareof()
stdin_cleareof
static long c_setq()
c_setq
ptr_psi_term stack_string(char *s)
stack_string
static long c_module_name()
c_module_name
static long c_write_canonical()
c_write_canonical
long hidden_type(ptr_definition t)
hidden_type
static long c_load()
c_load
static long get_bool_value(ptr_psi_term t, REAL *v, long *n)
get_bool_value
ptr_definition inputfilesym
static long c_print_depth()
c_print_depth
long open_input_file(char *file)
open_input_file
static long c_copy_pointer()
c_copy_pointer
static long c_call()
c_call
static long c_feature_values()
c_feature_values
ptr_module set_current_module(ptr_module module)
set_current_module
static long c_assert_first()
c_assert_first
void assert_clause(ptr_psi_term t)
assert_clause
static long c_print_variables()
c_print_variables
static long c_set_choice()
c_set_choice
ptr_operator_data op_data
long i_check_out(ptr_psi_term t)
i_check_out
ptr_definition call_handlersym
GENERIC heap_alloc(long s)
heap_alloc
static void set_parse_queryflag(ptr_node thelist, long sort)
set_parse_queryflag
ptr_choice_point choice_stack
static long c_set_output()
c_set_output
ptr_definition eval_argsym
static long c_such_that()
c_such_that
void assert_args_not_eval(ptr_node n)
assert_args_not_eval
long psi_to_string(ptr_psi_term t, char **fn)
psi_to_string