wash
f2e1d89313
runtime: update iterator usage
2026-05-25 19:14:52 +01:00
wash
6bfe3f0a6e
core: update iterator usage
2026-05-25 19:14:45 +01:00
wash
edfb3e24a3
bshell: re-organise build into three separate components
...
bshell: the front-end binary
bshell.runtime: contains the parser, compiler, and classes needed to run bshell scripts
bshell.core: contains the builtin commandlets and aliases
2026-05-25 10:33:29 +01:00
wash
58c76a1f57
meta: update clang-format config
2026-05-25 10:33:10 +01:00
wash
d333497a03
meta: add clang-format config
2026-05-24 20:26:49 +01:00
wash
28f8c8f71c
doc: sample: add/update sample source files
2026-05-24 20:26:40 +01:00
wash
bb09e8b8d1
vim: add operator symbols and keywords
2026-05-24 20:26:29 +01:00
wash
446ee99306
build: add new sub-directories
2026-05-24 20:25:51 +01:00
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