blob: d00a97ba2d232799aa583e982d6d8de071b7af77 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
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: [], <>, #<>, 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>
|