Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Huge refactor to a more value based system, doing away with terminals. Also ↵ | Charlie Stanton | 2023-07-19 | 1 | -6/+6 |
| | | | | introduces unit testing | ||||
* | Move reading and writing of tokens into a separate package to prepare for ↵ | Charlie Stanton | 2023-05-12 | 1 | -4/+5 |
| | | | | other input and output formats | ||||
* | Add labels and branches with the : and b commands | Charlie Stanton | 2023-04-26 | 1 | -0/+12 |
| | |||||
* | Store stred programs as a flat list of commands with no nesting, using a new ↵ | Charlie Stanton | 2023-04-26 | 1 | -17/+83 |
| | | | | jump command to simulate command blocks | ||||
* | Add Y and Z registers | Charlie Stanton | 2023-04-26 | 1 | -0/+24 |
| | |||||
* | Completely rewrites the JSON parser to make more extensive use of slices and ↵ | Charlie Stanton | 2023-04-25 | 1 | -1/+1 |
| | | | | decrease the number mallocs | ||||
* | Make state.path immutable so it can be a reference instead of copied, ↵ | Charlie Stanton | 2023-04-25 | 1 | -1/+1 |
| | | | | improving performance | ||||
* | Refines storing and loading to use ids generated when the subex is compiled ↵ | Charlie Stanton | 2023-04-25 | 1 | -3/+3 |
| | | | | instead of the runes | ||||
* | WalkItems are now made of Atoms instead of WalkValues, and I have rolled my ↵ | Charlie Stanton | 2023-04-24 | 1 | -16/+13 |
| | | | | | | own JSON parser and serialiser These changes improve performance | ||||
* | All registers are now lists of atoms instead of lists of values | Charlie Stanton | 2023-04-21 | 1 | -14/+17 |
| | | | | This is to reduce the amount of translating between them that needs to be done | ||||
* | Changes the implementation of Atomise and Compound to no longer use goroutines | Charlie Stanton | 2023-04-21 | 1 | -10/+3 |
| | | | | This results in a massive performance boost, ~4x speedup | ||||
* | Replaces the inflexible delete all with separate DeleteValue and DeletePath ↵ | Charlie Stanton | 2023-04-20 | 1 | -3/+7 |
| | | | | commands | ||||
* | Adds a substitute path command: S | Charlie Stanton | 2023-04-20 | 1 | -11/+32 |
| | |||||
* | Remove filters and various commands that are no longer wanted | Charlie Stanton | 2023-04-20 | 1 | -60/+0 |
| | | | | These have all been made redundant by the incredible substitute command | ||||
* | Add commands to append to and swap with the path and X registers | Charlie Stanton | 2023-04-20 | 1 | -1/+25 |
| | |||||
* | Upgrades the substitute command to also act as a filter | Charlie Stanton | 2023-04-19 | 1 | -3/+8 |
| | | | | Substitute now captures the command after it and only runs it if the substitution is a success | ||||
* | Implements subex substitutions for the value register | Charlie Stanton | 2023-04-19 | 1 | -1/+17 |
| | |||||
* | Replaces the workspace with 3 distinct registers: path, value and xreg | Charlie Stanton | 2023-04-19 | 1 | -24/+25 |
| | | | | | | workspace contained a list of WalkItems, pairs of paths and values. The new system can still hold a list of values but only one path, which is in itself a list of values. The X register is miscellaneous. All 3 hold a list of values (which are JSON tokens) | ||||
* | Adds parsing substitute commands, though executing them currently does nothing | Charlie Stanton | 2023-04-19 | 1 | -0/+8 |
| | |||||
* | Move JSON serialising, deserialising and walking code into a separate package | Charlie Stanton | 2023-02-19 | 1 | -18/+22 |
| | |||||
* | Adds some new commands | Charlie Stanton | 2022-09-21 | 1 | -4/+16 |
| | |||||
* | Refactors some stuff and adds lexing and parsing | Charlie Stanton | 2022-08-26 | 1 | -15/+69 |
| | |||||
* | Initial commit | Charlie Stanton | 2022-08-23 | 1 | -0/+38 |
No parsing yet, but the execution is not bad Commands: - Print value - Toggle terminal (switch between array and map) - Filter command Filters: - Path filter Path filters are compiled from a regex like AST |