aboutsummaryrefslogtreecommitdiff
path: root/meta.rip
diff options
context:
space:
mode:
Diffstat (limited to 'meta.rip')
-rw-r--r--meta.rip64
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>