Jan Nieuwenhuizen
25a02752f5
mescc: Refactor array ref.
...
* module/language/c99/compiler.mes (expr->accu, expr->accu*): Remove
duplication, use expression as array index.
* scaffold/t.c (struct_test): Test it.
* vector.c (vector_length, list_to_vector)[!__GNUC__]: Remove branch.
2017-04-06 23:05:44 +02:00
Jan Nieuwenhuizen
e9ac52dfda
mescc: Fix by value assignment from array-of struct entry.
...
* module/language/c99/compiler.mes (expr->accu): Fix by value
assignment from array-of struct entry.
* scaffold/t.c (struct_test): Test it.
* vector.c (make_vector, list_to_vector, vector_to_list): Use it;
remove workarounds.
* gc.c (gc_copy): Likewise.
2017-04-01 23:12:37 +02:00
Jan Nieuwenhuizen
43abef7cf5
core: prepare vector.c for mescc.
...
* vector.c (make_vector, vector_set_x, vector_to_list): Use REF, VALUE
rather than .ref, .value.
2017-03-25 14:04:48 +01:00
Jan Nieuwenhuizen
66b53669f8
mescc: Run module/base-0.mes.
...
* gc.c: New file.
* vector.c: New file.
* mes.c: Remove vector and gc functions, include vector.c, gc.c.
* GNUmakefile (mes.o): Add gc, vector dependencies.
* scaffold/mini-mes.c (eval_apply): Support primitive-load through
read_input_file.
(getenv_, open_input_file, current_input_port,
set_current_input_port force_output, exit_, values, arity_, xassq,
is_p, minus, plus, divide, modulo multiply, logior, ash): New function.
(mes_symbols): Add symbols %gnuc, %mesc.
* scaffold/mini-mes.c (): New functions.
* scaffold/b-0.mes: New file.
* scaffold/t-0.mes: New file.
2017-03-26 21:13:01 +02:00