Commit Graph

40 Commits

Author SHA1 Message Date
89709fef97 Split symbol table into have a separate hash for each entry type. 2018-08-05 20:32:10 -07:00
61fb44bbce Add more small test programs. 2018-08-05 14:48:51 -07:00
230a50c532 Dedicate a throwaway register. 2018-08-05 13:36:54 -07:00
a96d503095 Properly throw away unused expressions in blocks. 2018-08-05 13:35:16 -07:00
caaae87344 Add non-empty test programs. 2018-08-05 13:34:12 -07:00
86ee6557cf Fix bug in codegen. 2018-08-05 13:11:12 -07:00
a7e24c059b Begin working on a testing script. 2018-08-05 00:59:27 -07:00
2ed2a4932c Add an output file parameter. 2018-08-04 13:49:29 -07:00
1150e2b3ef Add log level. 2018-08-03 16:36:27 -07:00
4de89d98a1 Make inline functions more high level. 2018-08-03 16:09:09 -07:00
ecbe84134d Add additional instructions. 2018-08-03 14:31:00 -07:00
3fa292347f Remove code made obsolete with type checking. 2018-08-03 13:52:40 -07:00
f8320bcb82 Add basic type checking. 2018-08-03 01:13:23 -07:00
8d015d47f3 Write documentation. 2018-08-02 01:09:48 -07:00
96059d6e04 Organize code into modules. 2018-08-01 22:40:41 -07:00
cd0e5c2919 Fix optimizer to adjust jumps after instruction deletion. 2018-08-01 21:46:44 -07:00
147837c011 Temporarily remove broken optimizer. 2018-07-29 22:56:17 -07:00
4ce503d02d Clean up some code. 2018-07-29 22:29:50 -07:00
dff0c8078c Remove useless assignment. 2018-07-29 21:46:10 -07:00
5c362d8e13 "Fix" register allocation. 2018-07-28 18:58:04 -07:00
946db467ee Format code. 2018-07-28 17:53:07 -07:00
3f931c4a65 Implement some inline function. 2018-07-28 17:43:19 -07:00
75e031745b Add while loop 2018-07-28 17:43:05 -07:00
35b9c7651a Begin work on inline / builtin functions. 2018-07-28 16:17:06 -07:00
5e93fa1963 Format code. 2018-07-27 23:27:13 -07:00
c04997ad17 Prepare support for non-source code function. 2018-07-27 23:24:37 -07:00
774ab2f92e Refactor some code to split into functions and files. 2018-07-27 22:50:31 -07:00
cc82894454 Add support for binary generation. 2018-07-27 19:56:26 -07:00
99a47be826 Make IR closer to actual CHIP-8 2018-07-27 18:57:08 -07:00
8c63cbfb7b Fix register allocation and calling (somewhat) 2018-07-27 18:01:00 -07:00
23f95fe68c Intermediate commit. Remove type restrictions.
Code gen is very broken
2018-07-27 00:06:33 -07:00
3853d212b9 Add a basic CLI, and begin work on codegen. 2018-07-26 20:00:37 -07:00
fbb0da9e44 Use IO in print_visitor, and add to_s method. 2018-07-25 14:04:27 -07:00
df2a00fd66 Run the format tool. 2018-07-25 13:53:35 -07:00
fa00bda8ab Clean up parsing code. 2018-07-25 13:51:31 -07:00
c6319e7920 Create draft of parser in main code. 2018-07-24 23:57:20 -07:00
e57ca6c172 Add a basic tree data structure. 2018-07-24 17:30:10 -07:00
bffa9847d2 Implement basic parser and lexer. 2018-07-24 17:29:25 -07:00
380b12d02c Create a lexer. 2018-07-22 17:37:08 -07:00
3ea84f414a Initial commit. 2018-07-22 17:09:01 -07:00