projects
/
muddle-interpreter.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Compute the version number dynamically
[muddle-interpreter.git]
/
src
/
main.c
diff --git
a/src/main.c
b/src/main.c
index c9876ce2c0a6067ad2f3eb6738eab1cffcecf016..5ecbcd8352344a389080641efa68a3063ec79775 100644
(file)
--- a/
src/main.c
+++ b/
src/main.c
@@
-16,6
+16,7
@@
License along with this file. If not, see
<http://www.gnu.org/licenses/>.
*/
<http://www.gnu.org/licenses/>.
*/
+#include "atom.h"
#include "read.h"
#include "eval.h"
#include "print.h"
#include "read.h"
#include "eval.h"
#include "print.h"
@@
-31,6
+32,7
@@
pool_object *pool;
pool_ptr ptop;
object *vhp_base;
heap_ptr vhp;
pool_ptr ptop;
object *vhp_base;
heap_ptr vhp;
+vector_object globals;
// oblists (move to ASOCs once implemented)
uvector_object root;
// oblists (move to ASOCs once implemented)
uvector_object root;
@@
-54,6
+56,8
@@
enum
READER_OBJCT = 64
};
READER_OBJCT = 64
};
+void init_standard_env ();
+
int
main ()
{
int
main ()
{
@@
-85,12
+89,14
@@
main ()
// Entire toplevel becomes `for (;;) cf->cont.fn();`
char buf[512];
ssize_t n;
// Entire toplevel becomes `for (;;) cf->cont.fn();`
char buf[512];
ssize_t n;
+ // no GC (leak everything)
+ ptop = 1;
+ vhp = 1;
+ root = oblist_create (13);
+ globals = vector_create (64);
+ init_standard_env ();
while ((n = read (STDIN_FILENO, buf, sizeof (buf))) > 0)
{
while ((n = read (STDIN_FILENO, buf, sizeof (buf))) > 0)
{
- // mock GC (no object persistence)
- ptop = 1;
- vhp = 1;
- root = oblist_create (13);
// terminate input
assert (buf[n - 1] == '\n');
buf[n - 1] = '\0';
// terminate input
assert (buf[n - 1] == '\n');
buf[n - 1] = '\0';