<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/subex/parse.go
Commit message (Collapse)AuthorAgeFilesLines
* Completely remove the path spaceCharlie Stanton2024-03-291-75/+87
| | | | The new design uses deeply nested values in the value space instead.
* Adds an incredibly simple equality operatorCharlie Stanton2023-07-211-1/+3
|
* Reimplements inserting basic values using subexesCharlie Stanton2023-07-211-65/+63
|
* Fixes JSONWriter to work with implicit data structuresCharlie Stanton2023-07-211-0/+1
|
* Removes lots of old atom based code from walkCharlie Stanton2023-07-191-11/+0
|
* Huge refactor to a more value based system, doing away with terminals. Also ↵Charlie Stanton2023-07-191-138/+157
| | | | introduces unit testing
* Refines storing and loading to use ids generated when the subex is compiled ↵Charlie Stanton2023-04-251-9/+9
| | | | instead of the runes
* Replaces the interfaces implementation of Atom with a tagged union based ↵Charlie Stanton2023-04-211-20/+20
| | | | implementation
* Add :xyz: replacement syntax that removes whatever is before it and inserts ↵Charlie Stanton2023-04-211-5/+15
| | | | whatever is inside it
* 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-211-7/+18
|
* Add subex syntax to copy across booleans, numbers, strings and valuesCharlie Stanton2023-04-211-1/+11
|
* Properly exports all SubexASTsCharlie Stanton2023-04-201-7/+7
|
* Add ~xyz~ shorthand for =`xyz`=Charlie Stanton2023-04-201-1/+10
|
* 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-201-1/+11
| | | | " 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 non-string literal syntax to subexCharlie Stanton2023-04-201-0/+83
|
* Changes the parsing API for subex to be more suitable to being part of a ↵Charlie Stanton2023-04-191-40/+51
| | | | larger program
* Adds a dummy method to atom so the compiler checks that only valid atoms are ↵Charlie Stanton2023-04-191-6/+6
| | | | allowed
* Adds the NOT operatorCharlie Stanton2023-04-191-0/+2
|
* Adds the reciprocal operatorCharlie Stanton2023-04-191-0/+2
|
* Adds the negate operatorCharlie Stanton2023-04-191-0/+2
| | | | Negates all of the numbers produced by its content subex
* Adds product/and operatorCharlie Stanton2023-04-191-0/+2
|
* Changes parser so the storing operator is postfix instead of prefixCharlie Stanton2023-04-191-14/+10
|
* Adds the sum operatorCharlie Stanton2023-04-181-9/+4
| | | | Currently doesn't parse strings as each atom is considered independantly. Instead individual characters in strings can be cast
* Removes try, maybe, maximise and minimiseCharlie Stanton2023-04-181-9/+1
| | | | These are no longer necessary and have been replaced by repeat
* Adds the repeat construct, obsoleting maximise, minimise, try, maybe and ↵Charlie Stanton2023-04-181-1/+75
| | | | | | probably more The repeat construct repeats a subex a number of times, this number is based on a provided list which is ordered by priority and can be unbounded.
* Renames TransducerOutput to OutputContent (and related types) and moves into ↵Charlie Stanton2023-03-051-4/+4
| | | | main/subexstate.go
* Changes the slot map so only runes can be used as slotsCharlie Stanton2023-03-051-1/+1
|
* Renames walk.Datum to walk.AtomCharlie Stanton2023-03-051-18/+18
|
* Refactors out terminator literal stuff into a separate parsing functionCharlie Stanton2023-03-051-117/+37
|
* Adds syntax to recognise and deal with starting and ending arrays, maps and ↵Charlie Stanton2023-02-261-0/+123
| | | | strings
* Modify subex to take JSON split into "data"Charlie Stanton2023-02-221-19/+22
| | | | | | 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
* Introduces subex processingCharlie Stanton2023-02-191-0/+175
Doesn't integrate it at all yet