2023-04-26 14:04 | Document branching | Charlie Stanton | 1 | +2 | -0 |
2023-04-26 14:02 | Add labels and branches with the : and b commands | Charlie Stanton | 3 | +54 | -2 |
2023-04-26 13:41 | Store stred programs as a flat list of commands with no nesting, using a new jump command to simulate command blocks | Charlie Stanton | 3 | +114 | -56 |
2023-04-26 12:01 | Fix README mistake | Charlie Stanton | 1 | +2 | -2 |
2023-04-26 12:00 | Fix README formatting | Charlie Stanton | 1 | +2 | -2 |
2023-04-26 11:56 | Clarify part of the example in README | Charlie Stanton | 1 | +1 | -0 |
2023-04-26 11:52 | Adds a worked example to the README | Charlie Stanton | 1 | +105 | -0 |
2023-04-26 10:57 | Add Y and Z registers | Charlie Stanton | 4 | +39 | -3 |
2023-04-26 10:06 | Fix formatting in README.md | Charlie Stanton | 1 | +1 | -1 |
2023-04-26 10:04 | Update subex , literal to no longer include terminals | Charlie Stanton | 3 | +8 | -8 |
2023-04-26 09:58 | Slightly improve code quality of JSONIn.Read | Charlie Stanton | 1 | +1 | -2 |
2023-04-26 09:40 | Refactor out from JSONIn.Read the code that pops the first value from the readBuffer | Charlie Stanton | 1 | +28 | -41 |
2023-04-26 09:35 | Update fillReadBuffer to use an empty structure as the root structure instead of a dedicated JSONInRoot structure | Charlie Stanton | 1 | +10 | -9 |
2023-04-26 09:30 | Improve the way state is tracked in fillReadBuffer | Charlie Stanton | 1 | +103 | -74 |
2023-04-26 08:24 | Fix minor bug with a few cases where fillReadBuffer was returning the wrong structure | Charlie Stanton | 1 | +2 | -2 |
2023-04-25 17:33 | Improves RunTransducer by reusing state slices for states and newStates | Charlie Stanton | 1 | +4 | -1 |
2023-04-25 16:42 | Replace readString in walk/read.go with a faster implementation that makes better use of the buffer system | Charlie Stanton | 1 | +100 | -90 |
2023-04-25 16:27 | Completely rewrites the JSON parser to make more extensive use of slices and decrease the number mallocs | Charlie Stanton | 2 | +317 | -137 |
2023-04-25 13:20 | Separates JSON parsing code into its own file | Charlie Stanton | 2 | +285 | -278 |
2023-04-25 12:55 | Refactor Atom and Value code out of walk.go and into separate files | Charlie Stanton | 3 | +185 | -174 |
2023-04-25 12:28 | Fixes more README formatting | Charlie Stanton | 1 | +2 | -2 |
2023-04-25 12:25 | Fix README markdown formatting | Charlie Stanton | 1 | +6 | -6 |
2023-04-25 12:18 | Adds a draft README | Charlie Stanton | 1 | +166 | -0 |
2023-04-25 09:20 | Make state.path immutable so it can be a reference instead of copied, improving performance | Charlie Stanton | 2 | +1 | -12 |
2023-04-25 08:56 | Now uses a buffered output for writing to improve performance | Charlie Stanton | 2 | +24 | -20 |
2023-04-25 08:48 | Improves performance of pruneStates by modifying states in place | Charlie Stanton | 1 | +7 | -5 |
2023-04-25 08:26 | Refines storing and loading to use ids generated when the subex is compiled instead of the runes | Charlie Stanton | 5 | +120 | -70 |
2023-04-24 18:28 | Simplify the OutputStack, improves performance by simplifying from an interface to a single struct | Charlie Stanton | 1 | +21 | -25 |
2023-04-24 18:12 | Adds a check to end subex execution early if no viable branches remain | Charlie Stanton | 1 | +3 | -0 |
2023-04-24 18:02 | Improves performance of reading JSON strings | Charlie Stanton | 1 | +39 | -42 |
2023-04-24 12:16 | WalkItems are now made of Atoms instead of WalkValues, and I have rolled my own JSON parser and serialiser | Charlie Stanton | 3 | +417 | -295 |
2023-04-24 12:09 | Remove redundant subex/main.main function | Charlie Stanton | 1 | +0 | -49 |
2023-04-21 15:22 | Replaces the interfaces implementation of Atom with a tagged union based implementation | Charlie Stanton | 5 | +157 | -82 |
2023-04-21 14:31 | Replace implementation of Atomise to improve performance | Charlie Stanton | 1 | +29 | -16 |
2023-04-21 14:17 | All registers are now lists of atoms instead of lists of values | Charlie Stanton | 2 | +30 | -19 |
2023-04-21 13:25 | Improves performance by being more explicit about memory allocation in walk.go | Charlie Stanton | 1 | +32 | -29 |
2023-04-21 11:51 | Changes the implementation of Atomise and Compound to no longer use goroutines | Charlie Stanton | 4 | +80 | -124 |
2023-04-21 10:19 | Add :xyz: replacement syntax that removes whatever is before it and inserts whatever is inside it | Charlie Stanton | 3 | +41 | -5 |
2023-04-21 10:18 | Adds String methods to all SubexASTs for debugging purposes | Charlie Stanton | 1 | +51 | -0 |
2023-04-21 09:42 | Add a and A commands for global substitution | Charlie Stanton | 2 | +12 | -4 |
2023-04-21 09:26 | Radically changes precedences so concatenation is now the strongest | Charlie Stanton | 1 | +13 | -13 |
2023-04-21 09:06 | Add ^xyz^ as a shorthand for ="xyz"= in subex | Charlie Stanton | 2 | +19 | -8 |
2023-04-21 08:53 | Add subex syntax to copy across booleans, numbers, strings and values | Charlie Stanton | 3 | +137 | -1 |
2023-04-20 15:57 | Adds some shorthands for substituting the beginning and end of the path register | Charlie Stanton | 2 | +53 | -16 |
2023-04-20 14:31 | Properly exports all SubexASTs | Charlie Stanton | 2 | +59 | -59 |
2023-04-20 13:48 | Replaces the inflexible delete all with separate DeleteValue and DeletePath commands | Charlie Stanton | 2 | +10 | -4 |
2023-04-20 13:30 | Add ~xyz~ shorthand for =`xyz`= | Charlie Stanton | 1 | +10 | -1 |
2023-04-20 13:20 | Add a shorthand for subexes that start and end with `, ~, = or " | Charlie Stanton | 1 | +7 | -1 |
2023-04-20 13:08 | Fix bug that would crash if given an empty subex | Charlie Stanton | 1 | +5 | -1 |
2023-04-20 12:57 | Remove the @, ~ and # syntax for terminal literals | Charlie Stanton | 1 | +0 | -30 |
2023-04-20 11:33 | Replaces the start and end terminals of strings with a single terminal, with " as a literal for it | Charlie Stanton | 2 | +17 | -16 |
2023-04-20 11:31 | Change output syntax to =xyz= instead of "xyz" | Charlie Stanton | 1 | +3 | -3 |
2023-04-20 11:05 | Adds a substitute path command: S | Charlie Stanton | 3 | +44 | -52 |
2023-04-20 10:42 | Adds non-string literal syntax to subex | Charlie Stanton | 2 | +89 | -0 |
2023-04-20 08:59 | Remove filters and various commands that are no longer wanted | Charlie Stanton | 6 | +4 | -721 |
2023-04-20 08:36 | Remove the need for a semicolon after each command | Charlie Stanton | 2 | +3 | -11 |
2023-04-20 08:25 | Add commands to append to and swap with the path and X registers | Charlie Stanton | 2 | +34 | -2 |
2023-04-19 16:05 | Adds the noop command 'o' | Charlie Stanton | 1 | +2 | -0 |
2023-04-19 16:02 | Adds casting all other types to strings by simply putting them in a string | Charlie Stanton | 1 | +8 | -0 |
2023-04-19 15:54 | Upgrades the substitute command to also act as a filter | Charlie Stanton | 2 | +21 | -5 |
2023-04-19 15:25 | Implements subex substitutions for the value register | Charlie Stanton | 1 | +17 | -1 |
2023-04-19 15:00 | Replaces the workspace with 3 distinct registers: path, value and xreg | Charlie Stanton | 3 | +65 | -28 |
2023-04-19 14:19 | Adds parsing substitute commands, though executing them currently does nothing | Charlie Stanton | 5 | +66 | -5 |
2023-04-19 13:34 | Changes the parsing API for subex to be more suitable to being part of a larger program | Charlie Stanton | 3 | +60 | -54 |
2023-04-19 13:13 | Adds a dummy method to atom so the compiler checks that only valid atoms are allowed | Charlie Stanton | 2 | +27 | -11 |
2023-04-19 12:58 | Adds the NOT operator | Charlie Stanton | 3 | +41 | -0 |
2023-04-19 12:48 | Adds the reciprocal operator | Charlie Stanton | 3 | +51 | -0 |
2023-04-19 12:47 | Fixes internal error messages for arithmetic functions | Charlie Stanton | 1 | +4 | -4 |
2023-04-19 12:23 | Adds the negate operator | Charlie Stanton | 3 | +49 | -0 |
2023-04-19 12:10 | Combines sum and product into an arithmetic state that contains a function for it's operation | Charlie Stanton | 3 | +101 | -115 |
2023-04-19 11:59 | Adds product/and operator | Charlie Stanton | 3 | +87 | -22 |
2023-04-19 11:41 | Adjusts the sum operator to act as boolean OR when all inputs are booleans | Charlie Stanton | 1 | +15 | -5 |
2023-04-19 11:31 | Replaces a few instances of SubexStates with pointers as they should be | Charlie Stanton | 2 | +2 | -2 |
2023-04-19 11:22 | Changes parser so the storing operator is postfix instead of prefix | Charlie Stanton | 1 | +10 | -14 |
2023-04-19 10:18 | Replaces the parent/child implementation for operators like store and sum with an output stack | Charlie Stanton | 3 | +119 | -168 |
2023-04-19 08:48 | Adds casting strings to numbers in the sum operator | Charlie Stanton | 3 | +109 | -31 |
2023-04-18 16:07 | Creates functions for compounding atoms back into values in the walk module and uses them in subex/main | Charlie Stanton | 2 | +99 | -73 |
2023-04-18 15:35 | Refactors store and sum states to use the new SubexParentState for states that run machines within themselves | Charlie Stanton | 1 | +104 | -53 |
2023-04-18 15:00 | Fixes bug where stores wouldn't work inside other stores sometimes | Charlie Stanton | 1 | +1 | -1 |
2023-04-18 14:07 | Adds the sum operator | Charlie Stanton | 3 | +78 | -9 |
2023-04-18 13:04 | Removes try, maybe, maximise and minimise | Charlie Stanton | 2 | +1 | -63 |
2023-04-18 11:47 | Adds the repeat construct, obsoleting maximise, minimise, try, maybe and probably more | Charlie Stanton | 3 | +151 | -12 |
2023-03-15 20:58 | Fix bug where SubexStoreState is sometimes not a pointer | Charlie Stanton | 1 | +1 | -1 |
2023-03-15 20:11 | Fixes strings being wrapped in quotes twice when outputting | Charlie Stanton | 1 | +2 | -2 |
2023-03-05 10:00 | Renames TransducerOutput to OutputContent (and related types) and moves into main/subexstate.go | Charlie Stanton | 4 | +28 | -29 |
2023-03-05 09:11 | Changes the slot map so only runes can be used as slots | Charlie Stanton | 2 | +5 | -7 |
2023-03-05 09:08 | Renames walk.Datum to walk.Atom | Charlie Stanton | 5 | +114 | -98 |
2023-03-05 08:39 | Refactors out terminator literal stuff into a separate parsing function | Charlie Stanton | 1 | +37 | -117 |
2023-02-26 10:04 | Adds syntax to recognise and deal with starting and ending arrays, maps and strings | Charlie Stanton | 1 | +123 | -0 |
2023-02-26 09:37 | Replace append with walk.ConcatData in many places to fix bug to do with semantics of append | Charlie Stanton | 3 | +11 | -7 |
2023-02-26 08:57 | Converts subex output back into WalkValues and prints for easier debugging | Charlie Stanton | 2 | +92 | -3 |
2023-02-22 20:52 | Modify subex to take JSON split into "data" | Charlie Stanton | 6 | +167 | -100 |
2023-02-19 09:27 | Move JSON serialising, deserialising and walking code into a separate package | Charlie Stanton | 7 | +396 | -381 |
2023-02-19 09:13 | Removes obsolete subex code from main/main.go | Charlie Stanton | 1 | +0 | -580 |
2023-02-19 08:59 | Introduces subex processing | Charlie Stanton | 6 | +636 | -4 |
2022-09-21 19:44 | Adds the or operator | | Charlie Stanton | 1 | +34 | -2 |
2022-09-21 18:37 | Implements the first version of subex | Charlie Stanton | 1 | +564 | -0 |
2022-09-21 18:37 | Adds some new commands | Charlie Stanton | 4 | +309 | -16 |
2022-08-27 17:11 | Adds new filters | Charlie Stanton | 3 | +87 | -41 |
2022-08-26 17:15 | Adds a bunch of new path pattern features | Charlie Stanton | 4 | +101 | -44 |
2022-08-26 10:51 | Refactors some stuff and adds lexing and parsing | Charlie Stanton | 8 | +594 | -123 |
2022-08-23 21:09 | Initial commit | Charlie Stanton | 6 | +593 | -0 |