47fc5ada58
release.sh: update
2023-09-03 07:37:54 +00:00
72ae017a18
ast_printer: emit sega assembly syntax
2023-09-03 07:18:23 +00:00
5cd19c51ce
disassemble: initial disassembler
2023-09-03 05:30:36 +00:00
ddf46ce8fd
stmt_ins: refactor
...
The overall intent is to make writing a decompiler require less code
duplication.
"bits.hpp" and "stmt_enum.hpp" are replaced with "stmt_ins.hpp" which
is generated directly from dsp-notes.csv.
2023-09-03 04:46:34 +00:00
2d047c6c54
dsp-notes: updated
2023-08-26 07:00:51 +00:00
6692374a8e
stmt: factor out op_mask to control_word_t
2023-08-25 20:21:58 -07:00
4372a4e07c
stmt: factor out bit enumerations to a new file
2023-08-25 20:08:13 -07:00
b6c241e4b1
grammar: quote alu alternatives
2023-08-26 02:33:13 +00:00
50456f6135
grammar: document numbers
2023-08-26 02:31:54 +00:00
ab1a4dc1f0
grammar: document identifiers
2023-08-26 02:30:09 +00:00
21aec1f25a
grammar: document DOS newlines
2023-08-26 02:30:09 +00:00
de8694b8ca
grammar: document equ
2023-08-26 02:30:09 +00:00
5ee288f869
grammar: minor corrections
2023-08-26 02:30:04 +00:00
8bae637727
grammar: document ':'-suffixed immediates
2023-08-26 02:29:59 +00:00
34d49140a5
test/sample3: revert to MC0
2023-08-24 23:33:41 +00:00
07aecf1b4a
README: improve DMA add mode explanation
2023-08-24 19:55:52 +00:00
61ca304384
README: add notes on DMA1
2023-08-24 19:35:47 +00:00
23c0dfa9da
README: update S-record paragraph
2023-08-24 19:29:30 +00:00
a8572a7fb8
README: describe more syntax
2023-08-24 12:16:40 -07:00
6647d6ddda
release.sh: release helper script
2023-08-24 09:47:35 +00:00
c9a478f7df
main: add support for C source code output
2023-08-24 09:39:26 +00:00
ad7e128bb4
README: update DMA "add mode" documentation
2023-08-24 09:02:00 +00:00
0dbb339ca1
parser: change default dma add mode to 2
2023-08-24 09:01:45 +00:00
c13b1b2466
parser: DMA memory src/dst arguments update CTn
...
This means that they are more appropriately named MCn rather than Mn.
2023-08-24 08:06:28 +00:00
9e880d6039
README: add DMA add mode note
2023-08-24 07:20:35 +00:00
14c0cb2760
README: add DMA counter syntax note
2023-08-24 05:46:40 +00:00
34f9859a6c
lexer_iterator: delete dead code
2023-08-24 05:11:51 +00:00
2d7a7491fa
README: minor typos
2023-08-24 04:54:34 +00:00
6bea0cbf59
README: clarify testing status
2023-08-24 04:34:58 +00:00
2fe41d22dc
Makefile: TARGET
2023-08-23 21:07:24 -07:00
cf9c8405d0
README: improve
2023-08-24 04:05:02 +00:00
107eb18cd4
parser: allow immediate values that end with colon
...
This is funky syntax, but it doesn't hurt the accuracy of a parser.
Some people might prefer this to stylize references to labels.
2023-08-24 03:31:35 +00:00
7c9ceed58a
README: initial
2023-08-23 20:04:49 -07:00
b6e9d5ae86
Makefile: add static build
2023-08-23 20:04:30 -07:00
dd205b5e3e
stmt_string: add missing strings
2023-08-23 19:55:18 -07:00
c12374f5fd
lexer: add support for line continuations
2023-08-23 19:47:55 -07:00
c2c59495b3
lexer: add support for binary number literals
2023-08-23 19:34:09 -07:00
118942521e
test: add initial test makefile
...
This also adds support for "#" characters prior to immediates.
nop may also now appear in an op_t. The parser no longer generates nop_t--this
is instead now represented as an op_t with a zero-length ops vector.
2023-08-23 19:21:43 -07:00
f51ec95713
grammar: update
...
This moves the expression grammar from parser.cpp to grammar.txt.
2023-08-23 19:17:10 -07:00
2fe2f0a1a7
test: include samples
2023-08-23 23:19:55 +00:00
0df0b66a6e
main: add file output
2023-08-23 22:56:54 +00:00
37fe5d5f81
parser: add error hint for x = 1
...
I've accidentally attempted this multiple times myself during testing.
2023-08-23 20:41:23 +00:00
7f69f6b2e1
ast: improve error messages
2023-08-23 20:23:09 +00:00
d4e6c1c717
ast: add emitter and resolver
2023-08-21 10:30:42 +00:00
d8b8bc7850
stmt: add instruction masks and codes
...
The parser now checks for conflicts in op control words.
2023-08-21 05:15:00 +00:00
05664bb132
parser: add identifiers
2023-08-20 17:42:57 +00:00
cd0c9c7c8c
parser: add assign and label
2023-08-20 08:45:16 +00:00
867ee171a5
parser: add jump
2023-08-20 06:02:18 +00:00
b97abc776c
parser: add dma and mvi parsers
2023-08-20 05:54:53 +00:00
22625c7c90
ast: add printers for all instructions
2023-08-19 19:40:20 -07:00