Commit Graph

67 Commits

Author SHA1 Message Date
c457d176b7 Enable empty stack error handling 2021-11-10 14:13:17 +01:00
00219b6316 Create Runner 2021-11-10 11:48:09 +01:00
8880fcae8a Update README.md with example formula calculation 2021-11-09 21:31:48 +01:00
ae2ff96cb7 Add support for clr instruction 2021-11-09 21:25:48 +01:00
71ec09c326 Add support for ld instruction | fix number of pops in halt instruction 2021-11-09 21:19:06 +01:00
174af9536f Create print-based VM debugger 2021-11-09 19:11:02 +01:00
6a2047aae1 Fix jumping 2021-11-09 19:05:15 +01:00
bfb231d483 Split VirtualMachine module 2021-11-09 18:25:15 +01:00
3faa4f4abf Improve call instruction interpreter 2021-11-09 16:32:02 +01:00
1573b055d2 Improve out instruction interpreter 2021-11-09 16:00:12 +01:00
24fd8fa26f Improve simple and complex instructions interpreters 2021-11-09 15:51:51 +01:00
5383609875 Implement Call and Ret instructions 2021-11-09 15:26:55 +01:00
f969793864 Reimplement Virtual Machine to handle PC by byte rather than command 2021-11-09 13:17:41 +01:00
bf5d24fc84 Implement DBG instruction 2021-11-08 22:00:54 +01:00
4fe325e6e8 Resolve compilation warnings 2021-11-08 21:56:48 +01:00
e2800fe69f Add support for IO in VirtualMachine 2021-11-08 21:39:55 +01:00
df1f8262dc Resolve compilation warnings 2021-11-08 16:56:15 +01:00
f9496adf8c Create compiler facade for Tokenizer, Parser and Emitter 2021-11-08 16:42:28 +01:00
e353caca8d Add some tests for emitters 2021-11-08 16:39:17 +01:00
022ec25129 Create emitter 2021-11-08 15:44:19 +01:00
077a28b637 Polish imports 2021-11-08 11:26:24 +01:00
66dad8ea00 Create unit test for Util module 2021-11-08 11:12:09 +01:00
42b2eb5e41 Resolve compilation warnings 2021-11-08 10:36:22 +01:00
919cddd814 Add unit tests for Assembler parsers 2021-11-08 09:35:47 +01:00
ce3af87741 Add unit tests for Assembler tokenizers 2021-11-05 15:43:10 +01:00
8208de8791 Split Assembler module to Tokenizer and Parser 2021-11-04 13:59:16 +01:00
e28410ceeb Enable parser error handler displays tokens instead of line numbers 2021-11-04 11:45:54 +01:00
a10e857ffe Improve error handling in general parser 2021-11-04 11:36:54 +01:00
324336a897 Enable parsing line by line 2021-11-04 11:12:24 +01:00
759f0b5c00 Wrap all parsers and enable parsing problem 2021-11-04 10:05:29 +01:00
cf66dbc928 Create line parser 2021-11-04 09:50:42 +01:00
29303e5b5f Fix instruction parser 2 2021-11-04 09:46:10 +01:00
346edda6b9 Fix instruction parser 2021-11-04 09:31:04 +01:00
c5e17bce26 Create instruction parser 2021-11-04 00:01:18 +01:00
969f1cf517 Create param parser 2021-11-03 23:20:24 +01:00
bdc534df7c Create label def and ref parsers 2021-11-03 23:10:58 +01:00
b08e923368 Create sequence parser (pattern matcher) 2021-11-03 23:02:57 +01:00
372d895dba Create parsers for colon and ampersand tokens 2021-11-03 22:47:00 +01:00
6356e6c526 Create parser scaffolding 2021-11-03 22:45:48 +01:00
ce5267a13f Enable splitting emitted tokens by new lines 2021-11-03 21:11:17 +01:00
674c574fda Create new line tokenizer 2021-11-03 20:25:25 +01:00
4a8a0ec437 Create ampersand tokenizer 2021-11-03 19:58:53 +01:00
ce20e00704 Create identifier tokenizer 2021-11-03 19:37:19 +01:00
e0953a391b Create colon tokenizer 2021-11-03 19:12:08 +01:00
8ae464047e Create string tokenizer 2021-11-03 18:06:53 +01:00
ac030715ad Create char tokenizer 2021-11-03 13:20:34 +01:00
b085f53903 Create hex tokenizer 2021-11-03 12:58:45 +01:00
aa984281c0 Refactor decimal and comment tokenizers 2021-11-03 12:49:26 +01:00
4a5f6b5e64 Create comment tokenizer 2021-11-03 12:43:53 +01:00
7b3ee8a68b Create decimal tokenizer and sep tokenizer 2021-11-03 12:37:45 +01:00