Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add substitute next commands | Charlie Stanton | 2024-04-21 | 5 | -16/+124 |
| | |||||
* | Add merge command | Charlie Stanton | 2024-04-07 | 3 | -0/+41 |
| | |||||
* | Change output subex internals to allow structures | Charlie Stanton | 2024-04-07 | 5 | -21/+265 |
| | | | | Also add substitute register syntactic sugar | ||||
* | Add main tests | Charlie Stanton | 2024-03-30 | 2 | -24/+80 |
| | |||||
* | Completely remove the path space | Charlie Stanton | 2024-03-29 | 3 | -84/+19 |
| | | | | The new design uses deeply nested values in the value space instead. | ||||
* | Huge refactor to a more value based system, doing away with terminals. Also ↵ | Charlie Stanton | 2023-07-19 | 4 | -62/+14 |
| | | | | introduces unit testing | ||||
* | Adds the json_array IO format | Charlie Stanton | 2023-05-12 | 1 | -3/+3 |
| | |||||
* | Move reading and writing of tokens into a separate package to prepare for ↵ | Charlie Stanton | 2023-05-12 | 2 | -12/+15 |
| | | | | other input and output formats | ||||
* | Add labels and branches with the : and b commands | Charlie Stanton | 2023-04-26 | 3 | -2/+54 |
| | |||||
* | Store stred programs as a flat list of commands with no nesting, using a new ↵ | Charlie Stanton | 2023-04-26 | 3 | -56/+114 |
| | | | | jump command to simulate command blocks | ||||
* | Add Y and Z registers | Charlie Stanton | 2023-04-26 | 3 | -1/+33 |
| | |||||
* | 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 | ||||
* | Now uses a buffered output for writing to improve performance | Charlie Stanton | 2023-04-25 | 1 | -1/+2 |
| | |||||
* | 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 | 2 | -49/+38 |
| | | | | | | 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 | 2 | -19/+30 |
| | | | | 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 | ||||
* | Add a and A commands for global substitution | Charlie Stanton | 2023-04-21 | 2 | -4/+12 |
| | |||||
* | Add ^xyz^ as a shorthand for ="xyz"= in subex | Charlie Stanton | 2023-04-21 | 1 | -1/+1 |
| | |||||
* | Adds some shorthands for substituting the beginning and end of the path register | Charlie Stanton | 2023-04-20 | 2 | -16/+53 |
| | |||||
* | Replaces the inflexible delete all with separate DeleteValue and DeletePath ↵ | Charlie Stanton | 2023-04-20 | 2 | -4/+10 |
| | | | | commands | ||||
* | Add a shorthand for subexes that start and end with `, ~, = or " | Charlie Stanton | 2023-04-20 | 1 | -1/+7 |
| | |||||
* | Adds a substitute path command: S | Charlie Stanton | 2023-04-20 | 3 | -52/+44 |
| | |||||
* | Remove filters and various commands that are no longer wanted | Charlie Stanton | 2023-04-20 | 6 | -720/+4 |
| | | | | These have all been made redundant by the incredible substitute command | ||||
* | Remove the need for a semicolon after each command | Charlie Stanton | 2023-04-20 | 2 | -11/+3 |
| | |||||
* | Add commands to append to and swap with the path and X registers | Charlie Stanton | 2023-04-20 | 2 | -1/+33 |
| | |||||
* | Adds the noop command 'o' | Charlie Stanton | 2023-04-19 | 1 | -0/+2 |
| | |||||
* | Upgrades the substitute command to also act as a filter | Charlie Stanton | 2023-04-19 | 2 | -4/+20 |
| | | | | 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 | 2 | -28/+34 |
| | | | | | | 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 | 4 | -5/+58 |
| | |||||
* | Modify subex to take JSON split into "data" | Charlie Stanton | 2023-02-22 | 1 | -13/+1 |
| | | | | | | Currently no way to reassemble the data on the other side Much of the potential data cannot be interacted with meaningfully, only the string functionality is implemented Should rename data to something else | ||||
* | Move JSON serialising, deserialising and walking code into a separate package | Charlie Stanton | 2023-02-19 | 6 | -381/+80 |
| | |||||
* | Removes obsolete subex code from main/main.go | Charlie Stanton | 2023-02-19 | 1 | -580/+0 |
| | |||||
* | Introduces subex processing | Charlie Stanton | 2023-02-19 | 1 | -4/+5 |
| | | | | Doesn't integrate it at all yet | ||||
* | Adds the or operator | | Charlie Stanton | 2022-09-21 | 1 | -2/+34 |
| | |||||
* | Implements the first version of subex | Charlie Stanton | 2022-09-21 | 1 | -0/+564 |
| | |||||
* | Adds some new commands | Charlie Stanton | 2022-09-21 | 4 | -16/+309 |
| | |||||
* | Adds new filters | Charlie Stanton | 2022-08-27 | 3 | -41/+87 |
| | | | | | | | | - Begin terminals - End terminals - All terminals - Negate - AND | ||||
* | Adds a bunch of new path pattern features | Charlie Stanton | 2022-08-26 | 4 | -44/+101 |
| | | | | | | - Bracketting in expressions - OR with | - Optional with ? | ||||
* | Refactors some stuff and adds lexing and parsing | Charlie Stanton | 2022-08-26 | 8 | -123/+593 |
| | |||||
* | Initial commit | Charlie Stanton | 2022-08-23 | 5 | -0/+588 |
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 |