aboutsummaryrefslogtreecommitdiff
path: root/src/compile.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-11-10 21:18:35 -0500
committerFranklin Wei <git@fwei.tk>2015-11-10 21:18:35 -0500
commite17b312518f2f33e6c8921ff33182f109d228f6f (patch)
tree31f19d1fdc2163d4c3a93d3efbb0d1deb5d57203 /src/compile.c
parent1df389bfd5c23ba4332cd13d3d7c5b61be29a3d4 (diff)
downloadducky-e17b312518f2f33e6c8921ff33182f109d228f6f.zip
ducky-e17b312518f2f33e6c8921ff33182f109d228f6f.tar.gz
ducky-e17b312518f2f33e6c8921ff33182f109d228f6f.tar.bz2
ducky-e17b312518f2f33e6c8921ff33182f109d228f6f.tar.xz
add vm
Diffstat (limited to 'src/compile.c')
-rw-r--r--src/compile.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/compile.c b/src/compile.c
index ca855e2..1db46af 100644
--- a/src/compile.c
+++ b/src/compile.c
@@ -1195,7 +1195,7 @@ void ducky_compile(int fd, bool verbose, int out)
init_tokmap();
line_offset = index_lines(file_des, &num_lines);
- write_imm(0x4475634B);
+ write_imm(DUCKY_MAGIC);
write_imm(num_lines);
off_t linetab_off = bytes_written;
for(unsigned i = 1; i <= num_lines; ++i)
@@ -1210,6 +1210,9 @@ void ducky_compile(int fd, bool verbose, int out)
/* initialize some other constants */
+ setVariable(".", 0);
+ setConst(".", true);
+
setVariable("true", 1);
setConst("true", true);
@@ -1235,6 +1238,7 @@ void ducky_compile(int fd, bool verbose, int out)
char *tok = NULL, *save = NULL;
++current_line;
+ write_instr(LINEMARK);
char *buf = instr_buf;