Commit Graph

  • a35ae51b2f asm: assembler: implement label creation and resolution Max Wash 2025-05-14 16:27:22 +01:00
  • 6399022cb3 frontend: disassemble: add a range of switches to control what information is provided Max Wash 2025-05-13 13:24:43 +01:00
  • 197ba14a4d asm: reader: implement constpool reader interface Max Wash 2025-05-13 13:23:59 +01:00
  • 179d0dddaa asm: assembler: fix write_selector not setting the number of args Max Wash 2025-05-13 13:23:12 +01:00
  • ad23eec392 asm: assembler: don't include null terminator when writing string data Max Wash 2025-05-13 13:22:09 +01:00
  • d5183aeb9f common: implement stringification of selectors Max Wash 2025-05-13 13:20:11 +01:00
  • 6307429bbf common: add missing status codes to ivy_status_to_string Max Wash 2025-05-13 13:19:40 +01:00
  • c254495d3a frontend: implement disassemble command Max Wash 2025-05-12 15:53:54 +01:00
  • 656e24b8a7 frontend: implement debug printing of IVY_ASM_TOK_LABEL_REF lexer tokens Max Wash 2025-05-12 15:53:43 +01:00
  • d746ea5234 lang: ast: fix nullptr deref in expr_finalise_arith when calculating ast node bounds Max Wash 2025-05-12 15:53:06 +01:00
  • 7580b714f0 ivy.vim: highlight $-prefixed label references Max Wash 2025-05-12 15:52:25 +01:00
  • e3937ab092 doc: update iasm sample to use $-prefixed label references Max Wash 2025-05-12 15:51:57 +01:00
  • 416472410b common: add bad format status code Max Wash 2025-05-12 15:51:24 +01:00
  • 8d9ae5f36a asm: implement object file reader Max Wash 2025-05-12 15:51:03 +01:00
  • 2e4d1e53f3 asm: fix misplaced padding breaking offset calculation in ivy_assembler_finish Max Wash 2025-05-12 15:50:48 +01:00
  • fe23529c6b asm: implement instruction decoding Max Wash 2025-05-12 15:49:53 +01:00
  • c1ba6e78bc asm: implement $-prefixed label references for branch instructions Max Wash 2025-05-12 15:49:27 +01:00
  • 497ba65440 meta: rename ivy-rt to ivy-vm Max Wash 2025-05-09 14:01:41 +01:00
  • 05df01ff1b frontend: compile: remove filepath printf output Max Wash 2025-05-09 13:41:12 +01:00
  • de5cb6be42 diag: fix pretty write_underline writing line margin in bold Max Wash 2025-05-09 13:40:09 +01:00
  • 661014f49f lang: adjust for-loop diagnostic wording Max Wash 2025-05-09 13:39:02 +01:00
  • 1d4661f7a4 lang: ast: fix parser_push_diag not setting diag location Max Wash 2025-05-09 13:38:38 +01:00
  • 31deaea266 frontend: update parser api usage with diagnostic support Max Wash 2025-05-08 22:33:18 +01:00
  • 8c703199cf frontend: update lex token usage Max Wash 2025-05-08 22:33:05 +01:00
  • b89c3bedc5 lang: ast: add diag for do keyword in inline for-loop Max Wash 2025-05-08 22:32:23 +01:00
  • 5f560d28a7 lang: ast: update arith parser to set ast node bounds Max Wash 2025-05-08 22:31:37 +01:00
  • c12371f0ec lang: ast: add diag support to parser Max Wash 2025-05-08 22:28:01 +01:00
  • a0f1931c00 lang: lex: update ivy_token to use ivy_char_cell Max Wash 2025-05-08 22:27:13 +01:00
  • 92f101e500 diag: adjust pretty print formatting Max Wash 2025-05-08 22:24:50 +01:00
  • 592acc693f common: add a row/column co-ordinate structure Max Wash 2025-05-08 22:24:12 +01:00
  • ce8a12d4f7 frontend: update api usage with diagnostic support Max Wash 2025-05-08 20:32:22 +01:00
  • a28874145c lang: lex: add diagnostic support Max Wash 2025-05-08 20:31:55 +01:00
  • cc99e7440e lang: add diagnostic definitions Max Wash 2025-05-08 20:31:28 +01:00
  • 1977ae4fe8 diag: rename ivy_diag_set_line_source to ivy_diag_ctx_set_line_source Max Wash 2025-05-08 20:30:21 +01:00
  • bb55bee7f8 common: implement s_get_row and s_get_name in ivy_file Max Wash 2025-05-08 20:28:24 +01:00
  • 9f963c5757 frontend: add token coordinates to print_lex_token output Max Wash 2025-05-08 10:53:35 +01:00
  • 475575f76f lang: codegen: add for-loop generator Max Wash 2025-05-08 10:53:00 +01:00
  • c31638c3de doc: update simple example with for-loop Max Wash 2025-05-08 10:51:59 +01:00
  • 0cf7dd9780 test: add diagnostic test program Max Wash 2025-05-08 10:49:32 +01:00
  • c459f50e67 meta: add ivy-diag library Max Wash 2025-05-08 10:48:23 +01:00
  • 8e8637882d common: add some new callbacks to ivy_line_source Max Wash 2025-05-08 10:47:07 +01:00
  • 1c3aff9ad3 lang: add start/end coordinates to lexer tokens Max Wash 2025-04-28 22:53:21 +01:00
  • 2cbbc4c349 doc: add a document describing potential non-obvious syntax errors Max Wash 2025-04-28 17:00:51 +01:00
  • a94956ec78 mie.vim: add comparison and branch instruction highlighting Max Wash 2025-04-28 15:51:53 +01:00
  • 75b90cfcb9 test: update mie api usage to use new context parameter Max Wash 2025-04-28 15:51:20 +01:00
  • de7d5c44cd lang: codegen: add missing ctx parameter to ivy_codegen_create prototype Max Wash 2025-04-28 15:50:54 +01:00
  • ff136adbe7 frontend: compile: print ast nodes as they are passed to the code generator Max Wash 2025-04-28 15:47:32 +01:00
  • 7ba88b65f8 frontend: update mie api usage to use new context parameter Max Wash 2025-04-28 15:47:24 +01:00
  • 64d1015a3c lang: codegen: implement cond-group code generation Max Wash 2025-04-28 15:44:44 +01:00
  • 6af9b62b88 mie: implement comparison and branch instruction generation Max Wash 2025-04-28 15:41:31 +01:00
  • 1431cb7b47 mie: ctx is now used to query the type of a value Max Wash 2025-04-28 15:38:25 +01:00
  • cbec21b90f lang: implement elif keyword for more complex if-statements Max Wash 2025-04-24 09:45:26 +01:00
  • d37c07e5e4 lang: codegen: implement return generation Max Wash 2025-04-24 09:25:36 +01:00
  • da4aa7df78 lang: codegen: function load now uses func type instead of id Max Wash 2025-04-24 09:25:21 +01:00
  • 9b460a584d mie: convert: text-write write_operand_func now treats func references as pointers Max Wash 2025-04-24 09:24:15 +01:00
  • 4295b0568b mie: convert: implement record text conversion Max Wash 2025-04-23 15:44:17 +01:00
  • 614329091c lang: codegen: implement unit-package and unit-import generation Max Wash 2025-04-23 15:44:01 +01:00
  • ef4b4d2f66 mie: implemented array value type; restructure const value structures Max Wash 2025-04-23 15:42:58 +01:00
  • 4ea9683880 lang: codegen: lambda s_outer_block is now only initialised once Max Wash 2025-04-23 11:02:47 +01:00
  • 2062ee631c lang: codegen: fix pop_generator_recurse only popping generators with a value_received callback defined Max Wash 2025-04-23 11:01:12 +01:00
  • 2eb358457c lang: codegen: fix serialisation of selectors with unnamed args Max Wash 2025-04-23 11:00:57 +01:00
  • 857d99ea34 lang: codegen: codegen_load_variable now supports loading non-ptr variables Max Wash 2025-04-23 11:00:16 +01:00
  • 3af786b32c lang: ast: fix selector, unit-package, and unit-import string conversion Max Wash 2025-04-23 10:58:22 +01:00
  • c7aa3b422d lang: ast: fix lambdas starting with var declaration not being parsed correctly Max Wash 2025-04-23 10:56:15 +01:00
  • 0cdefbeec3 doc: update complex-msg syntax examples Max Wash 2025-04-23 10:55:54 +01:00
  • 279b387b69 lang: ast: complex-msg args are now separated by commas Max Wash 2025-04-23 10:53:34 +01:00
  • 2673f29447 mie: add comma separtor between func arg text output Max Wash 2025-04-22 21:32:12 +01:00
  • 07d16e7454 lang: codegen: fix segfault when serialising selector with unnamed args Max Wash 2025-04-22 21:31:44 +01:00
  • 833c80534e doc: update mie msg instruction syntax samples Max Wash 2025-04-22 15:33:53 +01:00
  • 83b05259f8 meta: update clang-format config Max Wash 2025-04-22 15:32:08 +01:00
  • 1942070c4e frontend: repl: disable post-order ast printing Max Wash 2025-04-22 15:31:51 +01:00
  • b8459f9390 lang: codegen: implement lambda variable capture Max Wash 2025-04-22 15:31:23 +01:00
  • 7483b32c25 lang: codegen: redesign variable definition/resolution system to support capturing Max Wash 2025-04-22 15:23:42 +01:00
  • dc000ae8ef common: implement conversion from b_status to ivy_status Max Wash 2025-04-22 15:22:49 +01:00
  • 79a818dd8e test: update mie tests Max Wash 2025-04-22 15:22:28 +01:00
  • 4ffe445572 mie: add strict-naming support to mie_name_map Max Wash 2025-04-22 15:21:30 +01:00
  • f8c322ef6c mie: convert: add support for converting more value types Max Wash 2025-04-22 15:20:43 +01:00
  • f0869b5ba0 lang: codegen: start implementing lambda generation Max Wash 2025-04-21 21:11:45 +01:00
  • 8023ea622a mie: func name and args are now specified separately from func creation Max Wash 2025-04-21 21:10:27 +01:00
  • 8febd270ba mie: convert: add spacing between function definitions Max Wash 2025-04-21 21:10:14 +01:00
  • f220fc2f4b lang: ast: fix nested lambdas not parsing correctly Max Wash 2025-04-20 21:25:28 +01:00
  • 4a258e2580 lang: codegen: implement fstring generation Max Wash 2025-04-18 23:17:39 +01:00
  • 2ddb065243 lang: codegen: disable CODEGEN_F_IGNORE_RESULT in expression generation Max Wash 2025-04-18 23:15:28 +01:00
  • 78817b6b8c update: use updated parser api to fix memory leaks Max Wash 2025-04-17 23:16:16 +01:00
  • 25c1fbd44b lang: fix a bunch of memory leaks Max Wash 2025-04-17 23:15:48 +01:00
  • 11449b9919 lang: codegen: add support for non-fstrings to expr generator Max Wash 2025-04-17 22:55:40 +01:00
  • 9cce4bf541 mie: implement caching and emitting string data Max Wash 2025-04-17 22:55:17 +01:00
  • abb7cfaf0e mie: move mie_ctx to a separate header Max Wash 2025-04-17 22:02:10 +01:00
  • 7b8d77a264 lang: codegen: implement message-send code generation and global var references Max Wash 2025-04-17 21:44:38 +01:00
  • a4504c0507 lang: ast: fix source formatting Max Wash 2025-04-17 21:43:51 +01:00
  • 8388dfeb79 mie: implement ir generation for message sending Max Wash 2025-04-17 21:43:02 +01:00
  • 6d8809d325 mie: implement generating extern global data items Max Wash 2025-04-17 21:41:58 +01:00
  • 51e07522e8 lang: ast: fix parens not allowing sub-keyword messages Max Wash 2025-04-17 21:38:31 +01:00
  • 635d23d2e1 frontend: update codegen usage to only use pre-order ast traversal Max Wash 2025-04-16 21:59:32 +01:00
  • f0e6237473 lang: codegen: redesign again to use purely pre-order ast traversal Max Wash 2025-04-16 21:58:52 +01:00
  • 95dbedefde mie: builder: add function to get current block Max Wash 2025-04-16 21:58:22 +01:00
  • a184ffce6f doc: fix sample file permissions Max Wash 2025-04-15 11:06:06 +01:00
  • ccb31ae545 doc: add var syntax samples Max Wash 2025-04-15 11:05:52 +01:00
  • ae35c15f78 ivy.vim: add highlighting for var keyword Max Wash 2025-04-15 11:04:48 +01:00
  • e430b7b2f1 lang: add var keyword for variable declarations Max Wash 2025-04-15 11:02:47 +01:00