Commit Graph

459 Commits

Author SHA1 Message Date
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
8b8a97c9a6 lang: ast: implement parsing of subscript operator 2024-12-08 17:08:29 +00:00
753afd7d87 lang: ast: implement parsing of tuples 2024-12-08 12:28:47 +00:00
c6f1439835 doc: add dynamic package with keyword-message filter to sample file 2024-12-07 21:47:21 +00:00
1c3bb98714 lang: ast: rename IVY_AST_STATIC_PKG_ITEM to IVY_AST_PKG_ITEM 2024-12-07 21:46:24 +00:00
e8c30b65b5 lang: ast: implement support for multiple expression terminator tokens 2024-12-07 21:28:25 +00:00
7e3322e2ad doc: add package initialiser expressions to sample file 2024-12-07 20:57:08 +00:00
209c47da68 lang: ast: implement parsing of static and dynamic package initialisers 2024-12-07 20:56:57 +00:00
b87d152f07 meta: add metadata to win32 exe/dll files 2024-12-07 19:32:35 +00:00
77885036c1 doc: add lambdas to sample file 2024-12-07 11:17:01 +00:00
d404e21b33 lang: ast: implement parsing of unnamed parameters 2024-12-07 10:07:20 +00:00
504fea6d9e lang: ast: fix expr type not being set when parsing a lambda 2024-12-06 22:46:24 +00:00
dba4f123d6 lang: ast: implement parsing of lambdas 2024-12-06 22:26:06 +00:00
68ad0655aa lang: ast: fix selector to_string not including keyword message labels 2024-12-06 22:25:33 +00:00
dc55cfa1f8 lang: ast: propagate block terminator token to child expressions 2024-12-06 22:24:48 +00:00
54c6fd7040 lang: ast: adjust and clarify the precedence of token parser callbacks 2024-12-06 22:24:08 +00:00
4c36615bc1 lang: ast: implement s_terminator in block parser for all symbols 2024-12-06 21:34:26 +00:00
67bfdef18a lang: ast: misc formatting and reference fixes 2024-12-06 21:33:53 +00:00
bd377b00f4 frontend: repl: add show-lex and show-ast command options 2024-12-06 20:24:50 +00:00
175e191aa6 frontend: debug: replace custom ast node printer with ast_node_to_string 2024-12-06 20:24:33 +00:00
bd5e524241 lang: ast: replace ast node print callback with to_string 2024-12-06 20:24:08 +00:00
ae15f228d3 lang: ast: fix finalise_property not being called when parsing a right paren 2024-12-06 20:23:46 +00:00
41ef94bf3d lang: ast: fix incorrect property parser state struct name 2024-12-06 20:23:23 +00:00
4e301a3e90 doc: add properties to sample file 2024-12-06 19:51:01 +00:00
6b9bd4771d doc: full properties now always have a pipe symbol after their identifier 2024-12-06 19:49:21 +00:00
ec05379e33 cmake: add support for static build 2024-12-06 19:48:20 +00:00
1f7319458e lang: ast: implement parsing of properties 2024-12-06 19:47:27 +00:00
603c6709fb frontend: add debug-print support for ATOM and STRING nodes; add colour to several node types 2024-12-06 13:48:08 +00:00
4cfb1e56ea doc: a heck-ton more expressions for the sample file :) 2024-12-06 13:47:21 +00:00
94c10dfbb2 lang: ast: implement parsing of f-strings 2024-12-06 13:46:58 +00:00
2bd3e96427 lang: ast: implement parsing of atoms 2024-12-06 13:46:41 +00:00
7ba0a05332 lang: ast: fix error when parsing message handler keyword-message selector 2024-12-06 13:23:02 +00:00
d3813dc514 lang: ast: treat bang (!) as an unconsumed expression terminator 2024-12-06 13:22:33 +00:00
363b13534d frontend: compile: replace verbose option with dedicated logging options 2024-12-06 13:21:55 +00:00
c58eed715e doc: lots more exiciting expressions for the sample file 2024-12-06 10:02:51 +00:00
d88d58be70 lang: ast: implement for-loop parsing 2024-12-06 10:02:31 +00:00
f3cd89c72a lang: ast: implement caret (return) parsing 2024-12-06 10:01:56 +00:00
d1855afc05 lang: add missing includes; misc formatting cleanup 2024-12-06 09:59:57 +00:00
5fe3231c9e lang: ast: fix match node type specifying wrong node size 2024-12-05 22:00:23 +00:00
8ef057360e frontend: compile: add verbose command option 2024-12-05 21:06:03 +00:00
9a4b074381 lang: ast: suppress debug output by default 2024-12-05 19:37:58 +00:00
c0a90f40b5 doc: add while loops to sample file 2024-12-05 19:29:36 +00:00
1a4d6089a1 lang: ast: implement parsing of while-loops 2024-12-05 19:29:21 +00:00
e23cd801c9 lang: ast: fix keyword arg parser not inheriting subexpr depth correctly 2024-12-05 16:55:53 +00:00
fc0a943ae8 lang: ast: improve cascade operator recipient resolution
the cascade operator now uses the precedence of the last message parsed
to determine the recipient of the subsequent messages, reducing the need
for parentheses and making the semantics of the operator more
predictable.

all messages in a cascade now inherit the precedence of the first
message in the cascade.
2024-12-05 16:53:59 +00:00
ad8ce82bad doc: add match statement to sample file 2024-12-04 22:23:33 +00:00