<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix formatting in README.mdCharlie Stanton2023-04-261-1/+1
|
* Update subex , literal to no longer include terminalsCharlie Stanton2023-04-263-8/+8
|
* Slightly improve code quality of JSONIn.ReadCharlie Stanton2023-04-261-2/+1
|
* Refactor out from JSONIn.Read the code that pops the first value from the ↵Charlie Stanton2023-04-261-41/+28
| | | | readBuffer
* Update fillReadBuffer to use an empty structure as the root structure ↵Charlie Stanton2023-04-261-9/+10
| | | | instead of a dedicated JSONInRoot structure
* Improve the way state is tracked in fillReadBufferCharlie Stanton2023-04-261-74/+103
|
* Fix minor bug with a few cases where fillReadBuffer was returning the wrong ↵Charlie Stanton2023-04-261-2/+2
| | | | structure
* Improves RunTransducer by reusing state slices for states and newStatesCharlie Stanton2023-04-251-1/+4
|
* Replace readString in walk/read.go with a faster implementation that makes ↵Charlie Stanton2023-04-251-90/+100
| | | | better use of the buffer system
* Completely rewrites the JSON parser to make more extensive use of slices and ↵Charlie Stanton2023-04-252-137/+317
| | | | decrease the number mallocs
* Separates JSON parsing code into its own fileCharlie Stanton2023-04-252-278/+285
|
* Refactor Atom and Value code out of walk.go and into separate filesCharlie Stanton2023-04-253-174/+185
|
* Fixes more README formattingCharlie Stanton2023-04-251-2/+2
|
* Fix README markdown formattingCharlie Stanton2023-04-251-6/+6
|
* Adds a draft READMECharlie Stanton2023-04-251-0/+166
|
* Make state.path immutable so it can be a reference instead of copied, ↵Charlie Stanton2023-04-252-12/+1
| | | | improving performance
* Now uses a buffered output for writing to improve performanceCharlie Stanton2023-04-252-20/+24
|
* Improves performance of pruneStates by modifying states in placeCharlie Stanton2023-04-251-5/+7
|
* Refines storing and loading to use ids generated when the subex is compiled ↵Charlie Stanton2023-04-255-70/+120
| | | | instead of the runes
* Simplify the OutputStack, improves performance by simplifying from an ↵Charlie Stanton2023-04-241-25/+21
| | | | interface to a single struct
* Adds a check to end subex execution early if no viable branches remainCharlie Stanton2023-04-241-0/+3
|
* Improves performance of reading JSON stringsCharlie Stanton2023-04-241-42/+39
|
* WalkItems are now made of Atoms instead of WalkValues, and I have rolled my ↵Charlie Stanton2023-04-243-295/+417
| | | | | | own JSON parser and serialiser These changes improve performance
* Remove redundant subex/main.main functionCharlie Stanton2023-04-241-49/+0
|
* Replaces the interfaces implementation of Atom with a tagged union based ↵Charlie Stanton2023-04-215-82/+157
| | | | implementation
* Replace implementation of Atomise to improve performanceCharlie Stanton2023-04-211-16/+29
|
* All registers are now lists of atoms instead of lists of valuesCharlie Stanton2023-04-212-19/+30
| | | | This is to reduce the amount of translating between them that needs to be done
* Improves performance by being more explicit about memory allocation in walk.goCharlie Stanton2023-04-211-29/+32
|
* Changes the implementation of Atomise and Compound to no longer use goroutinesCharlie Stanton2023-04-214-123/+80
| | | | This results in a massive performance boost, ~4x speedup
* Add :xyz: replacement syntax that removes whatever is before it and inserts ↵Charlie Stanton2023-04-213-5/+41
| | | | whatever is inside it
* Adds String methods to all SubexASTs for debugging purposesCharlie Stanton2023-04-211-0/+51
|
* Add a and A commands for global substitutionCharlie Stanton2023-04-212-4/+12
|
* Radically changes precedences so concatenation is now the strongestCharlie Stanton2023-04-211-13/+13
| | | | We'll see if this sticks
* Add ^xyz^ as a shorthand for ="xyz"= in subexCharlie Stanton2023-04-212-8/+19
|
* Add subex syntax to copy across booleans, numbers, strings and valuesCharlie Stanton2023-04-213-1/+137
|
* Adds some shorthands for substituting the beginning and end of the path registerCharlie Stanton2023-04-202-16/+53
|
* Properly exports all SubexASTsCharlie Stanton2023-04-202-59/+59
|
* Replaces the inflexible delete all with separate DeleteValue and DeletePath ↵Charlie Stanton2023-04-202-4/+10
| | | | commands
* Add ~xyz~ shorthand for =`xyz`=Charlie Stanton2023-04-201-1/+10
|
* Add a shorthand for subexes that start and end with `, ~, = or "Charlie Stanton2023-04-201-1/+7
|
* Fix bug that would crash if given an empty subexCharlie Stanton2023-04-201-1/+5
|
* Remove the @, ~ and # syntax for terminal literalsCharlie Stanton2023-04-201-30/+0
|
* Replaces the start and end terminals of strings with a single terminal, with ↵Charlie Stanton2023-04-202-16/+17
| | | | " as a literal for it
* Change output syntax to =xyz= instead of "xyz"Charlie Stanton2023-04-201-3/+3
| | | | This frees up " to be used for a string terminal literal
* Adds a substitute path command: SCharlie Stanton2023-04-203-52/+44
|
* Adds non-string literal syntax to subexCharlie Stanton2023-04-202-0/+89
|
* Remove filters and various commands that are no longer wantedCharlie Stanton2023-04-206-720/+4
| | | | These have all been made redundant by the incredible substitute command
* Remove the need for a semicolon after each commandCharlie Stanton2023-04-202-11/+3
|
* Add commands to append to and swap with the path and X registersCharlie Stanton2023-04-202-1/+33
|
* Adds the noop command 'o'Charlie Stanton2023-04-191-0/+2
|