img_to_script 1.0.0
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 +7 -0
- data/.rubocop.yml +25 -0
- data/.vscode/launch.json +21 -0
- data/CHANGELOG.md +7 -0
- data/LICENSE.txt +21 -0
- data/README.md +271 -0
- data/Rakefile +16 -0
- data/img_to_script.gemspec +41 -0
- data/lib/img_to_script/abs_token_type.rb +33 -0
- data/lib/img_to_script/abstract_token/abs_func.rb +19 -0
- data/lib/img_to_script/abstract_token/abstract_token.rb +23 -0
- data/lib/img_to_script/abstract_token/assign_value.rb +20 -0
- data/lib/img_to_script/abstract_token/clear_screen.rb +16 -0
- data/lib/img_to_script/abstract_token/data_read.rb +19 -0
- data/lib/img_to_script/abstract_token/data_store.rb +19 -0
- data/lib/img_to_script/abstract_token/draw_chunk_by_hex_value.rb +19 -0
- data/lib/img_to_script/abstract_token/draw_line_by_abs_coords.rb +22 -0
- data/lib/img_to_script/abstract_token/draw_pixel_by_abs_coords.rb +20 -0
- data/lib/img_to_script/abstract_token/go_to.rb +19 -0
- data/lib/img_to_script/abstract_token/if_condition.rb +20 -0
- data/lib/img_to_script/abstract_token/loop_begin.rb +21 -0
- data/lib/img_to_script/abstract_token/loop_end.rb +19 -0
- data/lib/img_to_script/abstract_token/math_add.rb +20 -0
- data/lib/img_to_script/abstract_token/math_greater_than.rb +20 -0
- data/lib/img_to_script/abstract_token/math_mult.rb +20 -0
- data/lib/img_to_script/abstract_token/math_sub.rb +20 -0
- data/lib/img_to_script/abstract_token/move_point_to_abs_coords.rb +20 -0
- data/lib/img_to_script/abstract_token/parentheses.rb +19 -0
- data/lib/img_to_script/abstract_token/program_begin.rb +16 -0
- data/lib/img_to_script/abstract_token/program_end.rb +16 -0
- data/lib/img_to_script/abstract_token/remark.rb +19 -0
- data/lib/img_to_script/abstract_token/sign_func.rb +19 -0
- data/lib/img_to_script/abstract_token/wait.rb +19 -0
- data/lib/img_to_script/abstract_token.rb +8 -0
- data/lib/img_to_script/container.rb +26 -0
- data/lib/img_to_script/current_line_placeholder.rb +40 -0
- data/lib/img_to_script/formatter.rb +34 -0
- data/lib/img_to_script/generators/generator.rb +134 -0
- data/lib/img_to_script/generators/hex_mask/default.rb +24 -0
- data/lib/img_to_script/generators/hex_mask/enhanced.rb +220 -0
- data/lib/img_to_script/generators/hex_mask/hex_mask.rb +100 -0
- data/lib/img_to_script/generators/hex_mask.rb +13 -0
- data/lib/img_to_script/generators/run_length_encoding/horizontal.rb +78 -0
- data/lib/img_to_script/generators/run_length_encoding/run_length_encoding.rb +304 -0
- data/lib/img_to_script/generators/run_length_encoding/vertical.rb +79 -0
- data/lib/img_to_script/generators/run_length_encoding.rb +10 -0
- data/lib/img_to_script/generators/segmental/data_read_draw/data_read_draw.rb +70 -0
- data/lib/img_to_script/generators/segmental/data_read_draw/horizontal.rb +54 -0
- data/lib/img_to_script/generators/segmental/data_read_draw/vertical.rb +54 -0
- data/lib/img_to_script/generators/segmental/data_read_draw.rb +18 -0
- data/lib/img_to_script/generators/segmental/direct_draw/direct_draw.rb +62 -0
- data/lib/img_to_script/generators/segmental/direct_draw/horizontal.rb +16 -0
- data/lib/img_to_script/generators/segmental/direct_draw/vertical.rb +16 -0
- data/lib/img_to_script/generators/segmental/direct_draw.rb +12 -0
- data/lib/img_to_script/generators/segmental/horizontal_mixin.rb +32 -0
- data/lib/img_to_script/generators/segmental/segmental.rb +101 -0
- data/lib/img_to_script/generators/segmental/vertical_mixin.rb +38 -0
- data/lib/img_to_script/generators/segmental.rb +10 -0
- data/lib/img_to_script/generators.rb +27 -0
- data/lib/img_to_script/import.rb +5 -0
- data/lib/img_to_script/language_token.rb +8 -0
- data/lib/img_to_script/languages/mk90_basic/formatters/formatter.rb +49 -0
- data/lib/img_to_script/languages/mk90_basic/formatters/minificator.rb +316 -0
- data/lib/img_to_script/languages/mk90_basic/formatters/sliceable_tokens_mixin.rb +15 -0
- data/lib/img_to_script/languages/mk90_basic/formatters.rb +13 -0
- data/lib/img_to_script/languages/mk90_basic/mk90_basic_token.rb +59 -0
- data/lib/img_to_script/languages/mk90_basic/translators/mixin.rb +205 -0
- data/lib/img_to_script/languages/mk90_basic/translators/mk90_basic_10.rb +27 -0
- data/lib/img_to_script/languages/mk90_basic/translators/mk90_basic_20.rb +27 -0
- data/lib/img_to_script/languages/mk90_basic/translators/translator.rb +205 -0
- data/lib/img_to_script/languages/mk90_basic/translators.rb +13 -0
- data/lib/img_to_script/languages/mk90_basic.rb +17 -0
- data/lib/img_to_script/languages.rb +10 -0
- data/lib/img_to_script/task.rb +26 -0
- data/lib/img_to_script/translator.rb +31 -0
- data/lib/img_to_script/version.rb +5 -0
- data/lib/img_to_script.rb +19 -0
- data/sig/img_to_script.rbs +4 -0
- metadata +204 -0
@@ -0,0 +1,205 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ImgToScript
|
4
|
+
module Languages
|
5
|
+
module MK90Basic
|
6
|
+
module Translators
|
7
|
+
#
|
8
|
+
# Translates abstract tokens to the MK90 BASIC statements.
|
9
|
+
#
|
10
|
+
# Both v.1.0 & v.2.0 share the same syntax, but there are small
|
11
|
+
# differences. This differences are defined in the child classes
|
12
|
+
# MK90Basic10 & MK90Basic20.
|
13
|
+
#
|
14
|
+
class Translator < ImgToScript::Translator
|
15
|
+
include Mixin
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def _translate(abstract_tokens, **)
|
20
|
+
result = []
|
21
|
+
|
22
|
+
abstract_tokens.each do |token|
|
23
|
+
result.push(_translate_token(token))
|
24
|
+
end
|
25
|
+
|
26
|
+
result
|
27
|
+
end
|
28
|
+
|
29
|
+
def _translate_token(token)
|
30
|
+
case token.type
|
31
|
+
when AbsTokenType::ABS_FUNC
|
32
|
+
_abs_func(token)
|
33
|
+
when AbsTokenType::ASSIGN_VALUE
|
34
|
+
_assign_value(token)
|
35
|
+
when AbsTokenType::CLEAR_SCREEN
|
36
|
+
_clear_screen(token)
|
37
|
+
when AbsTokenType::DATA_STORE
|
38
|
+
_data_store(token)
|
39
|
+
when AbsTokenType::DATA_READ
|
40
|
+
_data_read(token)
|
41
|
+
when AbsTokenType::DRAW_LINE_BY_ABS_COORDS
|
42
|
+
_draw_line_by_abs_coords(token)
|
43
|
+
when AbsTokenType::DRAW_PIXEL_BY_ABS_COORDS
|
44
|
+
_draw_pixel_by_abs_coords(token)
|
45
|
+
when AbsTokenType::DRAW_CHUNK_BY_HEX_VALUE
|
46
|
+
_draw_chunk_by_hex_value(token)
|
47
|
+
when AbsTokenType::MOVE_POINT_TO_ABS_COORDS
|
48
|
+
_move_point_to_abs_coords(token)
|
49
|
+
when AbsTokenType::MATH_ADD
|
50
|
+
_math_add(token)
|
51
|
+
when AbsTokenType::MATH_SUB
|
52
|
+
_math_sub(token)
|
53
|
+
when AbsTokenType::MATH_MULT
|
54
|
+
_math_mult(token)
|
55
|
+
when AbsTokenType::GO_TO
|
56
|
+
_go_to(token)
|
57
|
+
when AbsTokenType::MATH_GREATER_THAN
|
58
|
+
_math_greater_than(token)
|
59
|
+
when AbsTokenType::SIGN_FUNC
|
60
|
+
_sign_func(token)
|
61
|
+
when AbsTokenType::PARENTHESES
|
62
|
+
_parentheses(token)
|
63
|
+
when AbsTokenType::LOOP_BEGIN
|
64
|
+
_loop_begin(token)
|
65
|
+
when AbsTokenType::PROGRAM_END_LBL
|
66
|
+
_program_end(token)
|
67
|
+
when AbsTokenType::LOOP_END
|
68
|
+
_loop_end(token)
|
69
|
+
when AbsTokenType::IF_CONDITION
|
70
|
+
_if_condition(token)
|
71
|
+
when AbsTokenType::WAIT
|
72
|
+
_wait(token)
|
73
|
+
else
|
74
|
+
rem_token = AbstractToken::Remark.new(
|
75
|
+
text: "wrong abstract token type!",
|
76
|
+
require_nl: true
|
77
|
+
)
|
78
|
+
_remark(rem_token)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
#
|
83
|
+
# Replace placeholders, expand nested tokens in the
|
84
|
+
# arguments, etc.
|
85
|
+
#
|
86
|
+
# @param [Array<Object>] args
|
87
|
+
# Original arguments.
|
88
|
+
#
|
89
|
+
# @return [Array<Object>]
|
90
|
+
# Translated arguments.
|
91
|
+
#
|
92
|
+
def _translate_arguments(args)
|
93
|
+
result = []
|
94
|
+
|
95
|
+
args.each do |arg|
|
96
|
+
result.push(_translate_arg(arg))
|
97
|
+
end
|
98
|
+
|
99
|
+
result
|
100
|
+
end
|
101
|
+
|
102
|
+
#
|
103
|
+
# Translate an argument based on its type.
|
104
|
+
#
|
105
|
+
# Some abstract tokens can have nested tokens as their
|
106
|
+
# arguments. Other tokens can have Symbols as placeholders
|
107
|
+
# for the variables names. Other arguments should be passed
|
108
|
+
# as is (e.g. Integers and Strings).
|
109
|
+
#
|
110
|
+
# @param [Object] arg
|
111
|
+
#
|
112
|
+
# @return [Object]
|
113
|
+
#
|
114
|
+
def _translate_arg(arg)
|
115
|
+
case arg
|
116
|
+
when AbstractToken::AbstractToken
|
117
|
+
_translate_token(arg)
|
118
|
+
when Symbol
|
119
|
+
arg.to_s.upcase
|
120
|
+
else
|
121
|
+
arg
|
122
|
+
end
|
123
|
+
end
|
124
|
+
|
125
|
+
#
|
126
|
+
# Return a token of a arithmetic operation.
|
127
|
+
#
|
128
|
+
# Operation should have a left part, a right part, and
|
129
|
+
# the operator between the parts.
|
130
|
+
#
|
131
|
+
# @param [AbstractToken] token
|
132
|
+
#
|
133
|
+
# @param [String] operator
|
134
|
+
# E.g.: "+", "-", ">", "<", etc.
|
135
|
+
#
|
136
|
+
# @return [MK90BasicToken]
|
137
|
+
#
|
138
|
+
def _math_operation(token, operator)
|
139
|
+
MK90BasicToken.new(
|
140
|
+
keyword: "",
|
141
|
+
args: _translate_arguments([
|
142
|
+
token.left,
|
143
|
+
operator,
|
144
|
+
token.right
|
145
|
+
]),
|
146
|
+
separator: "",
|
147
|
+
require_nl: token.require_nl,
|
148
|
+
sliceable: false
|
149
|
+
)
|
150
|
+
end
|
151
|
+
|
152
|
+
#
|
153
|
+
# Return a token of a function with parentheses.
|
154
|
+
#
|
155
|
+
# Function with an expression that's wrapped in parentheses.
|
156
|
+
# E.g.: ABS(ex), SGN(ex). Keyword can be empty, in that case
|
157
|
+
# only parentheses with the expression will be returned: (ex).
|
158
|
+
#
|
159
|
+
# @param [AbstractToken] token
|
160
|
+
#
|
161
|
+
# @param [String] keyword
|
162
|
+
# E.g.: "ABS", "SGN".
|
163
|
+
#
|
164
|
+
# @return [MK90BasicToken]
|
165
|
+
#
|
166
|
+
def _function(token, keyword)
|
167
|
+
MK90BasicToken.new(
|
168
|
+
keyword: keyword,
|
169
|
+
args: _translate_arguments([
|
170
|
+
"(",
|
171
|
+
token.expression,
|
172
|
+
")"
|
173
|
+
]),
|
174
|
+
separator: "",
|
175
|
+
require_nl: token.require_nl,
|
176
|
+
sliceable: false
|
177
|
+
)
|
178
|
+
end
|
179
|
+
|
180
|
+
#
|
181
|
+
# Return a token of a keyword statements.
|
182
|
+
#
|
183
|
+
# A statement that consists only of a keyword, and doesn't
|
184
|
+
# take arguments, e.g.: CLS, END, STOP.
|
185
|
+
#
|
186
|
+
# @param [AbstractToken] token
|
187
|
+
#
|
188
|
+
# @param [String] keyword
|
189
|
+
#
|
190
|
+
# @return [MK90BasicToken]
|
191
|
+
#
|
192
|
+
def _single_keyword(token, keyword)
|
193
|
+
MK90BasicToken.new(
|
194
|
+
keyword: keyword,
|
195
|
+
args: [""],
|
196
|
+
separator: "",
|
197
|
+
require_nl: token.require_nl,
|
198
|
+
sliceable: false
|
199
|
+
)
|
200
|
+
end
|
201
|
+
end
|
202
|
+
end
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ImgToScript
|
4
|
+
module Languages
|
5
|
+
#
|
6
|
+
# Elektronika MK90 BASIC.
|
7
|
+
#
|
8
|
+
module MK90Basic
|
9
|
+
SCR_WIDTH = 120
|
10
|
+
SCR_HEIGHT = 64
|
11
|
+
MAX_CHARS_PER_LINE = 80
|
12
|
+
|
13
|
+
LINE_OFFSET = 1
|
14
|
+
LINE_STEP = 1
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ImgToScript
|
4
|
+
#
|
5
|
+
# Handles conversion.
|
6
|
+
#
|
7
|
+
class Task
|
8
|
+
include Import[
|
9
|
+
generator: "generators.hex_mask.enhanced",
|
10
|
+
translator: "languages.mk90_basic.translators.mk90_basic_10",
|
11
|
+
formatter: "languages.mk90_basic.formatters.minificator"
|
12
|
+
]
|
13
|
+
|
14
|
+
def run(image:, scr_width:, scr_height:, **)
|
15
|
+
@formatter.format(
|
16
|
+
@translator.translate(
|
17
|
+
@generator.generate(
|
18
|
+
image: image,
|
19
|
+
scr_width: scr_width,
|
20
|
+
scr_height: scr_height
|
21
|
+
)
|
22
|
+
)
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module ImgToScript
|
4
|
+
#
|
5
|
+
# Base class.
|
6
|
+
#
|
7
|
+
# Translates abstract tokens to more specific target language
|
8
|
+
# statements.
|
9
|
+
#
|
10
|
+
class Translator
|
11
|
+
#
|
12
|
+
# Translate the abstract tokens to the target language tokens.
|
13
|
+
#
|
14
|
+
# @param [Array<AbstractToken>] abstract_tokens
|
15
|
+
#
|
16
|
+
# @param [Hash{ Symbol => Object }] **kwargs
|
17
|
+
# Options.
|
18
|
+
#
|
19
|
+
# @return [Array<Object>]
|
20
|
+
#
|
21
|
+
def translate(abstract_tokens, **kwargs)
|
22
|
+
_translate(
|
23
|
+
Array(abstract_tokens, **kwargs)
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def _translate(*); end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "dry/system"
|
4
|
+
require "logger"
|
5
|
+
require "run_length_encoding_rb"
|
6
|
+
require "zeitwerk"
|
7
|
+
|
8
|
+
require_relative "img_to_script/container"
|
9
|
+
require_relative "img_to_script/version"
|
10
|
+
|
11
|
+
#
|
12
|
+
# Converts binary images to executable scripts.
|
13
|
+
#
|
14
|
+
module ImgToScript
|
15
|
+
class Error < StandardError; end
|
16
|
+
# Your code goes here...
|
17
|
+
|
18
|
+
Container.finalize!
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,204 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: img_to_script
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- 8bit-mate
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2023-12-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dry-system
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.0'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.0.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: run_length_encoding_rb
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '1.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 1.0.0
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '1.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 1.0.0
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: zeitwerk
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '2.6'
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 2.6.12
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.6'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 2.6.12
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: rmagick-bin_magick
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0.2'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.2.0
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.2'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.2.0
|
93
|
+
description:
|
94
|
+
email:
|
95
|
+
- you@example.com
|
96
|
+
executables: []
|
97
|
+
extensions: []
|
98
|
+
extra_rdoc_files: []
|
99
|
+
files:
|
100
|
+
- ".rubocop.yml"
|
101
|
+
- ".vscode/launch.json"
|
102
|
+
- CHANGELOG.md
|
103
|
+
- LICENSE.txt
|
104
|
+
- README.md
|
105
|
+
- Rakefile
|
106
|
+
- img_to_script.gemspec
|
107
|
+
- lib/img_to_script.rb
|
108
|
+
- lib/img_to_script/abs_token_type.rb
|
109
|
+
- lib/img_to_script/abstract_token.rb
|
110
|
+
- lib/img_to_script/abstract_token/abs_func.rb
|
111
|
+
- lib/img_to_script/abstract_token/abstract_token.rb
|
112
|
+
- lib/img_to_script/abstract_token/assign_value.rb
|
113
|
+
- lib/img_to_script/abstract_token/clear_screen.rb
|
114
|
+
- lib/img_to_script/abstract_token/data_read.rb
|
115
|
+
- lib/img_to_script/abstract_token/data_store.rb
|
116
|
+
- lib/img_to_script/abstract_token/draw_chunk_by_hex_value.rb
|
117
|
+
- lib/img_to_script/abstract_token/draw_line_by_abs_coords.rb
|
118
|
+
- lib/img_to_script/abstract_token/draw_pixel_by_abs_coords.rb
|
119
|
+
- lib/img_to_script/abstract_token/go_to.rb
|
120
|
+
- lib/img_to_script/abstract_token/if_condition.rb
|
121
|
+
- lib/img_to_script/abstract_token/loop_begin.rb
|
122
|
+
- lib/img_to_script/abstract_token/loop_end.rb
|
123
|
+
- lib/img_to_script/abstract_token/math_add.rb
|
124
|
+
- lib/img_to_script/abstract_token/math_greater_than.rb
|
125
|
+
- lib/img_to_script/abstract_token/math_mult.rb
|
126
|
+
- lib/img_to_script/abstract_token/math_sub.rb
|
127
|
+
- lib/img_to_script/abstract_token/move_point_to_abs_coords.rb
|
128
|
+
- lib/img_to_script/abstract_token/parentheses.rb
|
129
|
+
- lib/img_to_script/abstract_token/program_begin.rb
|
130
|
+
- lib/img_to_script/abstract_token/program_end.rb
|
131
|
+
- lib/img_to_script/abstract_token/remark.rb
|
132
|
+
- lib/img_to_script/abstract_token/sign_func.rb
|
133
|
+
- lib/img_to_script/abstract_token/wait.rb
|
134
|
+
- lib/img_to_script/container.rb
|
135
|
+
- lib/img_to_script/current_line_placeholder.rb
|
136
|
+
- lib/img_to_script/formatter.rb
|
137
|
+
- lib/img_to_script/generators.rb
|
138
|
+
- lib/img_to_script/generators/generator.rb
|
139
|
+
- lib/img_to_script/generators/hex_mask.rb
|
140
|
+
- lib/img_to_script/generators/hex_mask/default.rb
|
141
|
+
- lib/img_to_script/generators/hex_mask/enhanced.rb
|
142
|
+
- lib/img_to_script/generators/hex_mask/hex_mask.rb
|
143
|
+
- lib/img_to_script/generators/run_length_encoding.rb
|
144
|
+
- lib/img_to_script/generators/run_length_encoding/horizontal.rb
|
145
|
+
- lib/img_to_script/generators/run_length_encoding/run_length_encoding.rb
|
146
|
+
- lib/img_to_script/generators/run_length_encoding/vertical.rb
|
147
|
+
- lib/img_to_script/generators/segmental.rb
|
148
|
+
- lib/img_to_script/generators/segmental/data_read_draw.rb
|
149
|
+
- lib/img_to_script/generators/segmental/data_read_draw/data_read_draw.rb
|
150
|
+
- lib/img_to_script/generators/segmental/data_read_draw/horizontal.rb
|
151
|
+
- lib/img_to_script/generators/segmental/data_read_draw/vertical.rb
|
152
|
+
- lib/img_to_script/generators/segmental/direct_draw.rb
|
153
|
+
- lib/img_to_script/generators/segmental/direct_draw/direct_draw.rb
|
154
|
+
- lib/img_to_script/generators/segmental/direct_draw/horizontal.rb
|
155
|
+
- lib/img_to_script/generators/segmental/direct_draw/vertical.rb
|
156
|
+
- lib/img_to_script/generators/segmental/horizontal_mixin.rb
|
157
|
+
- lib/img_to_script/generators/segmental/segmental.rb
|
158
|
+
- lib/img_to_script/generators/segmental/vertical_mixin.rb
|
159
|
+
- lib/img_to_script/import.rb
|
160
|
+
- lib/img_to_script/language_token.rb
|
161
|
+
- lib/img_to_script/languages.rb
|
162
|
+
- lib/img_to_script/languages/mk90_basic.rb
|
163
|
+
- lib/img_to_script/languages/mk90_basic/formatters.rb
|
164
|
+
- lib/img_to_script/languages/mk90_basic/formatters/formatter.rb
|
165
|
+
- lib/img_to_script/languages/mk90_basic/formatters/minificator.rb
|
166
|
+
- lib/img_to_script/languages/mk90_basic/formatters/sliceable_tokens_mixin.rb
|
167
|
+
- lib/img_to_script/languages/mk90_basic/mk90_basic_token.rb
|
168
|
+
- lib/img_to_script/languages/mk90_basic/translators.rb
|
169
|
+
- lib/img_to_script/languages/mk90_basic/translators/mixin.rb
|
170
|
+
- lib/img_to_script/languages/mk90_basic/translators/mk90_basic_10.rb
|
171
|
+
- lib/img_to_script/languages/mk90_basic/translators/mk90_basic_20.rb
|
172
|
+
- lib/img_to_script/languages/mk90_basic/translators/translator.rb
|
173
|
+
- lib/img_to_script/task.rb
|
174
|
+
- lib/img_to_script/translator.rb
|
175
|
+
- lib/img_to_script/version.rb
|
176
|
+
- sig/img_to_script.rbs
|
177
|
+
homepage: https://github.com/8bit-mate/img_to_script.rb
|
178
|
+
licenses:
|
179
|
+
- MIT
|
180
|
+
metadata:
|
181
|
+
allowed_push_host: https://rubygems.org
|
182
|
+
homepage_uri: https://github.com/8bit-mate/img_to_script.rb
|
183
|
+
source_code_uri: https://github.com/8bit-mate/img_to_script.rb
|
184
|
+
changelog_uri: https://github.com/8bit-mate/img_to_script.rb
|
185
|
+
post_install_message:
|
186
|
+
rdoc_options: []
|
187
|
+
require_paths:
|
188
|
+
- lib
|
189
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
190
|
+
requirements:
|
191
|
+
- - ">="
|
192
|
+
- !ruby/object:Gem::Version
|
193
|
+
version: 3.0.0
|
194
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ">="
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
requirements: []
|
200
|
+
rubygems_version: 3.4.10
|
201
|
+
signing_key:
|
202
|
+
specification_version: 4
|
203
|
+
summary: Converts images to executable scripts.
|
204
|
+
test_files: []
|