wash
|
070a2be969
|
bshell: initialise verbs and table formatter on start
|
2026-05-24 20:25:36 +01:00 |
|
wash
|
862028f5a8
|
debug: update runtime opcode printing
|
2026-05-24 20:24:44 +01:00 |
|
wash
|
d7443d7810
|
bshell: add an assembly instance to register builtin commands
|
2026-05-24 20:22:48 +01:00 |
|
wash
|
f772f4ba20
|
alias: implement a set of builtin aliases
|
2026-05-24 20:22:30 +01:00 |
|
wash
|
0ee1a3575d
|
cmdlet: implement a set of builtin cmdlets
|
2026-05-24 20:22:19 +01:00 |
|
wash
|
92e58ec7c6
|
runtime: implement opcodes to run commands and load/store variables and properties
|
2026-05-24 20:22:05 +01:00 |
|
wash
|
8f7a0b9fb8
|
runtime: add a class to represent variables and a data structure to store them
|
2026-05-24 20:21:39 +01:00 |
|
wash
|
b6aeb8d4bf
|
runtime: implement pipelines and an interface for calling commands
|
2026-05-24 20:21:06 +01:00 |
|
wash
|
d8c694a43e
|
command: add a hierarchy of classes to represent different types of commands
|
2026-05-24 20:20:06 +01:00 |
|
wash
|
4f65e3b9f2
|
format: implement tabular output of fx objects
|
2026-05-24 20:19:32 +01:00 |
|
wash
|
c9cf6b229e
|
bshell: add a class to manage cmdlet verbs
|
2026-05-24 20:18:12 +01:00 |
|
wash
|
c3bf6dcee6
|
compile: implement compilation of doubles and arrays
|
2026-05-24 20:17:35 +01:00 |
|
wash
|
e679c41725
|
compile: fstring: fix string elements being loaded at the wrong time
|
2026-05-24 20:17:13 +01:00 |
|
wash
|
30bfce5701
|
script-block: implement storing double values in constpool
|
2026-05-24 20:15:30 +01:00 |
|
wash
|
e829c77297
|
file: update fx_array usage
|
2026-05-24 20:14:51 +01:00 |
|
wash
|
ca8533334b
|
ast: implement to_string for int and double nodes
|
2026-05-24 20:14:32 +01:00 |
|
wash
|
fad13b5476
|
parse: lots of improvements
|
2026-05-24 20:13:55 +01:00 |
|
wash
|
82a035f5cc
|
line-ed: update fx_array usage
|
2026-05-24 20:11:51 +01:00 |
|
wash
|
5a23da4cfe
|
line-ed: add unicode support
|
2026-05-17 16:50:48 +01:00 |
|
wash
|
2f200e8d1b
|
bshell: generate and evaluate bytecode for shell input
|
2026-05-17 15:35:22 +01:00 |
|
wash
|
f629b05672
|
debug: implement printers for bytecode instructions and runtime values
|
2026-05-17 15:34:53 +01:00 |
|
wash
|
58b4bb2c51
|
runtime: temporary implementation of arithmetic bytecode evaluation
|
2026-05-17 15:34:24 +01:00 |
|
wash
|
0e8dc9cb6f
|
bshell: implement bytecode generation for arithmetic expressions and if-statements
|
2026-05-17 15:33:48 +01:00 |
|
wash
|
2cee984092
|
runtime: add definitions for bshell vm bytecode
|
2026-05-17 15:33:20 +01:00 |
|
wash
|
1f8b9ff0d3
|
ast: implement post-order ast traversal
|
2026-05-17 15:32:19 +01:00 |
|
wash
|
e490754625
|
bshell: add script-block class
bshell_scriptblock acts as a self-contained collection of executable bytecode and associated const value table.
|
2026-05-17 15:30:20 +01:00 |
|
wash
|
405686f6ec
|
parse: make multi-line structure parsing more robust
|
2026-05-17 15:29:59 +01:00 |
|
wash
|
d78f80a121
|
parse: lex: fix some state transition edge cases
|
2026-05-17 15:29:14 +01:00 |
|
wash
|
05dcf1f8b6
|
operator: add script-block pseudo-operator
|
2026-05-17 15:28:29 +01:00 |
|
wash
|
34114ca451
|
debug: add print support for new ast node types
|
2026-05-12 23:00:03 +01:00 |
|
wash
|
750e3df7d5
|
lang: add arithmetic operator definitions
|
2026-05-12 22:59:50 +01:00 |
|
wash
|
83189d4d9b
|
ast: add lots of ast node definitions
|
2026-05-12 22:59:29 +01:00 |
|
wash
|
1ea3471f0d
|
parse: implement parsing of complex command arguments
|
2026-05-12 22:58:59 +01:00 |
|
wash
|
c4529d474a
|
parse: implement parsing of arithmetic expressions and data structures
|
2026-05-12 22:58:48 +01:00 |
|
wash
|
227e73853c
|
parse: implement parsing of function definitions
|
2026-05-12 22:57:49 +01:00 |
|
wash
|
7d2e45edcb
|
parse: implement parsing of if-statements
|
2026-05-12 22:57:31 +01:00 |
|
wash
|
26e2a63200
|
parse: implement parsing of {...} statement blocks
|
2026-05-12 22:57:16 +01:00 |
|
wash
|
0cd7ca2dde
|
parse: add a basic function to report parse errors
|
2026-05-12 22:56:40 +01:00 |
|
wash
|
5ce780e037
|
parse: add a range of internal parser definitions
|
2026-05-12 22:55:59 +01:00 |
|
wash
|
2235d8593b
|
parse: lex: add a range of operator tokens
|
2026-05-12 22:54:50 +01:00 |
|
wash
|
64903c821c
|
parse: lex: add missing lex ctx members
|
2026-05-12 22:54:17 +01:00 |
|
wash
|
39457aa7e6
|
parse: add some more generic token parser functions
|
2026-05-12 22:53:26 +01:00 |
|
wash
|
440561cb39
|
parse: implement parsing of semicolon-delimited statement lists
|
2026-05-12 22:52:48 +01:00 |
|
wash
|
cc450da31e
|
parse: lex: support tokens terminating multiple lex states in certain circumstances
|
2026-05-12 22:51:45 +01:00 |
|
wash
|
e3b92fe4f2
|
parse: lex: fix scanning of sub-expressions and fstrings in statement mode
|
2026-05-12 22:51:15 +01:00 |
|
wash
|
b2190dd4d0
|
parse: lex: improve scanning of more complex redirection expressions
|
2026-05-12 22:48:57 +01:00 |
|
wash
|
3dd5f12ee5
|
parse: lex: fix string state not terminating when encountering a dquote
|
2026-05-12 22:48:08 +01:00 |
|
wash
|
721e0f851a
|
parse: lex: add a range of new symbol tokens
|
2026-05-12 22:47:29 +01:00 |
|
wash
|
dee4e5dbf7
|
parse: lex: fix arithmetic state handling dquote symbols incorrectly
|
2026-05-12 22:45:43 +01:00 |
|
wash
|
39125cea50
|
parse: lex: switch from arithmetic to statement when scanning =, |, and \n
|
2026-05-12 22:45:05 +01:00 |
|