Commit Graph

43 Commits

Author SHA1 Message Date
Devyn Cairns
f8297abf62 rework named args to also contain their short arg (it was there for a reason) 2024-07-09 04:41:36 -07:00
Devyn Cairns
6a8169e8ba add specific error for match guard bool 2024-07-08 20:13:50 -07:00
Devyn Cairns
4878d7250f fix let: glob cast from string 2024-07-08 19:54:40 -07:00
Devyn Cairns
ea3849da17 fix all of the error handling tests, mostly by making drain handle external exit codes properly 2024-07-08 19:48:25 -07:00
Devyn Cairns
5e04ab2f14 add check for a failed external call to try code 2024-07-08 17:48:14 -07:00
Devyn Cairns
5c5db1bd54 add check for error redirection for pipe error mode 2024-07-08 15:14:35 -07:00
Devyn Cairns
38884eec73 add explicit numbering for allocated files, fix some err redirection stuff 2024-07-08 13:58:41 -07:00
Devyn Cairns
2807717245 attempt to use a file stack for redirection, but realized that both out and err can be separate so need to be able to reference both 2024-07-07 23:08:16 -07:00
Devyn Cairns
689cc49663 support calling with the redirection mode of the caller 2024-07-07 20:17:55 -07:00
Devyn Cairns
716d016a28
throw error on redefined record key 2024-07-06 02:57:07 -07:00
Devyn Cairns
650cc95d94
fix handling of assignment of deep path env vars 2024-07-06 02:25:45 -07:00
Devyn Cairns
9498c06631
Move custom command call stack handling back to the eval side 2024-07-06 00:55:57 -07:00
Devyn Cairns
4b56fba7d6 add datetime expression, remove todo compileerror 2024-07-05 05:17:49 -07:00
Devyn Cairns
c7a86cf75e make timeit and metadata work through hack that's ok for now 2024-07-05 05:08:52 -07:00
Devyn Cairns
6398f0e31e
literal ValueWithUnit (filesize, duration) 2024-07-04 00:48:23 -07:00
Devyn Cairns
5c419a39e8
custom commands, fix let, fix bare $env var 2024-07-03 20:15:00 -07:00
Devyn Cairns
d33d21e1dc
row condition, fix table literal 2024-07-03 17:51:20 -07:00
Devyn Cairns
062821039a
match support 2024-07-03 17:36:26 -07:00
Devyn Cairns
52ec0c3b1d
fix parser info: actually add it to the call 2024-07-03 00:17:09 -07:00
Devyn Cairns
3c33a3f4eb
try/catch with catch as an expression rather than literal block 2024-07-03 00:04:46 -07:00
Devyn Cairns
7a055563a9
try/catch (wip) 2024-07-02 20:11:11 -07:00
Devyn Cairns
b63b0217bd
string, glob interpolation 2024-06-28 22:07:39 -07:00
Devyn Cairns
37255bef3c
implement for keyword, add iterate instruction 2024-06-28 21:03:57 -07:00
Devyn Cairns
0d15d50023
fix deserialization of IrBlock 2024-06-27 18:09:22 -07:00
Devyn Cairns
69b2d00756
Support if/else, clear up drop/empty reg semantics 2024-06-26 18:47:08 -07:00
Devyn Cairns
73b092bfdc
instructions: list-spread, record-spread 2024-06-26 16:56:09 -07:00
Devyn Cairns
ed59f80b35
list, record, table expression support 2024-06-26 02:10:00 -07:00
Devyn Cairns
7890b3f27a
more efficient storage for string data in ir blocks 2024-06-26 01:23:46 -07:00
Devyn Cairns
0459b74613 knocking off some TODOs, closures work now 2024-06-22 16:18:30 -07:00
Devyn Cairns
acee591003 wip: get it working with commands 2024-06-18 18:47:13 -07:00
Devyn Cairns
6ebb245411
Revert "define an efficient-ish way to use args in place without an arg stack"
This reverts commit a563eb921d.
2024-06-17 18:08:12 -07:00
Devyn Cairns
6a2dc99717
start to try to implement a Call-compatible interface as a drop in replacement for commands 2024-06-14 00:45:59 -07:00
Devyn Cairns
a563eb921d
define an efficient-ish way to use args in place without an arg stack 2024-06-13 18:16:19 -07:00
Devyn Cairns
3d96344bb0 make it possible to evaluate some basic IR 2024-06-11 18:17:41 -07:00
Devyn Cairns
6eb035f071 more instructions for read/write variables, cell path, env var 2024-06-10 21:39:47 -07:00
Devyn Cairns
20a214a4b9 add compiled IR to blocks 2024-06-10 19:55:33 -07:00
Devyn Cairns
63d278a344 comment 2024-06-10 15:35:52 -07:00
Devyn Cairns
7d274abc80 improve ir display by taking reference to engine state 2024-06-10 14:42:54 -07:00
Devyn Cairns
eee62ff580
support subexpressions, cell paths 2024-06-09 02:09:22 -07:00
Devyn Cairns
87846f13e5
fix the need for special case RegId(0) 2024-06-09 01:19:19 -07:00
Devyn Cairns
e45ff3dd1d
wip: start on implementing a compiler 2024-06-09 00:03:59 -07:00
Devyn Cairns
be1d1bcdc8
sketching ir 2024-06-08 17:41:20 -07:00
Devyn Cairns
7f6d32dd84 wip: internal representation for evaluation 2024-06-08 02:13:59 -07:00