b6bfdd0fd1
doc: adjust package messages; add more sample code
2025-03-26 22:27:06 +00:00
78b2eb23c3
lang: ast: implement () operator parsing
...
the () operator can be used to call lambdas in a more functional way than the standard
message-send syntax
for example, with a lambda stored in variable `x`:
x(a:2 b:6).
is equivalent to
x call(a:2 b:6).
2025-03-26 21:10:12 +00:00
0c500dc19b
lang: lex: add function for creating fake ident tokens
2025-03-26 21:09:50 +00:00
02ebb5c32b
vim: add syntax highlighting support for intermediate language
2025-01-27 19:19:29 +00:00
b4fd6a999b
doc: add intermediate representation language
2025-01-27 19:19:11 +00:00
251ed8c144
frontend: add coloured output for try-catch-finally AST nodes
2025-01-16 13:18:19 +00:00
5017e2e736
doc: add try-catch-finally example file
2025-01-16 13:17:46 +00:00
46d244a28d
lang: ast: implement parsing of try-catch-finally statements
2025-01-16 13:17:08 +00:00
143d61e329
lang: ast: add support for multiple block termination tokens
2025-01-16 13:15:18 +00:00
fa33336ed7
lang: lex: add finally keyword
2025-01-16 13:13:08 +00:00
22694f2d98
doc: replace . as self-index operator with ::
2025-01-15 21:11:58 +00:00
f5eaac1a4c
lang: fix underscopre not being treated as an expression start token
2025-01-15 21:11:19 +00:00
bbe1e49e55
vim: add in keyword
2025-01-15 17:40:29 +00:00
d50417c4b7
frontend: add command to disassemble object files
2025-01-15 17:40:01 +00:00
ada0ff8c85
asm: fix parts of encoded instructions being overwritten
2025-01-15 17:39:15 +00:00
4561208db5
Merge branch 'main' of https://github.com/washh/ivy
2024-12-16 21:02:03 +00:00
bc8bfcea9d
meta: add missing exe resource files
2024-12-16 20:57:30 +00:00
b2047d9907
vim: add new vm instructions
2024-12-15 22:37:19 +00:00
3c05b362d7
doc: update with new vm instructions
2024-12-15 22:37:05 +00:00
b67b861ecf
asm: implement instruction assembly and emission
2024-12-15 22:36:50 +00:00
3ad355e58c
common: add additional opcodes
2024-12-15 22:36:14 +00:00
08f08df6e4
common: replace reference to b_strv_builder with b_stringstream
2024-12-15 22:35:54 +00:00
10c03c4b74
asm: add instruction opcode/operand definition table
2024-12-15 19:30:34 +00:00
9e75e1f16f
asm: implement stub instruction emitter
2024-12-15 19:30:14 +00:00
8889e58cf2
doc: replace @msg assembly items with @block
2024-12-14 21:57:55 +00:00
7f5cc3426d
asm: implement parsing of classes, dot-mnemonics
2024-12-14 21:57:29 +00:00
83a021a862
vim: add missing assembly keywords
2024-12-14 21:56:44 +00:00
5a00f271d8
doc: reformat standard library documentation
2024-12-14 21:07:20 +00:00
a167dd2af5
asm: fix compiler warnings
2024-12-14 21:03:44 +00:00
462f67c6aa
asm: implement import and instruction parsing
2024-12-14 20:26:04 +00:00
724f40f19f
frontend: add stub disassemble command
2024-12-13 18:08:53 +00:00
fa40086f0a
build: treat warnings as errors
2024-12-13 17:21:25 +00:00
9c125fe905
common: fix all compiler warnings
2024-12-13 17:21:14 +00:00
9af971c074
asm: fix all compiler warnings
2024-12-13 17:20:58 +00:00
b3a9943fe5
frontend: fix all compiler warnings
2024-12-13 17:20:45 +00:00
97aaffd166
doc: update assembly language syntax
2024-12-13 12:26:53 +00:00
3bb94aa36e
frontend: assemble: convert input file to output assembly
2024-12-13 12:26:32 +00:00
5fe1a21978
asm: implement an asm parser and emitter
2024-12-13 12:26:01 +00:00
0a8d913fdd
common: implement ident and selector manipulation
2024-12-13 12:25:40 +00:00
24d443b818
frontend: assemble: add assembler test
2024-12-10 22:27:34 +00:00
9da6a5807a
asm: implement assembler output file writing
2024-12-10 22:27:26 +00:00
06e12e4545
asm: improve alignment of on-disk structures
2024-12-10 13:19:21 +00:00
99cbcbaeb4
doc: explicitly store all identifiers/selector in an assembly source file in the const pool
2024-12-09 20:38:36 +00:00
26ed9fee04
asm: define on-disk data structures for assembly files
2024-12-09 20:38:01 +00:00
51fe7a0a71
asm: add different assembler scope types
2024-12-09 20:37:42 +00:00
8f3a035636
vim: add some missing instruction mnemonics to syntax highlighter
2024-12-09 13:30:08 +00:00
7845afcf38
asm: add interfaces for a low-level bytecode assembler
2024-12-09 13:29:44 +00:00
52f11023c8
common: add instruction and opcode definitions; interface for manipulating selectors
2024-12-09 13:28:58 +00:00
89bc63727f
doc: remove outdated documentation from sample file
2024-12-08 19:37:50 +00:00
3060bb1206
doc: add subscript, pkg-access, and tuple expressions to sample file
2024-12-08 19:37:33 +00:00