Commit graph

39 commits

Author SHA1 Message Date
Juhani Krekelä
5e3f11b0fa Split ircbotRun() into its own file 2018-05-27 13:45:20 +03:00
Juhani Krekelä
316e839804 Document the API 2018-05-27 13:39:43 +03:00
Juhani Krekelä
d74b6ab594 Support all the types of EOF 2018-05-27 12:56:02 +03:00
Juhani Krekelä
1b262941ca Implement a readMemory() in runVM() that returns 0 on reads to nonexistent memory 2018-05-27 12:46:47 +03:00
Juhani Krekelä
00eb264cb4 Document writeInt, readInt, breakPoint 2018-05-27 12:32:18 +03:00
Juhani Krekelä
991136e703 Keep a 16 program cache for ircbotRun() 2018-05-26 23:27:47 +03:00
Juhani Krekelä
713ded5adb Handle non-empty memory in ircbotRun(). Turns out [].reduce() passes 4 parameters 2018-05-26 22:55:07 +03:00
Juhani Krekelä
cd00c3cded Implement 8-bit wraparound for multiplies as well and handle empty memory in ircbotRun() 2018-05-26 22:51:19 +03:00
Juhani Krekelä
46f7854d13 Replace characters < 0x20 that aren't IRC formatting with their U+24xx equivalents 2018-05-26 22:34:48 +03:00
Juhani Krekelä
902804cf2f Make the memory dump in ircbotRun() better at determining tape head location 2018-05-26 22:33:55 +03:00
Juhani Krekelä
64e58902cc Use reduce to find min and max instead of a loop 2018-05-26 21:58:26 +03:00
Juhani Krekelä
27a13b7fac Default to 400000 cycles for ircbotRun() 2018-05-26 13:19:16 +03:00
Juhani Krekelä
23be1e6fd8 Update TODO 2018-05-26 13:17:20 +03:00
Juhani Krekelä
bf28a946ec Rename run() to ircbotRun(), since it's meant for them 2018-05-26 13:15:34 +03:00
Juhani Krekelä
96a5cd7767 Add :;# 2018-05-26 13:14:05 +03:00
Juhani Krekelä
e75a0a085d Update documentation 2018-05-25 23:21:29 +03:00
Juhani Krekelä
d5ff090be6 Update TODOs 2018-05-25 18:26:19 +03:00
Juhani Krekelä
07e0d38f9e Add transformMultiplyLoops optimization pass and switch to using Maps 2018-05-25 18:24:27 +03:00
Juhani Krekelä
eacbc95cea Implement UTF-8 2018-05-25 14:19:09 +03:00
Juhani Krekelä
4853e42992 run() can now take a maxCycles argument 2018-05-24 23:36:24 +03:00
Juhani Krekelä
d2a97cebb2 Add correct charset info 2018-05-24 23:35:50 +03:00
Juhani Krekelä
d2e4da1939 Change the values runVM returns that relate to cycle limit 2018-05-24 23:20:52 +03:00
Juhani Krekelä
31d5bbbdeb Only transform list of lines into string at end of prettifyIR, since otherwise we concat an array with a string 2018-05-24 23:05:59 +03:00
Juhani Krekelä
e046d187ae joinAdjacentOps should recurse 2018-05-24 22:50:31 +03:00
Juhani Krekelä
151c8c9113 Update README.md 2018-05-24 11:20:33 +03:00
Juhani Krekelä
b2d5a05650 Add TODOs 2018-05-24 00:19:47 +03:00
Juhani Krekelä
02f2200c08 Add TODO list to README.md 2018-05-24 00:17:30 +03:00
Juhani Krekelä
377c65e56b Implement the VM 2018-05-24 00:11:25 +03:00
Juhani Krekelä
7186a895d2 prettyPrint → prettifyIR (make return string instead of printing) 2018-05-23 21:57:07 +03:00
Juhani Krekelä
8d00baafd0 Add flattenLoops pass 2018-05-23 21:48:35 +03:00
Juhani Krekelä
3a83ffb366 Apparently I don't know Gogs' Markdown dialect 2018-05-22 19:48:09 +03:00
Juhani Krekelä
fb50e68e85 Add documentation 2018-05-22 19:39:48 +03:00
Juhani Krekelä
aa34ac6470 Add todos 2018-05-22 15:10:10 +03:00
Juhani Krekelä
2b6b6a96fb Add offsets to commands 2018-05-22 15:08:23 +03:00
Juhani Krekelä
39890cdc5a Turn [-] or [+] into a clear command 2018-05-22 14:26:40 +03:00
Juhani Krekelä
b945657163 Fix typo 2018-05-22 14:22:21 +03:00
Juhani Krekelä
61e836afcf Add the first optimization pass 2018-05-22 00:21:03 +03:00
Juhani Krekelä
90853793a8 Add project status to README.md 2018-05-21 23:58:06 +03:00
Juhani Krekelä
2cbc9be4e3 First commit 2018-05-21 23:55:48 +03:00