Commit Graph

  • d2abb6faa3 meta: replace in-repo copy of mie with git submodule feature/new-mie Max Wash 2026-01-19 14:27:55 +00:00
  • ee0d649db8 vim: update operator symbols; label and msg-name patterns main Max Wash 2026-01-19 14:25:25 +00:00
  • 100ddd9a87 frontend: compile: specify filename of select graph debug output Max Wash 2026-01-19 14:21:35 +00:00
  • 89b9fbc988 meta: update clang-format config Max Wash 2026-01-19 14:20:11 +00:00
  • fb09facdda doc: update docs and sample files Max Wash 2026-01-19 14:20:04 +00:00
  • db1eba08b8 lang: ast: fix infinite b_queue iteration Max Wash 2025-11-15 22:49:03 +00:00
  • 42fcfafa38 mie: select: implement branch operation processing Max Wash 2025-11-15 22:47:47 +00:00
  • 43f821b8d1 mie: select: implement comparison operation processing Max Wash 2025-11-15 22:46:54 +00:00
  • 4d1918bb77 mie: select: track all side-effect-chains in a graph; support combining them all Max Wash 2025-11-15 22:37:35 +00:00
  • ec8a1a72a3 mie: builder: fix incorrect result type for comparison operations Max Wash 2025-11-15 22:35:20 +00:00
  • fe4abeb96d mie: select: add filename parameter to graphviz dump function Max Wash 2025-11-15 22:34:16 +00:00
  • c18d719b7d vim: add missing operators Max Wash 2025-11-07 10:26:52 +00:00
  • 77791d91e3 doc: sample: switch to kebab-case Max Wash 2025-11-07 10:07:44 +00:00
  • c8f0be14a1 doc: stdlib: changes standard object messages to kebab-case Max Wash 2025-11-07 09:56:36 +00:00
  • aca3c0c456 vim: add kebab-case identifier support Max Wash 2025-11-07 09:54:50 +00:00
  • 8150e218ee frontend: debug: add support for printing negative number tokens Max Wash 2025-11-07 09:54:33 +00:00
  • b0cbe42fc4 lang: lex: add support for kebab-case identifiers and negative numbers Max Wash 2025-11-07 09:49:29 +00:00
  • 1a544b6411 lang: add a diag for missing whitespace around a binary op Max Wash 2025-11-07 09:49:24 +00:00
  • 24eef25147 frontend: update bluelib api usage Max Wash 2025-11-06 10:39:08 +00:00
  • 9622e30e0f diag: update bluelib api usage Max Wash 2025-11-06 10:38:58 +00:00
  • 6d172e1dc0 mie: update bluelib api usage Max Wash 2025-11-06 10:38:50 +00:00
  • 06f384e089 asm: update bluelib api usage Max Wash 2025-11-06 10:38:40 +00:00
  • 4386965cd9 lang: update bluelib api usage Max Wash 2025-11-06 10:38:32 +00:00
  • b26c37c349 common: update bluelib api usage Max Wash 2025-11-06 10:38:23 +00:00
  • faa9200bb1 cmake: update FindBluelib module Max Wash 2025-11-05 22:39:22 +00:00
  • 8bb734d882 doc: sample: add match-statement syntax and ir samples Max Wash 2025-11-04 10:38:34 +00:00
  • 02b21126b5 doc: sample: add comma separators between complex-msg args Max Wash 2025-11-04 10:38:16 +00:00
  • 58fa746aa1 lang: add match-expression parser/generator Max Wash 2025-11-04 10:35:52 +00:00
  • b444a565a2 lang: operator: define range and range-inclusive operators Max Wash 2025-11-04 10:35:09 +00:00
  • b37c7d3303 lang: lex: add range operator symbols Max Wash 2025-11-04 10:34:35 +00:00
  • 7bb4803b9e lang: codegen: implement cascade operator generation Max Wash 2025-09-12 10:01:07 +01:00
  • 8541b3bc5b lang: codegen: msg generator can now accept recipient as a param rather than parsing it from the ast Max Wash 2025-09-12 10:00:06 +01:00
  • b255b2c8c6 frontend: compile: refactor and cleanup compilation pipeline Max Wash 2025-09-08 16:28:14 +01:00
  • 39a1f042a2 frontend: disassemble: update ivy_opcode enum references Max Wash 2025-09-08 16:27:41 +01:00
  • 364d313c22 frontend: debug: add colours for new token and node types Max Wash 2025-09-08 16:27:21 +01:00
  • bd0e60e209 lang: codegen: add generator for global variable declarations Max Wash 2025-09-08 16:26:55 +01:00
  • c442e53ffe lang: codegen: implement while-loop code generation Max Wash 2025-09-08 16:26:12 +01:00
  • 8425e2db4b lang: codegen: implement for-loop code generation Max Wash 2025-09-08 16:25:39 +01:00
  • 68ca789e43 lang: codegen: cond: implement implicitly returning values from an if-else expression Max Wash 2025-09-08 16:24:29 +01:00
  • 42dd3ffffc lang: codegen: cond: fix gen_block not repeating the block node Max Wash 2025-09-08 16:24:03 +01:00
  • 84e6d4f2ed lang: codegen: expr: implement assignment and arithmetic-and-assign operator support Max Wash 2025-09-08 16:22:31 +01:00
  • 97f7782968 lang: codegen: expr: implement generating true/false/null constants Max Wash 2025-09-08 16:22:06 +01:00
  • 312e737f9f lang: codegen: implement returning the last value evaluated in a block Max Wash 2025-09-08 16:21:05 +01:00
  • 168310033d lang: codegen: implement variable declaration/resolution support in block generator Max Wash 2025-09-08 16:20:41 +01:00
  • 6844f498c5 lang: codegen: replace codegen_value with a new system for passing different types of values between code generators Max Wash 2025-09-08 16:17:29 +01:00
  • 7ee2e9dd81 lang: codegen: fix block code generator using unit_codegen_state Max Wash 2025-09-08 16:10:47 +01:00
  • e5ea7b1134 lang: codegen: remove old var declaration generator Max Wash 2025-09-08 16:10:11 +01:00
  • ee402fb437 lang: move IVY_OP_ASSIGN operator id to be with the other assignment operators Max Wash 2025-09-08 16:03:45 +01:00
  • 3b5f08b1ea lang: ast: add new ast node type ids Max Wash 2025-09-08 16:03:39 +01:00
  • 7d1b7c5d68 lang: lex: add new lex token type ids Max Wash 2025-09-08 16:02:09 +01:00
  • 6e65349d70 lang: ast: fix some source formatting Max Wash 2025-09-08 16:01:02 +01:00
  • d95a544ff2 lang: ast: fix parsing of tuple iterator declaration in for-loops Max Wash 2025-09-08 16:00:42 +01:00
  • 59a85e9c47 lang: ast: fix parsing of unlabelled complex msg args Max Wash 2025-09-08 16:00:07 +01:00
  • 6dfa0c7e17 lang: ast: add function to signal the end of token input to the parser Max Wash 2025-09-08 15:58:14 +01:00
  • 3c72527204 lang: ast: fix parsing of inline-if expressions that immediately precede an end keyword Max Wash 2025-09-08 15:57:04 +01:00
  • 8ab377b3ab lang: ast: implement parsing of true/false/null keyword constants Max Wash 2025-09-08 15:56:03 +01:00
  • bf250179da lang: ast: implement parsing of break/continue loop-control statements Max Wash 2025-09-08 15:55:12 +01:00
  • 84e52b1649 lang: ast: replace var keyword with global Max Wash 2025-09-08 15:50:50 +01:00
  • 5ea544692b lang: diag: add some new diag codes and messages Max Wash 2025-09-08 15:48:38 +01:00
  • ea42f738df asm: implement a mie backend for ivy assembly generation Max Wash 2025-09-08 15:47:48 +01:00
  • 9f8bdc9365 asm: update references to enum ivy_opcode Max Wash 2025-09-08 15:47:06 +01:00
  • 4e8b1c15de common: rename instruction opcode enum names to avoid conflict Max Wash 2025-09-08 15:46:44 +01:00
  • 48fb330f47 common: re-define status codes to be compatible with b_result Max Wash 2025-09-08 15:43:29 +01:00
  • eb260fb35c mie: select: add support for target-specific nodes and lowering operations Max Wash 2025-09-08 15:42:22 +01:00
  • 5ca045fd5b mie: target: add result output to ir lowering callbacks Max Wash 2025-09-08 15:41:50 +01:00
  • d6f71b7f4f mie: ir: add helper function to check if a value is a selector Max Wash 2025-09-08 15:40:33 +01:00
  • 15c7b7470e mie: implement simple type comparison Max Wash 2025-09-08 15:39:55 +01:00
  • 7bff5c9fca mie: add some more status codes Max Wash 2025-09-08 15:39:41 +01:00
  • 32a520e210 mie: ir: implement generation and text output of phi instruction Max Wash 2025-09-08 15:34:58 +01:00
  • dd0dcc9c0a mie: add null IR value Max Wash 2025-09-08 15:33:25 +01:00
  • 2ff85a7505 doc: sample: add for and while loop samples Max Wash 2025-09-08 15:30:44 +01:00
  • cb63e8d016 doc: sample: remove var keyword Max Wash 2025-09-08 15:30:24 +01:00
  • ebfbbd0a1a frontend: compile: create and (optionally) show isel graph for each block Max Wash 2025-08-29 15:47:42 +01:00
  • 9c1e0958b0 mie: implement instruction selection graph generation for binary ops and load/store Max Wash 2025-08-29 15:46:52 +01:00
  • 7fdae9f1e0 mie: move mie_type_to_string to type.c Max Wash 2025-08-29 15:46:12 +01:00
  • 1a37898d48 cmake: update FindBluelib module Max Wash 2025-08-29 15:44:12 +01:00
  • d532d9cff3 lang: codegen: fix free of mie_ctx that isn't allocated by ivy_codegen Max Wash 2025-08-16 21:11:46 +01:00
  • 7583252b72 doc: add/update sample files Max Wash 2025-08-16 21:02:14 +01:00
  • 1a9debd6fb test: update mie_ctx include path Max Wash 2025-08-16 21:01:49 +01:00
  • fe2565dfcd frontend: update mie_ctx include path Max Wash 2025-08-16 21:01:32 +01:00
  • adb326c795 lang: codegen: fix instr gen duplicating left operand Max Wash 2025-08-16 21:00:50 +01:00
  • bda10b1166 lang: codegen: update mie_ctx include path Max Wash 2025-08-16 21:00:22 +01:00
  • 9126638045 mie: add a stub instruction selection system Max Wash 2025-08-16 20:57:43 +01:00
  • 7ef90750db mie: add status codes Max Wash 2025-08-16 20:56:40 +01:00
  • 311dd60322 mie: name: add a mie_name destructor that removes it from its parent name map Max Wash 2025-08-16 20:54:05 +01:00
  • b4fa90ea7f mie: move mie_ctx out of the ir subsystem Max Wash 2025-08-16 20:53:40 +01:00
  • 2b87068852 test: update mie ir api usage Max Wash 2025-06-02 11:32:46 +01:00
  • 91a3b7cddc frontend: update mie ir api usage Max Wash 2025-06-02 11:32:36 +01:00
  • 9f83929600 lang: update mie ir api usage Max Wash 2025-06-02 11:31:35 +01:00
  • d01a3b4663 mie: refactor ir api into a separate sub-directory Max Wash 2025-06-02 11:31:19 +01:00
  • a3d553019d frontend: disassemble: implement dumping int/uint constpool values Max Wash 2025-05-16 16:57:14 +01:00
  • 57c352ab88 asm: parse: fix parse_linefeed not writing constpool entries for int/uint values Max Wash 2025-05-16 16:56:40 +01:00
  • 2b28371cb6 frontend: disassemble: implement dumping the contents of classes Max Wash 2025-05-15 12:11:11 +01:00
  • 49d21de894 frontend: disassemble: implement dumping ident, atom, and null constpool values Max Wash 2025-05-15 12:10:58 +01:00
  • a76525e11f asm: parse: use specified indices when writing constpool values Max Wash 2025-05-15 12:09:39 +01:00
  • 2845c29c5f asm: assembler: constpool value indices are now used and enforced Max Wash 2025-05-15 12:06:39 +01:00
  • 95f58615e0 asm: reader: implement reading ident and atom constpool values Max Wash 2025-05-15 12:06:04 +01:00
  • 9229e90723 frontend: disassemble: adjust section dump output format Max Wash 2025-05-14 16:29:31 +01:00
  • 8998ef0232 frontend: assemble: assembler requires output file to be open read/write Max Wash 2025-05-14 16:29:09 +01:00
  • 3980c9a21f asm: parse: implement label reference generation Max Wash 2025-05-14 16:28:37 +01:00