Go to the source code of this file.
Variables | |
ptr_definition * | gamma_table = NULL |
void all_sorts | ( | ) |
Definition at line 716 of file types.c.
References cons(), first_definition, wl_definition::next, nothing, wl_definition::parents, wl_definition::type_def, and type_it.
void assert_args_not_eval | ( | ptr_node | n | ) |
Definition at line 273 of file types.c.
References deref_ptr, wl_definition::evaluate_args, FALSE, wl_definition::keyword, wl_keyword::symbol, wl_psi_term::type, wl_definition::type_def, type_it, and warningline().
void assert_attributes | ( | ptr_psi_term | t | ) |
Definition at line 468 of file types.c.
References add_rule(), wl_psi_term::attr_list, deref_ptr, Errorline(), function_it, get_two_args(), wl_definition::keyword, NULL, predicate, wl_keyword::symbol, TRUE, wl_psi_term::type, wl_definition::type_def, type_it, types_modified, and wl_const_3.
void assert_complicated_type | ( | ptr_psi_term | t | ) |
Definition at line 375 of file types.c.
References add_rule(), assert_less(), assert_ok, wl_psi_term::attr_list, deref_ptr, disjunction, equ_tok, Errorline(), FALSE, get_two_args(), wl_definition::keyword, nil, NULL, wl_keyword::symbol, TRUE, wl_psi_term::type, type_it, and warningline().
void assert_delay_check | ( | ptr_node | n | ) |
Definition at line 303 of file types.c.
References wl_definition::always_check, deref_ptr, FALSE, and wl_psi_term::type.
long assert_less | ( | ptr_psi_term | t1, |
ptr_psi_term | t2 | ||
) |
Definition at line 183 of file types.c.
References deref_ptr, Errorline(), FALSE, function_it, wl_definition::keyword, make_type_link(), predicate, redefine(), wl_keyword::symbol, top, TRUE, wl_definition::type_def, type_it, and types_modified.
void assert_protected | ( | ptr_node | n, |
long | prot | ||
) |
Definition at line 235 of file types.c.
References wl_definition::date, deref_ptr, wl_definition::keyword, MAX_BUILT_INS, wl_definition::protected, wl_definition::rule, wl_keyword::symbol, wl_psi_term::type, wl_definition::type_def, type_it, and warningline().
void assert_type | ( | ptr_psi_term | t | ) |
Definition at line 345 of file types.c.
References assert_less(), assert_ok, Errorline(), get_two_args(), and NULL.
long bit_length | ( | ptr_int_list | c | ) |
void clear_already_loaded | ( | ptr_node | n | ) |
Definition at line 326 of file types.c.
References wl_definition::already_loaded, and FALSE.
void clear_coding | ( | ) |
Definition at line 685 of file types.c.
References wl_definition::code, first_definition, wl_definition::next, NOT_CODED, wl_definition::type_def, and type_it.
ptr_int_list cons | ( | GENERIC | v, |
ptr_int_list | l | ||
) |
Definition at line 164 of file types.c.
References HEAP_ALLOC, wl_int_list::next, and wl_int_list::value_1.
ptr_int_list copyTypeCode | ( | ptr_int_list | u | ) |
Definition at line 760 of file types.c.
References HEAP_ALLOC, wl_int_list::next, NULL, or_codes(), and wl_int_list::value_1.
long count_sorts | ( | long | c0 | ) |
Definition at line 669 of file types.c.
References first_definition, wl_definition::next, wl_definition::type_def, and type_it.
ptr_int_list decode | ( | ptr_int_list | c | ) |
Definition at line 1678 of file types.c.
References bit_length(), wl_definition::code, cons(), wl_int_list::next, NULL, STACK_ALLOC, and wl_int_list::value_1.
void encode_types | ( | ) |
Definition at line 1015 of file types.c.
References all_sorts(), built_in, wl_definition::children, clear_coding(), wl_definition::code, cons(), count_sorts(), equalize_codes(), Errorline(), FALSE, heap_alloc(), inherit_always_check(), integer, wl_definition::keyword, least_sorts(), lf_false, lf_true, make_sys_type_links(), make_type_link(), wl_int_list::next, NOT_CODED, nothing, NULL, or_codes(), overlap_type(), wl_definition::parents, perr(), propagate_definitions(), quoted_string, real, wl_keyword::symbol, top, traceline(), TRUE, two_to_the(), type_count, type_cyclicity(), types_done, types_modified, and wl_int_list::value_1.
void equalize_codes | ( | int | len | ) |
Definition at line 806 of file types.c.
References assert, wl_definition::code, first_definition, HEAP_ALLOC, wl_int_list::next, wl_definition::next, NULL, wl_definition::type_def, and type_it.
void find_adults | ( | ) |
Definition at line 516 of file types.c.
References adults, first_definition, HEAP_ALLOC, wl_int_list::next, wl_definition::next, NULL, wl_definition::parents, wl_definition::type_def, type_it, and wl_int_list::value_1.
long glb | ( | ptr_definition | t1, |
ptr_definition | t2, | ||
ptr_definition * | t3, | ||
ptr_int_list * | c3 | ||
) |
Definition at line 1388 of file types.c.
References wl_definition::code, FALSE, wl_int_list::next, NOT_CODED, nothing, NULL, STACK_ALLOC, top, TRUE, and wl_int_list::value_1.
Definition at line 1263 of file types.c.
References wl_definition::code, FALSE, wl_int_list::next, NOT_CODED, NULL, STACK_ALLOC, top, TRUE, and wl_int_list::value_1.
Definition at line 1206 of file types.c.
References wl_definition::code, FALSE, NULL, quoted_string, REAL, real, sub_CodeType(), and TRUE.
void inherit_always_check | ( | ) |
void insert_own_prop | ( | ptr_definition | d | ) |
Definition at line 539 of file types.c.
References wl_pair_list::aaaa_2, wl_pair_list::bbbb_2, children, FALSE, HEAP_ALLOC, wl_int_list::next, wl_pair_list::next, NULL, TRUE, and wl_int_list::value_1.
void insert_prop | ( | ptr_definition | d, |
ptr_triple_list | prop | ||
) |
Definition at line 580 of file types.c.
References wl_triple_list::aaaa_4, wl_triple_list::bbbb_4, wl_triple_list::cccc_4, children, FALSE, HEAP_ALLOC, wl_int_list::next, wl_definition::next, wl_triple_list::next, NULL, TRUE, and wl_int_list::value_1.
void least_sorts | ( | ) |
Definition at line 700 of file types.c.
References wl_definition::children, cons(), first_definition, wl_definition::next, nothing, NULL, wl_definition::parents, wl_definition::type_def, and type_it.
void make_type_link | ( | ptr_definition | t1, |
ptr_definition | t2 | ||
) |
Definition at line 848 of file types.c.
References cons(), wl_definition::parents, top, and type_member().
long matches | ( | ptr_definition | t1, |
ptr_definition | t2, | ||
long * | smaller | ||
) |
Definition at line 1565 of file types.c.
References wl_definition::code, FALSE, wl_int_list::next, NOT_CODED, top, TRUE, and wl_int_list::value_1.
void one_pass_always_check | ( | long * | ch | ) |
Definition at line 976 of file types.c.
References wl_definition::always_check, first_definition, wl_definition::next, propagate_always_check(), wl_definition::type_def, and type_it.
void or_codes | ( | ptr_int_list | u, |
ptr_int_list | v | ||
) |
Definition at line 780 of file types.c.
References HEAP_ALLOC, NULL, and wl_int_list::value_1.
long overlap_type | ( | ptr_definition | t1, |
ptr_definition | t2 | ||
) |
Definition at line 1486 of file types.c.
References wl_definition::code, FALSE, wl_int_list::next, NOT_CODED, top, TRUE, and wl_int_list::value_1.
void perr_sort | ( | ptr_definition | d | ) |
void perr_sort_cycle | ( | ptr_int_list | anc | ) |
Definition at line 892 of file types.c.
References perr(), perr_sort(), and perr_sort_list().
void perr_sort_list | ( | ptr_int_list | anc | ) |
Definition at line 882 of file types.c.
References perr(), and perr_sort().
void print_codes | ( | ) |
void print_def_type | ( | def_type | t | ) |
void propagate_always_check | ( | ptr_definition | d, |
long * | ch | ||
) |
Definition at line 950 of file types.c.
References wl_definition::always_check, FALSE, wl_int_list::next, TRUE, and wl_int_list::value_1.
void propagate_definitions | ( | ) |
Definition at line 622 of file types.c.
References adults, wl_definition::children, children, find_adults(), insert_own_prop(), insert_prop(), wl_int_list::next, NULL, wl_definition::properties, and wl_int_list::value_1.
long redefine | ( | ptr_psi_term | t | ) |
Definition at line 91 of file types.c.
References wl_definition::children, wl_keyword::combined_name, wl_definition::date, deref_ptr, Errorline(), FALSE, file_date, wl_definition::keyword, MAX_BUILT_INS, wl_definition::parents, wl_definition::protected, remove_cycles(), wl_definition::rule, wl_keyword::symbol, TRUE, wl_definition::type_def, type_it, undef, warningflag, warningline(), and yes_or_no().
void remove_cycles | ( | ptr_definition | d, |
ptr_int_list * | dl | ||
) |
long strict_matches | ( | ptr_psi_term | t1, |
ptr_psi_term | t2, | ||
long * | smaller | ||
) |
Definition at line 1608 of file types.c.
References FALSE, matches(), NULL, TRUE, wl_psi_term::type, and wl_psi_term::value_3.
long sub_CodeType | ( | ) |
long sub_CodeType | ( | ptr_int_list | c1, |
ptr_int_list | c2 | ||
) |
Definition at line 1522 of file types.c.
References FALSE, wl_int_list::next, NOT_CODED, TRUE, and wl_int_list::value_1.
long sub_type | ( | ptr_definition | t1, |
ptr_definition | t2 | ||
) |
Definition at line 1544 of file types.c.
References wl_definition::code, FALSE, sub_CodeType(), top, and TRUE.
ptr_int_list two_to_the | ( | long | p | ) |
Definition at line 731 of file types.c.
References HEAP_ALLOC, INT_SIZE, wl_int_list::next, NULL, and wl_int_list::value_1.
long type_cyclicity | ( | ptr_definition | d, |
ptr_int_list | anc | ||
) |
Definition at line 907 of file types.c.
References wl_definition::code, Errorline(), exit_life(), FALSE, wl_int_list::next, NOT_CODED, perr(), perr_sort_cycle(), TRUE, type_member(), and wl_int_list::value_1.
long type_member | ( | ) |
long type_member | ( | ptr_definition | t, |
ptr_int_list | tlst | ||
) |
Definition at line 864 of file types.c.
References FALSE, wl_int_list::next, TRUE, and wl_int_list::value_1.
long yes_or_no | ( | ) |
Definition at line 44 of file types.c.
References EOLN, input_state, open_input_file(), perr(), prompt, read_char(), and restore_state().
ptr_definition* gamma_table = NULL |