mescc: Refactor decl.

* module/language/c99/compiler.mes (decl->info, ptr-declr->pointer):
  New function.
  (ast->info): Use decl->info.
This commit is contained in:
Jan Nieuwenhuizen 2017-07-12 06:55:05 +02:00
parent 11b0ecc139
commit 81f3fb0ecf
4 changed files with 442 additions and 591 deletions

View file

@ -201,7 +201,7 @@
input-shas))))))))) input-shas)))))))))
(define (string-hash o) (define (string-hash o)
(number->string (hash o (expt 2 63)))) (number->string (hash o (expt 2 31))))
(define (file-hash o) (define (file-hash o)
(string-hash (with-input-from-file o read-string))) (string-hash (with-input-from-file o read-string)))

View file

@ -253,6 +253,8 @@ exec ${GUILE-guile} --no-auto-compile -L . -L guile -C . -C guile -s "$0" ${1+"$
(add-target (bin.mescc "scaffold/micro-mes.c")) (add-target (bin.mescc "scaffold/micro-mes.c"))
(add-target (check "scaffold/micro-mes.guile" #:exit 6)) ; arg1 arg2 arg3 arg4 arg5 (add-target (check "scaffold/micro-mes.guile" #:exit 6)) ; arg1 arg2 arg3 arg4 arg5
(add-target (group "check-scaffold" #:dependencies (filter (target-prefix? "check-scaffold") %targets)))
(define snarf-bases (define snarf-bases
'("gc" "lib" "math" "mes" "posix" "reader" "vector")) '("gc" "lib" "math" "mes" "posix" "reader" "vector"))

File diff suppressed because it is too large Load diff

View file

@ -24,6 +24,12 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
struct scm {
int type;
int car;
int cdr;
};
char g_arena[84]; char g_arena[84];
#if __MESC__ #if __MESC__
struct scm *g_cells = g_arena; struct scm *g_cells = g_arena;