spitewaste 0.1.002 → 0.1.003
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -6
- data/Rakefile +3 -2
- data/lib/spitewaste/parsers/spitewaste.rb +1 -1
- data/lib/spitewaste/version.rb +1 -1
- data/spitewaste.gemspec +17 -12
- metadata +59 -7
- 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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0b4f49809a688762a3b50dab64b93163e493aa75a33d2565b9892ec5ad8c9bc0
|
|
4
|
+
data.tar.gz: 6a06768b5a4edcf18ca0948900effd3c3fb01fbdea2e2da8d29080036870614f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 99cc02efffe8e2ddecf76b1b8578c4eb5e3a6c96b0cf1d46d063b9268507120a718835822f906739962a0b36262ae08328c610db3b37b0a777b3ff84d5e2df02
|
|
7
|
+
data.tar.gz: fa3425ae1c074a9a34f78bf110a7d8bb645b15205bb78f68787060e61c018cf63925c2c32d67bbf5ab0d4552c37727555dfcdd384824af2b6087c665bf969233
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
|
@@ -14,6 +14,7 @@ task :docs do |t|
|
|
|
14
14
|
lib = File.basename path, '.spw'
|
|
15
15
|
all_docs[lib] = extract_docs path
|
|
16
16
|
end
|
|
17
|
+
|
|
17
18
|
File.open('docs.json', ?w) { |f| JSON.dump all_docs, f }
|
|
18
19
|
end
|
|
19
20
|
|
|
@@ -35,8 +36,6 @@ def extract_docs path
|
|
|
35
36
|
docs
|
|
36
37
|
end
|
|
37
38
|
|
|
38
|
-
StackRx = /(?<=\[)[^\]]+(?=\])/
|
|
39
|
-
|
|
40
39
|
def strpack s
|
|
41
40
|
s.bytes.zip(0..).sum { |b, e| b * 128 ** e }
|
|
42
41
|
end
|
|
@@ -46,6 +45,8 @@ def parse_stack s
|
|
|
46
45
|
end
|
|
47
46
|
|
|
48
47
|
def parse_doc doc
|
|
48
|
+
StackRx = /(?<=\[)[^\]]+(?=\])/ # match [.+], but don't capture the brackets
|
|
49
|
+
|
|
49
50
|
# strip comment character and any implementation details
|
|
50
51
|
doc.gsub!(/; */, '').gsub!(/^!.+\n/, '')
|
|
51
52
|
|
data/lib/spitewaste/version.rb
CHANGED
data/spitewaste.gemspec
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
require_relative 'lib/spitewaste/version'
|
|
2
2
|
|
|
3
|
-
Gem::Specification.new do |
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
Gem::Specification.new do |s|
|
|
4
|
+
s.name = 'spitewaste'
|
|
5
|
+
s.version = Spitewaste::VERSION
|
|
6
|
+
s.author = 'Collided Scope (collidedscope)'
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
s.summary = 'Make programming in Whitespace even better.'
|
|
9
|
+
s.description = 'Spitewaste is a collection of tools that makes it almost too easy to read and write Whitespace programs.'
|
|
10
|
+
s.homepage = 'https://github.com/collidedscope/spitewaste'
|
|
11
|
+
s.license = 'WTFPL'
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
s.add_dependency 'rake', '~> 13.0.1'
|
|
14
|
+
s.add_dependency 'minitest', '~> 5.14.2'
|
|
15
|
+
s.add_dependency 'thor', '~> 1.0.1'
|
|
16
|
+
s.add_dependency 'oily_png', '~> 1.2.1'
|
|
17
|
+
|
|
18
|
+
s.files = `git ls-files`.split.reject { |f| f[/^(test|demo)/] }
|
|
19
|
+
s.bindir = 'bin'
|
|
20
|
+
s.executables = ['spw']
|
|
21
|
+
s.require_paths = ['lib']
|
|
17
22
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spitewaste
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.003
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Collided Scope (collidedscope)
|
|
@@ -9,9 +9,65 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
date: 2020-12-13 00:00:00.000000000 Z
|
|
12
|
-
dependencies:
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: rake
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: 13.0.1
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: 13.0.1
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: minitest
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 5.14.2
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: 5.14.2
|
|
41
|
+
- !ruby/object:Gem::Dependency
|
|
42
|
+
name: thor
|
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
|
44
|
+
requirements:
|
|
45
|
+
- - "~>"
|
|
46
|
+
- !ruby/object:Gem::Version
|
|
47
|
+
version: 1.0.1
|
|
48
|
+
type: :runtime
|
|
49
|
+
prerelease: false
|
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
+
requirements:
|
|
52
|
+
- - "~>"
|
|
53
|
+
- !ruby/object:Gem::Version
|
|
54
|
+
version: 1.0.1
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: oily_png
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: 1.2.1
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: 1.2.1
|
|
13
69
|
description: Spitewaste is a collection of tools that makes it almost too easy to
|
|
14
|
-
write Whitespace.
|
|
70
|
+
read and write Whitespace programs.
|
|
15
71
|
email:
|
|
16
72
|
executables:
|
|
17
73
|
- spw
|
|
@@ -24,10 +80,6 @@ files:
|
|
|
24
80
|
- Rakefile
|
|
25
81
|
- TUTORIAL.md
|
|
26
82
|
- bin/spw
|
|
27
|
-
- demo/factorial-nicespace.png
|
|
28
|
-
- demo/factorial.asm
|
|
29
|
-
- demo/factorial.png
|
|
30
|
-
- demo/factorial.wsa
|
|
31
83
|
- lib/spitewaste.rb
|
|
32
84
|
- lib/spitewaste/assembler.rb
|
|
33
85
|
- lib/spitewaste/cli.rb
|
|
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
|