<- Back to shtanton's homepage
summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Expressions inside stores are now subexes instead of regexesCharlie Stanton2022-12-224-18/+25
| | | | | This simplifies things by no longer needing a regex implementation It also enables transforming text as it is being read into a slot
* Adds try, maybe and join operators with !, ? and ; respectivelyCharlie Stanton2022-09-233-6/+79
|
* Initial commitCharlie Stanton2022-09-218-0/+624
Parses and executes substitute expressions (subexes) So far subex has the following operations: - Concatenation of a and b with ab - Or with | - Repeat maximally with * - Repeat minimally with - - Copy a specific character 'a' - Copy any character '.' - Store text matching a regex into slot 's': `$s(regex)` - Output text in "" including loading from slots with '$' Regexes support all the same operations as subexes minus storing and outputting This first implementation gives very little thought to efficiency Example: ./main 'according to all known laws of aviation' '$1(.-)$m(( .* )| ).*"$m$1"' This swaps the first and last words of the input string