9f83929600
lang: update mie ir api usage
2025-06-02 11:31:35 +01:00
d01a3b4663
mie: refactor ir api into a separate sub-directory
2025-06-02 11:31:19 +01:00
a3d553019d
frontend: disassemble: implement dumping int/uint constpool values
2025-05-16 16:57:14 +01:00
57c352ab88
asm: parse: fix parse_linefeed not writing constpool entries for int/uint values
2025-05-16 16:56:47 +01:00
2b28371cb6
frontend: disassemble: implement dumping the contents of classes
2025-05-15 12:11:11 +01:00
49d21de894
frontend: disassemble: implement dumping ident, atom, and null constpool values
2025-05-15 12:10:58 +01:00
a76525e11f
asm: parse: use specified indices when writing constpool values
2025-05-15 12:09:39 +01:00
2845c29c5f
asm: assembler: constpool value indices are now used and enforced
...
constpool values must be defined in ascending sequence, each index must be greater than the last.
any gaps in the sequence will automatically be filled with null values.
2025-05-15 12:08:34 +01:00
95f58615e0
asm: reader: implement reading ident and atom constpool values
2025-05-15 12:06:04 +01:00
9229e90723
frontend: disassemble: adjust section dump output format
2025-05-14 16:29:31 +01:00
8998ef0232
frontend: assemble: assembler requires output file to be open read/write
2025-05-14 16:29:09 +01:00
3980c9a21f
asm: parse: implement label reference generation
2025-05-14 16:28:37 +01:00
a35ae51b2f
asm: assembler: implement label creation and resolution
2025-05-14 16:28:30 +01:00
6399022cb3
frontend: disassemble: add a range of switches to control what information is provided
2025-05-13 13:24:43 +01:00
197ba14a4d
asm: reader: implement constpool reader interface
2025-05-13 13:23:59 +01:00
179d0dddaa
asm: assembler: fix write_selector not setting the number of args
2025-05-13 13:23:12 +01:00
ad23eec392
asm: assembler: don't include null terminator when writing string data
2025-05-13 13:22:46 +01:00
d5183aeb9f
common: implement stringification of selectors
2025-05-13 13:20:11 +01:00
6307429bbf
common: add missing status codes to ivy_status_to_string
2025-05-13 13:19:40 +01:00
c254495d3a
frontend: implement disassemble command
2025-05-12 15:53:54 +01:00
656e24b8a7
frontend: implement debug printing of IVY_ASM_TOK_LABEL_REF lexer tokens
2025-05-12 15:53:43 +01:00
d746ea5234
lang: ast: fix nullptr deref in expr_finalise_arith when calculating ast node bounds
2025-05-12 15:53:06 +01:00
7580b714f0
ivy.vim: highlight $-prefixed label references
2025-05-12 15:52:25 +01:00
e3937ab092
doc: update iasm sample to use $-prefixed label references
2025-05-12 15:51:57 +01:00
416472410b
common: add bad format status code
2025-05-12 15:51:24 +01:00
8d9ae5f36a
asm: implement object file reader
2025-05-12 15:51:03 +01:00
2e4d1e53f3
asm: fix misplaced padding breaking offset calculation in ivy_assembler_finish
2025-05-12 15:50:48 +01:00
fe23529c6b
asm: implement instruction decoding
2025-05-12 15:49:53 +01:00
c1ba6e78bc
asm: implement $-prefixed label references for branch instructions
2025-05-12 15:49:27 +01:00
497ba65440
meta: rename ivy-rt to ivy-vm
2025-05-09 14:01:41 +01:00
05df01ff1b
frontend: compile: remove filepath printf output
2025-05-09 13:41:12 +01:00
de5cb6be42
diag: fix pretty write_underline writing line margin in bold
2025-05-09 13:40:09 +01:00
661014f49f
lang: adjust for-loop diagnostic wording
2025-05-09 13:39:02 +01:00
1d4661f7a4
lang: ast: fix parser_push_diag not setting diag location
2025-05-09 13:38:38 +01:00
31deaea266
frontend: update parser api usage with diagnostic support
2025-05-08 22:33:18 +01:00
8c703199cf
frontend: update lex token usage
2025-05-08 22:33:05 +01:00
b89c3bedc5
lang: ast: add diag for do keyword in inline for-loop
2025-05-08 22:32:23 +01:00
5f560d28a7
lang: ast: update arith parser to set ast node bounds
2025-05-08 22:31:37 +01:00
c12371f0ec
lang: ast: add diag support to parser
2025-05-08 22:30:23 +01:00
a0f1931c00
lang: lex: update ivy_token to use ivy_char_cell
2025-05-08 22:27:13 +01:00
92f101e500
diag: adjust pretty print formatting
2025-05-08 22:24:50 +01:00
592acc693f
common: add a row/column co-ordinate structure
2025-05-08 22:24:12 +01:00
ce8a12d4f7
frontend: update api usage with diagnostic support
2025-05-08 20:32:22 +01:00
a28874145c
lang: lex: add diagnostic support
2025-05-08 20:31:55 +01:00
cc99e7440e
lang: add diagnostic definitions
2025-05-08 20:31:40 +01:00
1977ae4fe8
diag: rename ivy_diag_set_line_source to ivy_diag_ctx_set_line_source
2025-05-08 20:30:21 +01:00
bb55bee7f8
common: implement s_get_row and s_get_name in ivy_file
2025-05-08 20:29:31 +01:00
9f963c5757
frontend: add token coordinates to print_lex_token output
2025-05-08 10:53:35 +01:00
475575f76f
lang: codegen: add for-loop generator
2025-05-08 10:53:00 +01:00
c31638c3de
doc: update simple example with for-loop
2025-05-08 10:52:18 +01:00