diff options
Diffstat (limited to 'tnslc/compile/outbuf.tnsl')
-rw-r--r-- | tnslc/compile/outbuf.tnsl | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tnslc/compile/outbuf.tnsl b/tnslc/compile/outbuf.tnsl new file mode 100644 index 0000000..7394feb --- /dev/null +++ b/tnslc/compile/outbuf.tnsl @@ -0,0 +1,31 @@ +struct OutBuf { + utils.Vector + hsec, + dsec, + csec +} + +/; method OutBuf + /; init + self.hsec.init(1) + self.dsec.init(1) + self.csec.init(1) + ;/ + + /; write_to_file (~utils.File fout) + fout`.open() + fout`.write_cstr("bits 64\n\0") + fout`.write_cstr(self.hsec.as_cstr()) + fout`.write_cstr("\nsection .data\n\0") + fout`.write_cstr(self.dsec.as_cstr()) + fout`.write_cstr("\nsection .text\n\0") + fout`.write_cstr(self.csec.as_cstr()) + fout`.close() + ;/ + + /; end + self.hsec.end() + self.dsec.end() + self.csec.end() + ;/ +;/ |