| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Ranges of characters can be mapped with []
For example, capitalisation of a letter: [a-z=A-Z]
Caesar cipher shift of 1: [a-zA-Z=b-zaB-ZA]
|
| |
|
|
|
|
| |
ever reach the front of the state priority queue.
|
|
|
|
|
| |
This simplifies things by no longer needing a regex implementation
It also enables transforming text as it is being read into a slot
|
| |
|
|
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
|