Commit graph

  • 4155deb250 Clean up slightly master Joscha 2020-04-10 14:03:05 +00:00
  • 6abc4f6d79 Add a simple insertion sort test example (from RO!) I-Al-Istannen 2020-04-08 20:34:19 +02:00
  • acb49552ed Implement subphase5 and complete phase1To2 I-Al-Istannen 2020-04-08 20:33:51 +02:00
  • 12801c5627 Fix optional argument parsing I-Al-Istannen 2020-04-08 20:28:57 +02:00
  • dd71e3a84c Remove debug method from subphase4 I-Al-Istannen 2020-04-08 20:08:57 +02:00
  • d35de03936 Fix address assignment in subphase2 I-Al-Istannen 2020-04-08 16:49:06 +02:00
  • 7f6e987c33 Implement subphase4 I-Al-Istannen 2020-04-08 16:29:50 +02:00
  • cc6dadfd3e Implement subphase 3 Joscha 2020-04-05 15:53:18 +00:00
  • 6e1f3e213c Switch Span to offsets Joscha 2020-04-05 13:44:50 +00:00
  • b85ff076ba Clean up file structure Joscha 2020-04-05 11:25:16 +00:00
  • 52da9f0507 Run stylish-haskell on all files Joscha 2020-04-05 11:12:58 +00:00
  • ff9b7a35c7 Split up phase 1 into multiple modules Joscha 2020-04-05 11:12:35 +00:00
  • 8d0e70cf5d Split up phase 2 into multiple modules Joscha 2020-04-05 09:51:24 +00:00
  • d82ce69b1b Add proper relative and label-relative addresses I-Al-Istannen 2020-04-04 17:32:05 +02:00
  • e942544044 Add Show instance for WeedError Joscha 2020-04-04 13:41:02 +00:00
  • 86dd243c11 Allow '_' in label and meta names Joscha 2020-04-04 13:40:40 +00:00
  • c8b53d1a1f Attempt to clean up subphase 2 Joscha 2020-04-04 13:16:39 +00:00
  • 2d4d932c41 WIP: Add rough untested Phase2 conversion pass I-Al-Istannen 2020-04-04 01:06:24 +02:00
  • b98fe04bbc Clean up phase 2 and add a few missing things Joscha 2020-04-03 20:06:24 +00:00
  • 96c28c1f31 Attempt to clean up phase 2 Joscha 2020-04-03 16:59:26 +00:00
  • 5fe7b26daf Add phase2 types and conversion from phase 1 Joscha 2020-04-03 01:16:04 +00:00
  • bc52fafe63 Derive functors for pretty much all phase 1 types Joscha 2020-04-03 01:15:35 +00:00
  • 0fea2b960a Introduce WeedError Joscha 2020-04-03 01:13:58 +00:00
  • f25099d6f3 Add back Weed monad Joscha 2020-04-02 14:23:28 +00:00
  • 7bb74f7315 Add back show instance for Span Joscha 2020-04-02 11:15:54 +00:00
  • 4f29ee4fff Clean up and fix formatting code Joscha 2020-04-01 20:26:01 +00:00
  • f6859ae578 Add garbage ASM format methods I-Al-Istannen 2020-04-01 21:49:02 +02:00
  • 1effa96a17 Fix "toDec" including the constructor name I-Al-Istannen 2020-04-01 21:49:09 +02:00
  • 9e544a64f3 Finish Asm parser (for now) I-Al-Istannen 2020-04-01 12:37:50 +02:00
  • 2882a2c42e Parse instructions without arguments I-Al-Istannen 2020-03-31 16:06:15 +02:00
  • 813d891468 Do not partially parse a file I-Al-Istannen 2020-03-31 15:31:36 +02:00
  • 300ef6e0c0 Make TokenLabel a declaration I-Al-Istannen 2020-03-31 15:27:00 +02:00
  • 7ee414bbb3 Add simple phase1 parser I-Al-Istannen 2020-03-31 15:22:36 +02:00
  • a540e1711a Add a comment and asmToken parser I-Al-Istannen 2020-03-31 15:04:12 +02:00
  • 7c02901b64 Fix ".meta" and ".meta-start" directives using the same keyword I-Al-Istannen 2020-03-31 12:06:05 +02:00
  • 5bfd2e4357 Fix address and number parser I-Al-Istannen 2020-03-31 12:03:52 +02:00
  • f96f088eba Add nicer Show instance for Span I-Al-Istannen 2020-03-31 12:03:24 +02:00
  • b226372ba7 Implement directive parser I-Al-Istannen 2020-03-30 23:36:22 +02:00
  • ada200bf50 Partially implement phase 1 parsing Joscha 2020-03-30 18:57:24 +00:00
  • b15606a530 Create types for assembly phase 1 Joscha 2020-03-30 14:54:43 +00:00
  • b9f9d27105 Catch and print all IOErrors Joscha 2020-03-29 11:39:20 +00:00
  • 7b7a363693 Use package for modifying paths Joscha 2020-03-29 11:08:43 +00:00
  • fdc755ecb0 Load metadata file if it exists I-Al-Istannen 2020-03-29 12:48:41 +02:00
  • d0807d575a Add metadata file to Options I-Al-Istannen 2020-03-29 12:38:04 +02:00
  • 564bc44d51 Respect flags during execution Joscha 2020-03-28 19:49:45 +00:00
  • 7397a0fecd Clean up Joscha 2020-03-28 19:32:15 +00:00
  • e4a8fb2747 Add tests for Flags I-Al-Istannen 2020-03-28 20:18:29 +01:00
  • d3ba3355e4 Fix nested ranges not overwriting their parents I-Al-Istannen 2020-03-28 20:18:06 +01:00
  • 66efb97205 Ignore hie setup file I-Al-Istannen 2020-03-28 19:28:43 +01:00
  • caf9a896d8 Add flag data structure and conversion I-Al-Istannen 2020-03-28 17:46:41 +01:00
  • 69983fc9ed Test Mima.Vm.Instruction Joscha 2020-03-27 23:18:23 +00:00
  • 6b81fd67b4 Implement basic mima-run functionality Joscha 2020-03-27 22:07:24 +00:00
  • 362025c8df Parse command-line options Joscha 2020-03-27 21:35:04 +00:00
  • 975c5e4116 Set up mima-run executable Joscha 2020-03-27 21:13:12 +00:00
  • 495809bd86 Clean up storage implementation Joscha 2020-03-27 21:02:05 +00:00
  • abdb8c0a0d Store MimaState I-Al-Istannen 2020-03-27 21:33:11 +01:00
  • 38ba94f675 Fix typos and clean up slightly Joscha 2020-03-27 20:29:49 +00:00
  • 51317c0737 Write docs and tests for Mima.Vm.Word Joscha 2020-03-27 20:29:10 +00:00
  • a7d4eec3dd Configure hspec Joscha 2020-03-27 20:28:59 +00:00
  • ae7f0bdac4 Add simple load and store methods for Metadata I-Al-Istannen 2020-03-27 16:13:49 +01:00
  • c3584df5dc Implement Run monad Joscha 2020-03-27 12:56:27 +00:00
  • 976b2b5d4d Clean up metadata Joscha 2020-03-27 12:08:26 +00:00
  • a0dcb37e12 Spice up Metafile format I-Al-Istannen 2020-03-26 00:25:14 +01:00
  • 737c04a741 Parse ranges in meta file I-Al-Istannen 2020-03-25 23:26:10 +01:00
  • 70189144f1 Add a primitive meta file parser I-Al-Istannen 2020-03-25 22:46:24 +01:00
  • b1274d5d2c Begin rewrite Joscha 2020-03-25 21:29:11 +00:00
  • 3e0f4e22b1 Update resolver to 15.2 Joscha 2020-03-25 14:58:40 +00:00
  • bbd0707a6d Satisfy hlint Joscha 2019-12-03 23:24:12 +00:00
  • 616a991e21 Add installation instructions Joscha 2019-11-26 09:54:45 +00:00
  • 7c75f1868a Update tools section Joscha 2019-11-26 09:46:15 +00:00
  • 365d7f0b5f Fix how arguments are interpreted Joscha 2019-11-26 09:45:23 +00:00
  • 6712a9c32c Format and parse instructions with optional arguments correctly Joscha 2019-11-26 08:39:42 +00:00
  • d082bc939e Fix formatting of negative numbers Joscha 2019-11-25 23:03:58 +00:00
  • f415595a40 Update examples and add simple example Joscha 2019-11-25 22:11:43 +00:00
  • 62336b60eb Only save .mima-flags file if there are any flags Joscha 2019-11-25 18:28:03 +00:00
  • 885d872539 Always show all flags if flags are visible Joscha 2019-11-25 18:24:57 +00:00
  • 1975403c3c Output instructions and labels in memory dump Joscha 2019-11-25 17:45:46 +00:00
  • e4dea8e6f9 Add example program for flags Joscha 2019-11-25 14:29:13 +00:00
  • 84e4ceb686 Add .mima-symbols files for existing examples Joscha 2019-11-25 14:25:05 +00:00
  • 745c201d00 Fix flag parsing and weeding Joscha 2019-11-25 14:16:05 +00:00
  • e5728a0fb4 Discover assembly output file Joscha 2019-11-25 13:12:01 +00:00
  • 9ace3632bc Export symbol and flag files Joscha 2019-11-25 13:02:44 +00:00
  • 02b6d65b8f Store 'File's Joscha 2019-11-25 11:22:51 +00:00
  • d5d29a8180 Allow toggling memory part of memory dump Joscha 2019-11-25 10:02:08 +00:00
  • 72e21d6ff2 Properly load flag and symbol files Joscha 2019-11-25 09:57:39 +00:00
  • 7446bcab45 Update examples to new assembly syntax Joscha 2019-11-21 19:17:04 +00:00
  • ae0c31d83a Make .mima match the .mimasm Joscha 2019-11-21 19:16:47 +00:00
  • e546996e82 Fix parsing of labels whose name starts with an instruction Joscha 2019-11-21 19:16:27 +00:00
  • fa4cd218ab Switch assembler to new parser Joscha 2019-11-21 18:27:27 +00:00
  • ee5c2762d6 Fix weeding of things taking up memory Joscha 2019-11-21 18:25:42 +00:00
  • 396f07cdf1 Make register names case insensitive Joscha 2019-11-21 18:25:33 +00:00
  • 393b253d28 Remove spurious undefined Joscha 2019-11-21 16:30:51 +00:00
  • bde92704f1 Finish weeding assembly Joscha 2019-11-21 16:20:28 +00:00
  • 702f58e2a4 Weed assembly statements Joscha 2019-11-21 15:12:21 +00:00
  • f3b39f78f4 Parse assembly statements Joscha 2019-11-20 20:46:34 +00:00
  • 7def23284d Fix labels not being applied when they should Joscha 2019-11-20 20:46:12 +00:00
  • e93ff1fc74 Fix number parsing Joscha 2019-11-20 20:44:45 +00:00
  • 42d52055d1 Extract flag parser Joscha 2019-11-20 18:19:25 +00:00
  • 602e8b5b14 Add a few more parsers for numbers Joscha 2019-11-20 17:16:00 +00:00
  • f8c5d2766c Fix formatting errors Joscha 2019-11-19 17:14:00 +00:00