DEADSOFTWARE

Добавлены функции ASH и ODD, к другим добавлена свёртка констант
[dsw-obn.git] / src / oberon-type-compat.h
1 bool
2 oberon_is_array_type(oberon_type_t * t);
4 bool
5 oberon_is_open_array(oberon_type_t * t);
7 bool
8 oberon_is_real_type(oberon_type_t * t);
10 bool
11 oberon_is_integer_type(oberon_type_t * t);
13 bool
14 oberon_is_number_type(oberon_type_t * t);
16 bool
17 oberon_is_char_type(oberon_type_t * t);
19 bool
20 oberon_is_set_type(oberon_type_t * t);
22 bool
23 oberon_is_string_type(oberon_type_t * t);
25 bool
26 oberon_is_procedure_type(oberon_type_t * t);
28 bool
29 oberon_is_record_type(oberon_type_t * t);
31 bool
32 oberon_is_pointer_type(oberon_type_t * t);
34 bool
35 oberon_is_pointer_to_record(oberon_type_t * t);
37 bool
38 oberon_is_boolean_type(oberon_type_t * t);
40 bool
41 oberon_is_array_of_char_type(oberon_type_t * t);
43 bool
44 oberon_is_type_expr(oberon_expr_t * e);
48 bool
49 oberon_is_some_types(oberon_type_t * a, oberon_type_t * b);
51 bool
52 oberon_is_some_procedure_signatures(oberon_type_t * a, oberon_type_t * b);
54 bool
55 oberon_is_equal_types(oberon_type_t * a, oberon_type_t * b);
57 bool
58 oberon_incluses_type(oberon_type_t * from, oberon_type_t * to);
60 bool
61 oberon_extension_of(oberon_type_t * ext, oberon_type_t * rec);
63 bool
64 oberon_is_const_string(oberon_expr_t * e);
66 bool
67 oberon_is_assignment_compatible_expressions(oberon_expr_t * e, oberon_type_t * Tv);
69 bool
70 oberon_is_compatible_arrays(oberon_object_t * f, oberon_expr_t * a);
72 bool
73 oberon_is_compatible_bin_expr_types(int token, oberon_type_t * a, oberon_type_t * b);
77 void
78 oberon_check_type_expr(oberon_context_t * ctx, oberon_expr_t * e);
80 void
81 oberon_check_compatible_bin_expr_types(oberon_context_t * ctx, int token, oberon_type_t * a, oberon_type_t * b);
83 void
84 oberon_check_compatible_arrays(oberon_context_t * ctx, oberon_object_t * f, oberon_expr_t * a);
86 void
87 oberon_check_assignment_compatible(oberon_context_t * ctx, oberon_expr_t * e, oberon_type_t * Tv);
89 void
90 oberon_check_extension_of(oberon_context_t * ctx, oberon_type_t * ext, oberon_type_t * rec);
94 oberon_type_t *
95 oberon_get_longer_type(oberon_context_t * ctx, oberon_type_t * a, oberon_type_t * b);
97 oberon_type_t *
98 oberon_get_longer_real_type(oberon_context_t * ctx, oberon_type_t * a, oberon_type_t * b);
101 bool
102 oberon_is_compatible_var_param(oberon_type_t * Tf, oberon_type_t * Ta);
104 void
105 oberon_check_compatible_var_param(oberon_context_t * ctx, oberon_type_t * Tf, oberon_type_t * Ta);