spitewaste 0.1.001 → 0.1.006
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +1 -6
- data/LICENSE +13 -0
- data/README.md +2 -5
- data/Rakefile +75 -2
- data/TUTORIAL.md +1 -1
- data/bin/spw +1 -0
- data/lib/spitewaste.rb +1 -1
- data/lib/spitewaste/assembler.rb +4 -4
- data/lib/spitewaste/cli.rb +21 -19
- data/lib/spitewaste/cli/asm.rb +2 -0
- data/lib/spitewaste/cli/compile.rb +2 -0
- data/lib/spitewaste/cli/convert.rb +2 -0
- data/lib/spitewaste/cli/docs.rb +51 -0
- data/lib/spitewaste/cli/exec.rb +12 -13
- data/lib/spitewaste/cli/image.rb +2 -0
- data/lib/spitewaste/emitters/assembly.rb +1 -1
- data/lib/spitewaste/libspw/array.spw +75 -20
- data/lib/spitewaste/libspw/bits.spw +70 -68
- data/lib/spitewaste/libspw/case.spw +34 -26
- data/lib/spitewaste/libspw/docs.json +1 -0
- data/lib/spitewaste/libspw/fun.spw +40 -24
- data/lib/spitewaste/libspw/io.spw +2 -0
- data/lib/spitewaste/libspw/math.spw +120 -79
- data/lib/spitewaste/libspw/prime.spw +3 -2
- data/lib/spitewaste/libspw/random.spw +2 -0
- data/lib/spitewaste/libspw/rational.spw +153 -0
- data/lib/spitewaste/libspw/stack.spw +54 -30
- data/lib/spitewaste/libspw/string.spw +228 -92
- data/lib/spitewaste/libspw/test.spw +3 -0
- data/lib/spitewaste/libspw/util.spw +97 -41
- data/lib/spitewaste/parsers/fucktional.rb +1 -0
- data/lib/spitewaste/parsers/spitewaste.rb +25 -19
- data/lib/spitewaste/version.rb +1 -1
- data/spitewaste.gemspec +17 -12
- metadata +64 -8
- data/demo/factorial-nicespace.png +0 -0
- data/demo/factorial.asm +0 -47
- data/demo/factorial.png +0 -0
- data/demo/factorial.wsa +0 -5
Binary file
|
data/demo/factorial.asm
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
label 0
|
2
|
-
push 6
|
3
|
-
call 1
|
4
|
-
onum
|
5
|
-
exit
|
6
|
-
label 1
|
7
|
-
push 1
|
8
|
-
swap
|
9
|
-
call 4
|
10
|
-
dup
|
11
|
-
dup
|
12
|
-
dup
|
13
|
-
push 2
|
14
|
-
sub
|
15
|
-
jn 3
|
16
|
-
pop
|
17
|
-
push -9
|
18
|
-
swap
|
19
|
-
push 1
|
20
|
-
sub
|
21
|
-
store
|
22
|
-
label 2
|
23
|
-
mul
|
24
|
-
push -9
|
25
|
-
dup
|
26
|
-
load
|
27
|
-
push 1
|
28
|
-
sub
|
29
|
-
dup
|
30
|
-
jz 3
|
31
|
-
store
|
32
|
-
jump 2
|
33
|
-
label 3
|
34
|
-
pop
|
35
|
-
pop
|
36
|
-
ret
|
37
|
-
label 4
|
38
|
-
copy 1
|
39
|
-
push 1
|
40
|
-
add
|
41
|
-
swap
|
42
|
-
copy 1
|
43
|
-
copy 1
|
44
|
-
sub
|
45
|
-
jn 4
|
46
|
-
pop
|
47
|
-
ret
|
data/demo/factorial.png
DELETED
Binary file
|
data/demo/factorial.wsa
DELETED
@@ -1,5 +0,0 @@
|
|
1
|
-
main: push 6 call factorial onum exit
|
2
|
-
factorial: push 1 swap call range dup dup dup push 2 sub jn reduce_done_a pop push -9 swap push 1 sub store
|
3
|
-
reduce_loop_a: mul push -9 dup load push 1 sub dup jz reduce_done_a store jump reduce_loop_a
|
4
|
-
reduce_done_a: pop pop ret
|
5
|
-
range: copy 1 push 1 add swap copy 1 copy 1 sub jn range pop ret
|