Commit Graph

49 Commits

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