mini-mes: Support vectors.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 25 Mar 2017 13:05:17 +0000 (14:05 +0100)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 25 Mar 2017 13:05:17 +0000 (14:05 +0100)
* scaffold/mini-mes.c (REF, MAKE_REF): New macro.
  Include vector.h, vector.c.
  (mes_builtins): Include vector.i, vector.environment.i.

scaffold/mini-mes.c

index 7ec9ba2e506abf1fc604227f643f7c7d9c7aa01b..d5a4bcb46eb9f839aea95b0181241e5cd55b931a 100644 (file)
@@ -163,12 +163,14 @@ int g_function = 0;
 #include "mini-mes.h"
 // #include "posix.h"
 // #include "reader.h"
+#include "vector.h"
 
 
 #define TYPE(x) (g_cells[x].type)
 
 #define CAR(x) g_cells[x].car
 #define LENGTH(x) g_cells[x].car
+#define REF(x) g_cells[x].car
 #define STRING(x) g_cells[x].car
 
 #define CDR(x) g_cells[x].cdr
@@ -183,6 +185,7 @@ int g_function = 0;
 #define MAKE_CHAR(n) make_cell_ (tmp_num_ (TCHAR), 0, tmp_num2_ (n))
 #define MAKE_CONTINUATION(n) make_cell_ (tmp_num_ (TCONTINUATION), n, g_stack)
 #define MAKE_NUMBER(n) make_cell_ (tmp_num_ (TNUMBER), 0, tmp_num2_ (n))
+#define MAKE_REF(n) make_cell_ (tmp_num_ (TREF), n, 0)
 
 #define CAAR(x) CAR (CAR (x))
 #define CADR(x) CAR (CDR (x))
@@ -1525,12 +1528,14 @@ mes_builtins (SCM a) ///((internal))
 // #include "math.i"
 // #include "posix.i"
 // #include "reader.i"
+#include "vector.i"
 
 // #include "lib.environment.i"
 // #include "math.environment.i"
   #include "mini-mes.environment.i"
 // #include "posix.environment.i"
 // #include "reader.environment.i"
+#include "vector.environment.i"
 
   return a;
 }
@@ -1596,6 +1601,13 @@ bload_env (SCM a) ///((internal))
   return r2;
 }
 
+// #include "math.c"
+// #include "posix.c"
+// #include "lib.c"
+// #include "reader.c"
+#include "vector.c"
+// #include "gc.c"
+
 int
 main (int argc, char *argv[])
 {