spitewaste 0.1.002 → 0.1.003
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/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
|