diff options
Diffstat (limited to 'meta.rip')
-rw-r--r-- | meta.rip | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/meta.rip b/meta.rip new file mode 100644 index 0000000..9f5107b --- /dev/null +++ b/meta.rip @@ -0,0 +1,64 @@ +#<stdlib.rip> +<varinit> + +'l 0 <varstore> 0I[stack length storage] +F<add_l>['l<varhaulup>3Ra<varstore>] +F<sub_l>['l<varhaulup>3Rs<varstore>] +F<inc_l>[1<add_l>] +F<dec_l>[1<sub_l>] +F<get_l>['l<varget>] + +0I[executes a piece of rip code, potentially recursively calling itself] +0I[TODO: [], <>, 'c, #<>, IWCwtcF$] +F<execrip>[ + DW[ + D<strlast>S<strinit>S + DD'0LnS'9GnmI[ 0I[0-9] + '0sS + <inc_l> + 0] + D'PEI[P SP <dec_l> 0] + D'SEI[P 3RS 0] + D'DEI[P SD3R <inc_l> 0] + D'iEI[P SiS 0] + D'dEI[P SdS 0] + D'lEI[P <get_l>S 0] + D'rEI[P lr r lR 0] + D'REI[P lr R lR 0] + D'aEI[P 3raS <dec_l> 0] + D'sEI[P 3rsS <dec_l> 0] + D'mEI[P 3rmS <dec_l> 0] + D'qEI[P 3rqS <dec_l> 0] + D'MEI[P 3rMS <dec_l> 0] + D'pEI[P 3rpS <dec_l> 0] + D'GEI[P 3rGS <dec_l> 0] + D'LEI[P 3rLS <dec_l> 0] + D'EEI[P 3rES <dec_l> 0] + D'nEI[P SnS 0] + D'oEI[P So <dec_l> 0] + D'OEI[P SO <dec_l> 0] + D'gEI[P gS <inc_l> 0] + D''EI[P D<strlast> S <strinit> 0] + D<isspace>I[P 0] + DI[ + 'ro 'io 'po ':o ' o $ P + 0] + P + D] +] + +0I[pushes whether argument is space, tab or newline] +F<isspace>[ + D' ESD9ES9iEaann +] + + +0I[Read all the code in a string] +0 +gDiW[ + <strpush> +gDi] +P + +<strrev> +<execrip> |