b98fe04bbc
Clean up phase 2 and add a few missing things
2020-04-03 20:06:24 +00:00
96c28c1f31
Attempt to clean up phase 2
2020-04-03 16:59:26 +00:00
5fe7b26daf
Add phase2 types and conversion from phase 1
2020-04-03 01:58:54 +00:00
bc52fafe63
Derive functors for pretty much all phase 1 types
2020-04-03 01:15:35 +00:00
0fea2b960a
Introduce WeedError
...
This change is meant to make working with an unspecified 's' type parameter
easier.
2020-04-03 01:13:58 +00:00
f25099d6f3
Add back Weed monad
...
Make weed monad compatible with all sorts of parsers instead of requiring a
Parsec T.Text Void.
2020-04-02 14:23:28 +00:00
7bb74f7315
Add back show instance for Span
2020-04-02 11:15:54 +00:00
4f29ee4fff
Clean up and fix formatting code
2020-04-01 20:40:12 +00:00
I-Al-Istannen
f6859ae578
Add garbage ASM format methods
2020-04-01 21:52:24 +02:00
I-Al-Istannen
1effa96a17
Fix "toDec" including the constructor name
2020-04-01 21:49:31 +02:00
I-Al-Istannen
9e544a64f3
Finish Asm parser (for now)
2020-04-01 12:45:02 +02:00
I-Al-Istannen
2882a2c42e
Parse instructions without arguments
2020-03-31 16:06:15 +02:00
I-Al-Istannen
813d891468
Do not partially parse a file
2020-03-31 15:31:36 +02:00
I-Al-Istannen
300ef6e0c0
Make TokenLabel a declaration
2020-03-31 15:27:00 +02:00
I-Al-Istannen
7ee414bbb3
Add simple phase1 parser
2020-03-31 15:22:36 +02:00
I-Al-Istannen
a540e1711a
Add a comment and asmToken parser
2020-03-31 15:04:12 +02:00
I-Al-Istannen
7c02901b64
Fix ".meta" and ".meta-start" directives using the same keyword
2020-03-31 12:06:05 +02:00
I-Al-Istannen
5bfd2e4357
Fix address and number parser
...
* The order in the address parser was wrong
* The signed number *optionally* required a sign. Due to this every
address was relative. Now the `signedNumber` *required* a sign and the
previous behaviour was renamed to `optionallySignedNumber`.
2020-03-31 12:03:52 +02:00
I-Al-Istannen
f96f088eba
Add nicer Show instance for Span
2020-03-31 12:03:24 +02:00
I-Al-Istannen
b226372ba7
Implement directive parser
2020-03-30 23:36:22 +02:00
ada200bf50
Partially implement phase 1 parsing
...
This commit introduces a few --pedantic warnings. Those will (hopefully) be
fixed in the next commit.
2020-03-30 18:57:24 +00:00
b15606a530
Create types for assembly phase 1
2020-03-30 14:54:43 +00:00
b9f9d27105
Catch and print all IOErrors
2020-03-29 11:39:20 +00:00
7b7a363693
Use package for modifying paths
2020-03-29 11:12:44 +00:00
I-Al-Istannen
fdc755ecb0
Load metadata file if it exists
2020-03-29 11:12:41 +00:00
I-Al-Istannen
d0807d575a
Add metadata file to Options
2020-03-29 11:12:38 +00:00
564bc44d51
Respect flags during execution
2020-03-28 19:49:45 +00:00
7397a0fecd
Clean up
2020-03-28 19:32:21 +00:00
I-Al-Istannen
e4a8fb2747
Add tests for Flags
2020-03-28 20:18:29 +01:00
I-Al-Istannen
d3ba3355e4
Fix nested ranges not overwriting their parents
2020-03-28 20:18:06 +01:00
I-Al-Istannen
66efb97205
Ignore hie setup file
2020-03-28 19:28:43 +01:00
I-Al-Istannen
caf9a896d8
Add flag data structure and conversion
2020-03-28 17:46:41 +01:00
69983fc9ed
Test Mima.Vm.Instruction
2020-03-27 23:19:39 +00:00
6b81fd67b4
Implement basic mima-run functionality
...
Bugs fixed:
- Print correct file name when load/save error occurs
- Correctly identify invalid file formats
2020-03-27 22:10:59 +00:00
362025c8df
Parse command-line options
2020-03-27 21:39:28 +00:00
975c5e4116
Set up mima-run executable
2020-03-27 21:13:12 +00:00
495809bd86
Clean up storage implementation
...
Also switch to lazy byte strings in Mima.Run because they appear to be used in
all libraries used.
2020-03-27 21:02:20 +00:00
I-Al-Istannen
abdb8c0a0d
Store MimaState
2020-03-27 21:34:58 +01:00
38ba94f675
Fix typos and clean up slightly
2020-03-27 20:31:45 +00:00
51317c0737
Write docs and tests for Mima.Vm.Word
2020-03-27 20:31:45 +00:00
a7d4eec3dd
Configure hspec
2020-03-27 20:28:59 +00:00
I-Al-Istannen
ae7f0bdac4
Add simple load and store methods for Metadata
2020-03-27 16:14:48 +01:00
c3584df5dc
Implement Run monad
2020-03-27 12:56:27 +00:00
976b2b5d4d
Clean up metadata
...
This commit also changes the metadata file format. Documentation coming soon™
2020-03-27 12:08:36 +00:00
I-Al-Istannen
a0dcb37e12
Spice up Metafile format
2020-03-26 00:25:14 +01:00
I-Al-Istannen
737c04a741
Parse ranges in meta file
2020-03-25 23:26:10 +01:00
I-Al-Istannen
70189144f1
Add a primitive meta file parser
2020-03-25 22:46:24 +01:00
b1274d5d2c
Begin rewrite
...
... by deleting most files. By the theory of evolution, the remaining ones will
get stronger over the next commits. That's how it works, isn't it?
2020-03-25 21:41:41 +00:00
3e0f4e22b1
Update resolver to 15.2
2020-03-25 14:58:40 +00:00
bbd0707a6d
Satisfy hlint
2019-12-03 23:24:12 +00:00