Commit Graph

  • 51e07522e8 lang: ast: fix parens not allowing sub-keyword messages wash 2025-04-17 21:38:31 +01:00
  • 635d23d2e1 frontend: update codegen usage to only use pre-order ast traversal wash 2025-04-16 21:59:32 +01:00
  • f0e6237473 lang: codegen: redesign again to use purely pre-order ast traversal wash 2025-04-16 21:58:52 +01:00
  • 95dbedefde mie: builder: add function to get current block wash 2025-04-16 21:58:22 +01:00
  • a184ffce6f doc: fix sample file permissions wash 2025-04-15 11:06:06 +01:00
  • ccb31ae545 doc: add var syntax samples wash 2025-04-15 11:05:52 +01:00
  • ae35c15f78 ivy.vim: add highlighting for var keyword wash 2025-04-15 11:04:48 +01:00
  • e430b7b2f1 lang: add var keyword for variable declarations wash 2025-04-15 11:02:47 +01:00
  • abebdb595a frontend: add IR generation to compile command wash 2025-04-15 11:00:48 +01:00
  • 8d462799dd mie: add selector as a mie_value const type wash 2025-04-15 11:00:10 +01:00
  • 4587416ac9 frontend: repl: generate ir from input wash 2025-04-14 20:15:41 +01:00
  • 670b7c5a33 lang: codegen: redesign codegen to use a stack-based state machine wash 2025-04-14 20:15:05 +01:00
  • 5630132a69 mie: add some convenience functions for func, block, and builder wash 2025-04-14 20:14:44 +01:00
  • d4e0df0bda mie: implement sub/mul/div instruction generation wash 2025-04-14 20:14:28 +01:00
  • 1c8f1447e7 mie: fix a nullptr deref in mie_ctx cleanup wash 2025-04-14 20:13:13 +01:00
  • bcc0daa2d5 frontend: update ast iterator api usage wash 2025-04-14 12:25:49 +01:00
  • f123902215 frontend: add parameters to print_ast_node iterator function wash 2025-04-14 12:24:56 +01:00
  • 80e001cdc1 lang: add user args to ast iterator; combine pre/post-order traversal modes wash 2025-04-14 12:24:42 +01:00
  • 7a9fc1b11c doc: remove class definition from Expressions sample wash 2025-04-14 09:53:27 +01:00
  • 2cd78a64b0 lang: start implementing code generation (ast to ir) facility wash 2025-04-14 09:48:16 +01:00
  • c682cbb15a frontend: update ast traversal api usage wash 2025-04-14 09:46:36 +01:00
  • fd91bb71c0 ast: implement postorder ast traversal wash 2025-04-14 09:44:37 +01:00
  • ae5e438207 common: add some more status codes wash 2025-04-14 09:43:31 +01:00
  • e1d7bebe9f test: mie-ir: cleanup after ir generation wash 2025-04-13 19:25:41 +01:00
  • a7233a6cf6 mie: implement value cleanup wash 2025-04-13 19:25:23 +01:00
  • 44aec9a121 doc: mie ir block labels are no longer prefixed with % wash 2025-04-13 18:35:06 +01:00
  • 80110ec95e mie: add ir builder test wash 2025-04-13 18:34:41 +01:00
  • edf5b18b32 mie: start implementing ir memory->text conversion wash 2025-04-13 18:34:28 +01:00
  • deb1232bf9 mie: implement more ir building functionality wash 2025-04-13 18:34:02 +01:00
  • 7f0d8b87c5 mie: name_map can now generate unique names when given no hints wash 2025-04-11 14:12:53 +01:00
  • e379afb035 doc: add sample Mie IR for Person.im wash 2025-04-11 13:42:27 +01:00
  • db5843b66f mie.vim: replace sym type name with atom wash 2025-04-11 13:42:10 +01:00
  • 2b603c0d75 meta: add support for simple unit test wash 2025-04-11 13:41:33 +01:00
  • 377444ef59 mie: implement value type initialiser functions wash 2025-04-11 13:40:54 +01:00
  • 98d82de47a mie: add name_map to generate unique value names wash 2025-04-11 13:40:37 +01:00
  • 8dd67501bd doc: update property/atom samples wash 2025-04-10 13:04:43 +01:00
  • 4dec09352d ivy.vim: update highlighting for properties and atoms wash 2025-04-10 13:04:29 +01:00
  • 2235f9c0a9 lang: change symbols for properties and atoms to -> and $ respectively wash 2025-04-10 13:04:12 +01:00
  • 8045872dc3 mie.vim: add highlighting for new instructions and keywords wash 2025-04-10 12:19:13 +01:00
  • 5cd3eff2ed mie: add lots more mie_value sub-types wash 2025-04-10 12:18:07 +01:00
  • ecc886c95a doc: add sample of directly calling a block rvalue wash 2025-04-03 10:53:27 +01:00
  • e7f6d54fa2 mie: add value type hierarchy definitions wash 2025-04-03 10:50:35 +01:00
  • df8d9689d1 lang: add null pointer check to arith_parse_left_paren wash 2025-04-03 10:48:41 +01:00
  • 6f9f299182 build: add mie to build system wash 2025-04-03 10:48:16 +01:00
  • 962c1ae9d4 doc: update IR samples to new mie sub-directory and file extension wash 2025-04-03 10:47:24 +01:00
  • 944ffcaea2 vim: pull IR syntax highlighting into separate vim plugin wash 2025-04-03 10:42:46 +01:00
  • 0fee53f194 meta: add stub folder for mie ir builder/optimiser wash 2025-03-26 22:28:06 +00:00
  • ba1db96be3 doc: add lambda and call-operator sample code wash 2025-03-26 22:27:24 +00:00
  • b6bfdd0fd1 doc: adjust package messages; add more sample code wash 2025-03-26 22:27:06 +00:00
  • 78b2eb23c3 lang: ast: implement () operator parsing wash 2025-03-26 21:10:12 +00:00
  • 0c500dc19b lang: lex: add function for creating fake ident tokens wash 2025-03-26 21:09:07 +00:00
  • 02ebb5c32b vim: add syntax highlighting support for intermediate language wash 2025-01-27 19:19:29 +00:00
  • b4fd6a999b doc: add intermediate representation language wash 2025-01-27 19:19:11 +00:00
  • 251ed8c144 frontend: add coloured output for try-catch-finally AST nodes wash 2025-01-16 13:18:19 +00:00
  • 5017e2e736 doc: add try-catch-finally example file wash 2025-01-16 13:17:46 +00:00
  • 46d244a28d lang: ast: implement parsing of try-catch-finally statements wash 2025-01-16 13:15:48 +00:00
  • 143d61e329 lang: ast: add support for multiple block termination tokens wash 2025-01-16 13:15:18 +00:00
  • fa33336ed7 lang: lex: add finally keyword wash 2025-01-16 13:13:08 +00:00
  • 22694f2d98 doc: replace . as self-index operator with :: wash 2025-01-15 21:11:58 +00:00
  • f5eaac1a4c lang: fix underscopre not being treated as an expression start token wash 2025-01-15 21:11:19 +00:00
  • bbe1e49e55 vim: add in keyword wash 2025-01-15 17:40:29 +00:00
  • d50417c4b7 frontend: add command to disassemble object files wash 2025-01-15 17:40:01 +00:00
  • ada0ff8c85 asm: fix parts of encoded instructions being overwritten wash 2025-01-15 17:39:15 +00:00
  • 4561208db5 Merge branch 'main' of https://github.com/washh/ivy wash 2024-12-16 21:02:03 +00:00
  • bc8bfcea9d meta: add missing exe resource files wash 2024-12-16 20:57:30 +00:00
  • b2047d9907 vim: add new vm instructions wash 2024-12-15 22:37:19 +00:00
  • 3c05b362d7 doc: update with new vm instructions wash 2024-12-15 22:37:05 +00:00
  • b67b861ecf asm: implement instruction assembly and emission wash 2024-12-15 22:36:50 +00:00
  • 3ad355e58c common: add additional opcodes wash 2024-12-15 22:36:14 +00:00
  • 08f08df6e4 common: replace reference to b_strv_builder with b_stringstream wash 2024-12-15 22:35:54 +00:00
  • 10c03c4b74 asm: add instruction opcode/operand definition table wash 2024-12-15 19:30:34 +00:00
  • 9e75e1f16f asm: implement stub instruction emitter wash 2024-12-15 19:30:14 +00:00
  • 8889e58cf2 doc: replace @msg assembly items with @block wash 2024-12-14 21:57:55 +00:00
  • 7f5cc3426d asm: implement parsing of classes, dot-mnemonics wash 2024-12-14 21:57:29 +00:00
  • 83a021a862 vim: add missing assembly keywords wash 2024-12-14 21:56:44 +00:00
  • 5a00f271d8 doc: reformat standard library documentation wash 2024-12-14 21:07:20 +00:00
  • a167dd2af5 asm: fix compiler warnings wash 2024-12-14 21:03:44 +00:00
  • 462f67c6aa asm: implement import and instruction parsing wash 2024-12-14 20:26:04 +00:00
  • 724f40f19f frontend: add stub disassemble command wash 2024-12-13 18:08:53 +00:00
  • fa40086f0a build: treat warnings as errors wash 2024-12-13 17:21:25 +00:00
  • 9c125fe905 common: fix all compiler warnings wash 2024-12-13 17:21:14 +00:00
  • 9af971c074 asm: fix all compiler warnings wash 2024-12-13 17:20:58 +00:00
  • b3a9943fe5 frontend: fix all compiler warnings wash 2024-12-13 17:20:45 +00:00
  • 97aaffd166 doc: update assembly language syntax wash 2024-12-13 12:26:53 +00:00
  • 3bb94aa36e frontend: assemble: convert input file to output assembly wash 2024-12-13 12:26:32 +00:00
  • 5fe1a21978 asm: implement an asm parser and emitter wash 2024-12-13 12:26:01 +00:00
  • 0a8d913fdd common: implement ident and selector manipulation wash 2024-12-13 12:25:40 +00:00
  • 24d443b818 frontend: assemble: add assembler test wash 2024-12-10 22:27:34 +00:00
  • 9da6a5807a asm: implement assembler output file writing wash 2024-12-10 22:27:26 +00:00
  • 06e12e4545 asm: improve alignment of on-disk structures wash 2024-12-10 13:19:21 +00:00
  • 99cbcbaeb4 doc: explicitly store all identifiers/selector in an assembly source file in the const pool wash 2024-12-09 20:38:36 +00:00
  • 26ed9fee04 asm: define on-disk data structures for assembly files wash 2024-12-09 20:38:01 +00:00
  • 51fe7a0a71 asm: add different assembler scope types wash 2024-12-09 20:37:42 +00:00
  • 8f3a035636 vim: add some missing instruction mnemonics to syntax highlighter wash 2024-12-09 13:30:08 +00:00
  • 7845afcf38 asm: add interfaces for a low-level bytecode assembler wash 2024-12-09 13:29:44 +00:00
  • 52f11023c8 common: add instruction and opcode definitions; interface for manipulating selectors wash 2024-12-09 13:28:58 +00:00
  • 89bc63727f doc: remove outdated documentation from sample file wash 2024-12-08 19:37:50 +00:00
  • 3060bb1206 doc: add subscript, pkg-access, and tuple expressions to sample file wash 2024-12-08 19:37:33 +00:00
  • 8b8a97c9a6 lang: ast: implement parsing of subscript operator wash 2024-12-08 17:08:29 +00:00
  • 753afd7d87 lang: ast: implement parsing of tuples wash 2024-12-08 12:28:47 +00:00