bool oberon_is_array_type(oberon_type_t * t); bool oberon_is_open_array(oberon_type_t * t); bool oberon_is_real_type(oberon_type_t * t); bool oberon_is_integer_type(oberon_type_t * t); bool oberon_is_system_byte_type(oberon_type_t * t); bool oberon_is_number_type(oberon_type_t * t); bool oberon_is_char_type(oberon_type_t * t); bool oberon_is_set_type(oberon_type_t * t); bool oberon_is_string_type(oberon_type_t * t); bool oberon_is_procedure_type(oberon_type_t * t); bool oberon_is_record_type(oberon_type_t * t); bool oberon_is_pointer_type(oberon_type_t * t); bool oberon_is_pointer_to_record(oberon_type_t * t); bool oberon_is_boolean_type(oberon_type_t * t); bool oberon_is_array_of_char_type(oberon_type_t * t); bool oberon_is_type_expr(oberon_expr_t * e); bool oberon_is_string_of_one(oberon_expr_t * e); bool oberon_is_some_types(oberon_type_t * a, oberon_type_t * b); bool oberon_is_some_procedure_signatures(oberon_type_t * a, oberon_type_t * b); bool oberon_is_equal_types(oberon_type_t * a, oberon_type_t * b); bool oberon_incluses_type(oberon_type_t * from, oberon_type_t * to); bool oberon_extension_of(oberon_type_t * ext, oberon_type_t * rec); bool oberon_is_const_string(oberon_expr_t * e); bool oberon_is_assignment_compatible_expressions(oberon_expr_t * e, oberon_type_t * Tv); bool oberon_is_compatible_arrays(oberon_object_t * f, oberon_expr_t * a); bool oberon_is_comatible_bin_expr(int token, oberon_expr_t * a, oberon_expr_t * b); bool oberon_is_compatible_bin_expr_types(int token, oberon_type_t * a, oberon_type_t * b); void oberon_check_type_expr(oberon_context_t * ctx, oberon_expr_t * e); void oberon_check_compatible_bin_expr(oberon_context_t * ctx, int token, oberon_expr_t * a, oberon_expr_t * b); void oberon_check_compatible_arrays(oberon_context_t * ctx, oberon_object_t * f, oberon_expr_t * a); void oberon_check_assignment_compatible(oberon_context_t * ctx, oberon_expr_t * e, oberon_type_t * Tv); void oberon_check_extension_of(oberon_context_t * ctx, oberon_type_t * ext, oberon_type_t * rec); oberon_type_t * oberon_get_longer_type(oberon_context_t * ctx, oberon_type_t * a, oberon_type_t * b); oberon_type_t * oberon_get_longer_real_type(oberon_context_t * ctx, oberon_type_t * a, oberon_type_t * b); bool oberon_is_compatible_var_param(oberon_type_t * Tf, oberon_type_t * Ta); void oberon_check_compatible_var_param(oberon_context_t * ctx, oberon_type_t * Tf, oberon_type_t * Ta);