Commit Graph

406 Commits

Author SHA1 Message Date
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