myco 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/myco/bootstrap/find_constant.rb +4 -11
- data/lib/myco/code_loader.rb +2 -1
- data/lib/myco/code_tools/AST/ConstantAccess.my +47 -3
- data/lib/myco/code_tools/AST/ConstantAccess.my.rb +13 -9
- data/lib/myco/code_tools/AST/ConstantAssignment.my +1 -5
- data/lib/myco/code_tools/AST/ConstantAssignment.my.rb +3 -9
- data/lib/myco/code_tools/AST/ToRuby.my +5 -2
- data/lib/myco/code_tools/AST/ToRuby.my.rb +7 -3
- data/lib/myco/code_tools/AST.my +1 -0
- data/lib/myco/code_tools/AST.my.rb +9 -1
- data/lib/myco/code_tools/Parser.my +24 -0
- data/lib/myco/code_tools/Parser.my.rb +25 -0
- data/lib/myco/code_tools/parser/MycoBuilder.my +67 -0
- data/lib/myco/code_tools/parser/MycoBuilder.my.rb +99 -0
- data/lib/myco/code_tools/parser/MycoCharacterClasses.my +20 -0
- data/lib/myco/code_tools/parser/MycoCharacterClasses.my.rb +56 -0
- data/lib/myco/code_tools/parser/MycoGrammar.my +564 -0
- data/lib/myco/code_tools/parser/MycoGrammar.my.rb +1851 -0
- data/lib/myco/code_tools/parser/MycoTokens.my +78 -0
- data/lib/myco/code_tools/parser/MycoTokens.my.rb +170 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Builder.my +4 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Builder.my.rb +5 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my +142 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my.rb +181 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my +420 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my.rb +415 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my +137 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my.rb +237 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Constructions.my +183 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Constructions.my.rb +370 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my +65 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my.rb +83 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Instructions.my +139 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Instructions.my.rb +284 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Machine.my +37 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Machine.my.rb +24 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Parser.my +42 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Parser.my.rb +52 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Patterns.my +123 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Patterns.my.rb +164 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Processor.my +236 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Processor.my.rb +339 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces.my +15 -0
- data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces.my.rb +14 -0
- data/lib/myco/code_tools.rb +1 -1
- data/lib/myco/version.rb +1 -1
- data/lib/myco.rb +2 -0
- metadata +44 -25
- data/lib/myco/code_tools/parser/peg_parser.rb +0 -7182
- data/lib/myco/code_tools/parser.rb +0 -39
@@ -0,0 +1,339 @@
|
|
1
|
+
|
2
|
+
::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
|
3
|
+
.tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.cscope.for_method_definition.const_set(:Processor, ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
|
4
|
+
.tap { |__c__| __c__.__last__ = __c__.component_eval {(
|
5
|
+
declare_meme(:string, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ("")}
|
6
|
+
declare_meme(:capture_items, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
7
|
+
declare_meme(:builder, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (nil)}
|
8
|
+
declare_meme(:process, [], nil, ::Myco.cscope.dup) { |*| (
|
9
|
+
self.setup
|
10
|
+
self.process_each
|
11
|
+
self.validate_state
|
12
|
+
self.final_captures
|
13
|
+
)}
|
14
|
+
::Myco.cscope.for_method_definition.const_set(:Token, ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
|
15
|
+
.tap { |__c__| __c__.__last__ = __c__.component_eval {(
|
16
|
+
declare_meme(:type, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
17
|
+
declare_meme(:text, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
18
|
+
declare_meme(:row, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
19
|
+
declare_meme(:col, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
20
|
+
declare_meme(:inspect, [], nil, ::Myco.cscope.dup) { |*| ([
|
21
|
+
self.type,
|
22
|
+
self.text,
|
23
|
+
self.row,
|
24
|
+
self.col
|
25
|
+
].inspect)}
|
26
|
+
declare_meme(:to_s, [], nil, ::Myco.cscope.dup) { |*| ([
|
27
|
+
self.type,
|
28
|
+
self.text,
|
29
|
+
self.row,
|
30
|
+
self.col
|
31
|
+
].inspect)}
|
32
|
+
declare_meme(:line, [], nil, ::Myco.cscope.dup) { |*| (self.row)}
|
33
|
+
declare_meme(:sym, [], nil, ::Myco.cscope.dup) { |*| (self.text.to_sym)}
|
34
|
+
declare_meme(:float, [], nil, ::Myco.cscope.dup) { |*| (self.text.to_f)}
|
35
|
+
declare_meme(:integer, [], nil, ::Myco.cscope.dup) { |base=0| (self.text.to_inum(
|
36
|
+
base,
|
37
|
+
true
|
38
|
+
))}
|
39
|
+
)}})
|
40
|
+
.tap { |__c__| __c__.__name__ = :Token }
|
41
|
+
declare_meme(:reduction_env, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (::Myco::Component.new([::Myco.find_constant(:Patterns)::Reduction::Environment], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
|
42
|
+
.tap { |__c__| __c__.__last__ = __c__.component_eval {nil}}.instance)}
|
43
|
+
declare_meme(:reduction_env_cscope, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (::Rubinius::ConstantScope.new(::Myco.find_constant(:Patterns)::Reduction::Environment))}
|
44
|
+
declare_meme(:cidx_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
45
|
+
declare_meme(:sidx_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
46
|
+
declare_meme(:tidx_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
47
|
+
declare_meme(:midx_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
48
|
+
declare_meme(:ridx_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
49
|
+
declare_meme(:capt_stack, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
|
50
|
+
declare_meme(:line_map_for, [[:memoize, []]], nil, ::Myco.cscope.dup) { |string| (
|
51
|
+
idx_hash = ::Hash.new
|
52
|
+
idx_hash.__send__(
|
53
|
+
:[]=,
|
54
|
+
0,
|
55
|
+
0
|
56
|
+
)
|
57
|
+
count = 0
|
58
|
+
idx = 0
|
59
|
+
self.loop { || (
|
60
|
+
idx = string.index(
|
61
|
+
"\n",
|
62
|
+
idx.__send__(
|
63
|
+
:+,
|
64
|
+
1
|
65
|
+
)
|
66
|
+
)
|
67
|
+
::Myco.branch_op(:"||", idx) {self.__send__(:break)}
|
68
|
+
count = count.__send__(
|
69
|
+
:+,
|
70
|
+
1
|
71
|
+
)
|
72
|
+
idx_hash.__send__(
|
73
|
+
:[]=,
|
74
|
+
idx,
|
75
|
+
count
|
76
|
+
)
|
77
|
+
)}
|
78
|
+
idx_hash
|
79
|
+
)}
|
80
|
+
declare_meme(:position_of, [], nil, ::Myco.cscope.dup) { |idx, string| (
|
81
|
+
nl_idx = ::Myco.branch_op(:"||", string.rindex(
|
82
|
+
"\n",
|
83
|
+
idx
|
84
|
+
)) {0}
|
85
|
+
row = self.line_map_for(string).fetch(nl_idx).__send__(
|
86
|
+
:+,
|
87
|
+
1
|
88
|
+
)
|
89
|
+
col = idx.__send__(
|
90
|
+
:-,
|
91
|
+
nl_idx
|
92
|
+
)
|
93
|
+
[
|
94
|
+
row,
|
95
|
+
col
|
96
|
+
]
|
97
|
+
)}
|
98
|
+
declare_meme(:push_layer, [], nil, ::Myco.cscope.dup) { |*| (self.capt_stack.push(::Hash.new))}
|
99
|
+
declare_meme(:pop_layer, [], nil, ::Myco.cscope.dup) { |*| (self.capt_stack.pop)}
|
100
|
+
declare_meme(:setup, [], nil, ::Myco.cscope.dup) { |*| (self.push_layer)}
|
101
|
+
declare_meme(:final_captures, [], nil, ::Myco.cscope.dup) { |*| (self.pop_layer.select { |k, v| (k.__send__(
|
102
|
+
:is_a?,
|
103
|
+
::Symbol
|
104
|
+
))}.map { |k, v| ([
|
105
|
+
k,
|
106
|
+
v.last
|
107
|
+
])}.to_h)}
|
108
|
+
declare_meme(:process_each, [], nil, ::Myco.cscope.dup) { |*| (self.capture_items.each { |idx, metadata| (
|
109
|
+
type = metadata.__send__(
|
110
|
+
:[],
|
111
|
+
0
|
112
|
+
)
|
113
|
+
captargs = ::Myco.branch_op(:"||", metadata.__send__(
|
114
|
+
:[],
|
115
|
+
1
|
116
|
+
)) {[]}
|
117
|
+
self.send(
|
118
|
+
type,
|
119
|
+
idx,
|
120
|
+
*captargs
|
121
|
+
)
|
122
|
+
)})}
|
123
|
+
declare_meme(:validate_state, [], nil, ::Myco.cscope.dup) { |*| (
|
124
|
+
::Myco.branch_op(:"||", self.cidx_stack.__send__(:empty?)) {self.raise("unbalanced cidx_stack: #{self.cidx_stack}")}
|
125
|
+
::Myco.branch_op(:"||", self.sidx_stack.__send__(:empty?)) {self.raise("unbalanced sidx_stack: #{self.sidx_stack}")}
|
126
|
+
::Myco.branch_op(:"||", self.tidx_stack.__send__(:empty?)) {self.raise("unbalanced tidx_stack: #{self.tidx_stack}")}
|
127
|
+
::Myco.branch_op(:"||", self.midx_stack.__send__(:empty?)) {self.raise("unbalanced midx_stack: #{self.midx_stack}")}
|
128
|
+
::Myco.branch_op(:"||", self.ridx_stack.__send__(:empty?)) {self.raise("unbalanced ridx_stack: #{self.ridx_stack}")}
|
129
|
+
)}
|
130
|
+
declare_meme(:c_start, [], nil, ::Myco.cscope.dup) { |idx| (self.cidx_stack.push(idx))}
|
131
|
+
declare_meme(:c_end, [], nil, ::Myco.cscope.dup) { |idx, name| (
|
132
|
+
captures = self.capt_stack.last
|
133
|
+
start_idx = self.cidx_stack.pop
|
134
|
+
use_reduction = false
|
135
|
+
value = captures.__send__(
|
136
|
+
:[],
|
137
|
+
idx
|
138
|
+
)
|
139
|
+
::Myco.branch_op(:"&?", value) {(
|
140
|
+
loc = value.first
|
141
|
+
value = value.last
|
142
|
+
::Myco.branch_op(:"??", ::Myco.branch_op(:"&?", ::Myco.branch_op(:"&&", loc.first.__send__(
|
143
|
+
:>=,
|
144
|
+
start_idx
|
145
|
+
)) {loc.last.__send__(
|
146
|
+
:<=,
|
147
|
+
idx
|
148
|
+
)}) {use_reduction = true}) {value = nil}
|
149
|
+
)}
|
150
|
+
::Myco.branch_op(:"&&", ::Myco.branch_op(:"&&", use_reduction.__send__(:!)) {start_idx.__send__(
|
151
|
+
:==,
|
152
|
+
idx
|
153
|
+
).__send__(:!)}) {value = self.string.slice(
|
154
|
+
start_idx,
|
155
|
+
idx.__send__(
|
156
|
+
:-,
|
157
|
+
start_idx
|
158
|
+
)
|
159
|
+
)}
|
160
|
+
store_value = [
|
161
|
+
[
|
162
|
+
start_idx,
|
163
|
+
idx
|
164
|
+
],
|
165
|
+
value
|
166
|
+
]
|
167
|
+
captures.store(
|
168
|
+
idx,
|
169
|
+
store_value
|
170
|
+
)
|
171
|
+
captures.store(
|
172
|
+
name,
|
173
|
+
store_value
|
174
|
+
)
|
175
|
+
)}
|
176
|
+
declare_meme(:s_start, [], nil, ::Myco.cscope.dup) { |idx| (self.sidx_stack.push(idx))}
|
177
|
+
declare_meme(:s_end, [], nil, ::Myco.cscope.dup) { |idx, name| (
|
178
|
+
captures = self.capt_stack.last
|
179
|
+
start_idx = self.sidx_stack.pop
|
180
|
+
value = self.string.slice(
|
181
|
+
start_idx,
|
182
|
+
idx.__send__(
|
183
|
+
:-,
|
184
|
+
start_idx
|
185
|
+
)
|
186
|
+
)
|
187
|
+
store_value = [
|
188
|
+
[
|
189
|
+
start_idx,
|
190
|
+
idx
|
191
|
+
],
|
192
|
+
value
|
193
|
+
]
|
194
|
+
captures.store(
|
195
|
+
idx,
|
196
|
+
store_value
|
197
|
+
)
|
198
|
+
captures.store(
|
199
|
+
name,
|
200
|
+
store_value
|
201
|
+
)
|
202
|
+
)}
|
203
|
+
declare_meme(:t_start, [], nil, ::Myco.cscope.dup) { |idx| (self.tidx_stack.push(idx))}
|
204
|
+
declare_meme(:t_end, [], nil, ::Myco.cscope.dup) { |idx, name| (
|
205
|
+
captures = self.capt_stack.last
|
206
|
+
start_idx = self.tidx_stack.pop
|
207
|
+
pos = self.position_of(
|
208
|
+
start_idx,
|
209
|
+
self.string
|
210
|
+
)
|
211
|
+
value = ::Myco.find_constant(:Token).new({
|
212
|
+
:type => name,
|
213
|
+
:text => self.string.slice(
|
214
|
+
start_idx,
|
215
|
+
idx.__send__(
|
216
|
+
:-,
|
217
|
+
start_idx
|
218
|
+
)
|
219
|
+
),
|
220
|
+
:row => pos.first,
|
221
|
+
:col => pos.last
|
222
|
+
})
|
223
|
+
store_value = [
|
224
|
+
[
|
225
|
+
start_idx,
|
226
|
+
idx
|
227
|
+
],
|
228
|
+
value
|
229
|
+
]
|
230
|
+
captures.store(
|
231
|
+
idx,
|
232
|
+
store_value
|
233
|
+
)
|
234
|
+
captures.store(
|
235
|
+
name,
|
236
|
+
store_value
|
237
|
+
)
|
238
|
+
)}
|
239
|
+
declare_meme(:m_start, [], nil, ::Myco.cscope.dup) { |idx| (
|
240
|
+
self.midx_stack.push(idx)
|
241
|
+
self.c_start(idx)
|
242
|
+
)}
|
243
|
+
declare_meme(:m_split, [], nil, ::Myco.cscope.dup) { |idx, name| (
|
244
|
+
self.c_end(
|
245
|
+
idx,
|
246
|
+
name
|
247
|
+
)
|
248
|
+
self.c_start(idx)
|
249
|
+
)}
|
250
|
+
declare_meme(:m_end, [], nil, ::Myco.cscope.dup) { |idx, name| (
|
251
|
+
captures = self.capt_stack.last
|
252
|
+
start_idx = self.midx_stack.pop
|
253
|
+
self.cidx_stack.pop
|
254
|
+
value = []
|
255
|
+
captures.each { |k, v| (::Myco.branch_op(:"&&", ::Myco.branch_op(:"&&", ::Myco.branch_op(:"&&", k.__send__(
|
256
|
+
:is_a?,
|
257
|
+
::Fixnum
|
258
|
+
)) {k.__send__(
|
259
|
+
:<=,
|
260
|
+
idx
|
261
|
+
)}) {k.__send__(
|
262
|
+
:>,
|
263
|
+
start_idx
|
264
|
+
)}) {(
|
265
|
+
loc = v.first
|
266
|
+
::Myco.branch_op(:"&&", loc.first.__send__(
|
267
|
+
:>=,
|
268
|
+
start_idx
|
269
|
+
)) {value.push(v.last)}
|
270
|
+
)})}
|
271
|
+
::Myco.branch_op(:"&&", ::Myco.branch_op(:"&&", value.__send__(:empty?)) {start_idx.__send__(
|
272
|
+
:==,
|
273
|
+
idx
|
274
|
+
).__send__(:!)}) {value = self.string.slice(
|
275
|
+
start_idx,
|
276
|
+
idx.__send__(
|
277
|
+
:-,
|
278
|
+
start_idx
|
279
|
+
)
|
280
|
+
)}
|
281
|
+
store_value = [
|
282
|
+
[
|
283
|
+
start_idx,
|
284
|
+
idx
|
285
|
+
],
|
286
|
+
value
|
287
|
+
]
|
288
|
+
captures.store(
|
289
|
+
idx,
|
290
|
+
store_value
|
291
|
+
)
|
292
|
+
captures.store(
|
293
|
+
name,
|
294
|
+
store_value
|
295
|
+
)
|
296
|
+
)}
|
297
|
+
declare_meme(:r_start, [], nil, ::Myco.cscope.dup) { |idx| ((
|
298
|
+
self.push_layer
|
299
|
+
self.ridx_stack.push(idx)
|
300
|
+
))}
|
301
|
+
declare_meme(:r_end, [], nil, ::Myco.cscope.dup) { |idx, code, *args| (
|
302
|
+
captures = self.pop_layer
|
303
|
+
start_idx = self.ridx_stack.pop
|
304
|
+
code.__send__(
|
305
|
+
:scope=,
|
306
|
+
self.reduction_env_cscope
|
307
|
+
)
|
308
|
+
self.reduction_env.__send__(
|
309
|
+
:builder=,
|
310
|
+
self.builder
|
311
|
+
)
|
312
|
+
self.reduction_env.__send__(
|
313
|
+
:captures=,
|
314
|
+
captures.map { |k, v| ([
|
315
|
+
k,
|
316
|
+
v.last
|
317
|
+
])}.to_h
|
318
|
+
)
|
319
|
+
value = code.invoke(
|
320
|
+
code.name,
|
321
|
+
::Myco.find_constant(:Patterns)::Reduction::Environment,
|
322
|
+
self.reduction_env,
|
323
|
+
[],
|
324
|
+
nil
|
325
|
+
)
|
326
|
+
store_value = [
|
327
|
+
[
|
328
|
+
start_idx,
|
329
|
+
idx
|
330
|
+
],
|
331
|
+
value
|
332
|
+
]
|
333
|
+
self.capt_stack.last.store(
|
334
|
+
idx,
|
335
|
+
store_value
|
336
|
+
)
|
337
|
+
)}
|
338
|
+
)}})
|
339
|
+
.tap { |__c__| __c__.__name__ = :Processor })}}.instance
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
import 'pegleromyces/Patterns.my'
|
3
|
+
import 'pegleromyces/Constructions.my'
|
4
|
+
|
5
|
+
import 'pegleromyces/Instructions.my'
|
6
|
+
import 'pegleromyces/Machine.my'
|
7
|
+
|
8
|
+
import 'pegleromyces/Processor.my'
|
9
|
+
import 'pegleromyces/Builder.my'
|
10
|
+
|
11
|
+
import 'pegleromyces/Grammar.my'
|
12
|
+
import 'pegleromyces/Parser.my'
|
13
|
+
|
14
|
+
import 'pegleromyces/BytecodeInstructions.my'
|
15
|
+
import 'pegleromyces/BytecodeParser.my'
|
@@ -0,0 +1,14 @@
|
|
1
|
+
|
2
|
+
::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
|
3
|
+
.tap { |__c__| __c__.__last__ = __c__.component_eval {(
|
4
|
+
declare_meme(:"pegleromyces/Patterns.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
5
|
+
declare_meme(:"pegleromyces/Constructions.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
6
|
+
declare_meme(:"pegleromyces/Instructions.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
7
|
+
declare_meme(:"pegleromyces/Machine.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
8
|
+
declare_meme(:"pegleromyces/Processor.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
9
|
+
declare_meme(:"pegleromyces/Builder.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
10
|
+
declare_meme(:"pegleromyces/Grammar.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
11
|
+
declare_meme(:"pegleromyces/Parser.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
12
|
+
declare_meme(:"pegleromyces/BytecodeInstructions.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
13
|
+
declare_meme(:"pegleromyces/BytecodeParser.my", [[:import, []]], nil, ::Myco.cscope.dup) { |*| nil}
|
14
|
+
)}}.instance
|
data/lib/myco/code_tools.rb
CHANGED
data/lib/myco/version.rb
CHANGED
data/lib/myco.rb
CHANGED
metadata
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: myco
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joe McIlvain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
+
type: :runtime
|
14
15
|
version_requirements: !ruby/object:Gem::Requirement
|
15
16
|
requirements:
|
16
17
|
- - "~>"
|
@@ -23,8 +24,8 @@ dependencies:
|
|
23
24
|
- - "~>"
|
24
25
|
- !ruby/object:Gem::Version
|
25
26
|
version: '2.3'
|
26
|
-
type: :runtime
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
+
type: :runtime
|
28
29
|
version_requirements: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
31
|
- - "~>"
|
@@ -37,22 +38,8 @@ dependencies:
|
|
37
38
|
- - "~>"
|
38
39
|
- !ruby/object:Gem::Version
|
39
40
|
version: '2.2'
|
40
|
-
type: :runtime
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: '1.0'
|
47
|
-
name: kpeg
|
48
|
-
prerelease: false
|
49
|
-
requirement: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - "~>"
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '1.0'
|
54
42
|
type: :development
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
43
|
version_requirements: !ruby/object:Gem::Requirement
|
57
44
|
requirements:
|
58
45
|
- - "~>"
|
@@ -65,8 +52,8 @@ dependencies:
|
|
65
52
|
- - "~>"
|
66
53
|
- !ruby/object:Gem::Version
|
67
54
|
version: '1.6'
|
68
|
-
type: :development
|
69
55
|
- !ruby/object:Gem::Dependency
|
56
|
+
type: :development
|
70
57
|
version_requirements: !ruby/object:Gem::Requirement
|
71
58
|
requirements:
|
72
59
|
- - "~>"
|
@@ -79,8 +66,8 @@ dependencies:
|
|
79
66
|
- - "~>"
|
80
67
|
- !ruby/object:Gem::Version
|
81
68
|
version: '10.3'
|
82
|
-
type: :development
|
83
69
|
- !ruby/object:Gem::Dependency
|
70
|
+
type: :development
|
84
71
|
version_requirements: !ruby/object:Gem::Requirement
|
85
72
|
requirements:
|
86
73
|
- - "~>"
|
@@ -93,8 +80,8 @@ dependencies:
|
|
93
80
|
- - "~>"
|
94
81
|
- !ruby/object:Gem::Version
|
95
82
|
version: '0.9'
|
96
|
-
type: :development
|
97
83
|
- !ruby/object:Gem::Dependency
|
84
|
+
type: :development
|
98
85
|
version_requirements: !ruby/object:Gem::Requirement
|
99
86
|
requirements:
|
100
87
|
- - "~>"
|
@@ -107,8 +94,8 @@ dependencies:
|
|
107
94
|
- - "~>"
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '1.4'
|
110
|
-
type: :development
|
111
97
|
- !ruby/object:Gem::Dependency
|
98
|
+
type: :development
|
112
99
|
version_requirements: !ruby/object:Gem::Requirement
|
113
100
|
requirements:
|
114
101
|
- - "~>"
|
@@ -121,8 +108,8 @@ dependencies:
|
|
121
108
|
- - "~>"
|
122
109
|
- !ruby/object:Gem::Version
|
123
110
|
version: '3.0'
|
124
|
-
type: :development
|
125
111
|
- !ruby/object:Gem::Dependency
|
112
|
+
type: :development
|
126
113
|
version_requirements: !ruby/object:Gem::Requirement
|
127
114
|
requirements:
|
128
115
|
- - "~>"
|
@@ -135,7 +122,6 @@ dependencies:
|
|
135
122
|
- - "~>"
|
136
123
|
- !ruby/object:Gem::Version
|
137
124
|
version: '1.3'
|
138
|
-
type: :development
|
139
125
|
description: An experimental language on the Rubinius VM
|
140
126
|
email: joe.eli.mac@gmail.com
|
141
127
|
executables:
|
@@ -230,8 +216,40 @@ files:
|
|
230
216
|
- lib/myco/code_tools/AST/ToRuby.my.rb
|
231
217
|
- lib/myco/code_tools/AST/misc.my
|
232
218
|
- lib/myco/code_tools/AST/misc.my.rb
|
233
|
-
- lib/myco/code_tools/
|
234
|
-
- lib/myco/code_tools/
|
219
|
+
- lib/myco/code_tools/Parser.my
|
220
|
+
- lib/myco/code_tools/Parser.my.rb
|
221
|
+
- lib/myco/code_tools/parser/MycoBuilder.my
|
222
|
+
- lib/myco/code_tools/parser/MycoBuilder.my.rb
|
223
|
+
- lib/myco/code_tools/parser/MycoCharacterClasses.my
|
224
|
+
- lib/myco/code_tools/parser/MycoCharacterClasses.my.rb
|
225
|
+
- lib/myco/code_tools/parser/MycoGrammar.my
|
226
|
+
- lib/myco/code_tools/parser/MycoGrammar.my.rb
|
227
|
+
- lib/myco/code_tools/parser/MycoTokens.my
|
228
|
+
- lib/myco/code_tools/parser/MycoTokens.my.rb
|
229
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces.my
|
230
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces.my.rb
|
231
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Builder.my
|
232
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Builder.my.rb
|
233
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my
|
234
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my.rb
|
235
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my
|
236
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my.rb
|
237
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my
|
238
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my.rb
|
239
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Constructions.my
|
240
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Constructions.my.rb
|
241
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my
|
242
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my.rb
|
243
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Instructions.my
|
244
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Instructions.my.rb
|
245
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Machine.my
|
246
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Machine.my.rb
|
247
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Parser.my
|
248
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Parser.my.rb
|
249
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Patterns.my
|
250
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Patterns.my.rb
|
251
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Processor.my
|
252
|
+
- lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Processor.my.rb
|
235
253
|
- lib/myco/command.my
|
236
254
|
- lib/myco/command.my.rb
|
237
255
|
- lib/myco/command/inoculate.my
|
@@ -282,3 +300,4 @@ signing_key:
|
|
282
300
|
specification_version: 4
|
283
301
|
summary: An experimental language on the Rubinius VM
|
284
302
|
test_files: []
|
303
|
+
has_rdoc:
|