Perl interpreter for esolang 1.1
More info can be found at: https://esolangs.org/wiki/1.1
Can be run from the commandline in the form: perl main.pl <commandline args> <scriptfile>
I have created a very simple batch script for Windows so you can run 1p1 <commandline args> <scriptfile> instead.
Creating other equally simple shell scripts should not be a problem.
-D= Turn on debug mode.
The first line should be:
1|<starting buffer or nothing>
1being the number of the state followed by a pipe|then the starting buffer.- If the starting buffer is empty, it takes the starting buffer from STDIN.
The rest of the lines should be in the form:
#1|<needle>|<replacement>|#t|#f
#1is the state number (this should correspond to the line number in the file.)<needle>is the string to search the buffer for (without the brackets).<replacement>is the string to replace the<needle>if the<needle>is found.<#t>is the state number to jump to if<needle>is found.<#f>is the state number to jump to if<needle>is NOT found.
The last line must be in the form:
#|Halt
#being the final state number
These are included in this repo.
1|Good morning you!
2|Good morning|Hello|3|4
3|you|World|4|4
4|halt
- The buffer is set to
Good morning you!. Good morningis found and replaced byHello.youis found and relaced byWorld.haltstops the program.
1|
2|HALT
A conversion of the Thue example
1|_11_
2|1_|1++|2|3
3|0_|1|3|4
4|01++|10|4|5
5|11++|1++0|5|6
6|_0|_|6|7
7|_1++|10|7|8
8|HALT
Also a conversion of the Thue example
1|**************
2|*|I|2|3
3|IIIII|V|3|4
4|IIII|IV|4|5
5|VV|X|5|6
6|XXXXX|L|6|7
7|XXXX|XL|7|8
8|LL|C|8|9
9|LXL|XC|9|10
10|CCCCC|D|10|11
11|CCCC|CD|11|12
12|DD|M|12|13
13|DCD|CM|13|14
14|HALT