<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Removes lots of old atom based code from walkCharlie Stanton2023-07-194-360/+0
|
* Removes redundant json readers and writersCharlie Stanton2023-07-194-910/+0
|
* Huge refactor to a more value based system, doing away with terminals. Also ↵Charlie Stanton2023-07-1923-643/+2105
| | | | introduces unit testing
* Adds the json_array IO formatCharlie Stanton2023-05-124-3/+289
|
* Move reading and writing of tokens into a separate package to prepare for ↵Charlie Stanton2023-05-127-633/+676
| | | | other input and output formats
* Document branchingCharlie Stanton2023-04-261-0/+2
|
* Add labels and branches with the : and b commandsCharlie Stanton2023-04-263-2/+54
|
* Store stred programs as a flat list of commands with no nesting, using a new ↵Charlie Stanton2023-04-263-56/+114
| | | | jump command to simulate command blocks
* Fix README mistakeCharlie Stanton2023-04-261-2/+2
|
* Fix README formattingCharlie Stanton2023-04-261-2/+2
|
* Clarify part of the example in READMECharlie Stanton2023-04-261-0/+1
|
* Adds a worked example to the READMECharlie Stanton2023-04-261-0/+105
|
* Add Y and Z registersCharlie Stanton2023-04-264-3/+39
|
* 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
|