myco 0.1.0.dev → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -7
- data/LICENSE +1 -1
- data/README.md +79 -0
- data/lib/myco/backtrace.rb +1 -1
- data/lib/myco/bootstrap/component.rb +78 -39
- data/lib/myco/bootstrap/find_constant.rb +12 -1
- data/lib/myco/bootstrap/instance.rb +5 -12
- data/lib/myco/bootstrap/meme.rb +176 -28
- data/lib/myco/bootstrap.my +8 -7
- data/lib/myco/code_loader.rb +332 -0
- data/lib/myco/command/inoculate.my +83 -0
- data/lib/myco/command.my +26 -26
- data/lib/myco/core/BasicDecorators.my +62 -0
- data/lib/myco/core/BasicObject.my +12 -34
- data/lib/myco/core/Decorator.my +1 -0
- data/lib/myco/core/FileToplevel.my +0 -3
- data/lib/myco/core/Myco.my +4 -0
- data/lib/myco/core/Object.my +6 -4
- data/lib/myco/eval.rb +17 -18
- data/lib/myco/misc.rb +16 -0
- data/lib/myco/parser/ast/argument_assembly.rb +76 -0
- data/lib/myco/parser/ast/array_assembly.rb +57 -0
- data/lib/myco/parser/ast/branch_operator.rb +73 -0
- data/lib/myco/parser/ast/constant_access.rb +4 -18
- data/lib/myco/parser/ast/constant_define.rb +3 -3
- data/lib/myco/parser/ast/constant_reopen.rb +12 -13
- data/lib/myco/parser/ast/declare_category.rb +8 -6
- data/lib/myco/parser/ast/declare_decorator.rb +4 -4
- data/lib/myco/parser/ast/declare_file.rb +4 -4
- data/lib/myco/parser/ast/declare_meme.rb +53 -11
- data/lib/myco/parser/ast/declare_object.rb +9 -7
- data/lib/myco/parser/ast/declare_string.rb +5 -5
- data/lib/myco/parser/ast/invoke.rb +18 -36
- data/lib/myco/parser/ast/invoke_method.rb +28 -0
- data/lib/myco/parser/ast/local_variable_access_ambiguous.rb +9 -13
- data/lib/myco/parser/ast/misc.rb +128 -33
- data/lib/myco/parser/ast/myco_module_scope.rb +26 -0
- data/lib/myco/parser/ast/quest.rb +3 -3
- data/lib/myco/parser/ast/to_ruby/array_assembly.rb +15 -0
- data/lib/myco/parser/ast/to_ruby/block.rb +14 -0
- data/lib/myco/parser/ast/to_ruby/block_pass.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/branch_operator.rb +9 -0
- data/lib/myco/parser/ast/to_ruby/constant_access.rb +10 -0
- data/lib/myco/parser/ast/to_ruby/constant_assignment.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/constant_define.rb +9 -0
- data/lib/myco/parser/ast/to_ruby/constant_reopen.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/declare_category.rb +7 -0
- data/lib/myco/parser/ast/to_ruby/declare_decorator.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/declare_file.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/declare_meme.rb +16 -0
- data/lib/myco/parser/ast/to_ruby/declare_object.rb +8 -0
- data/lib/myco/parser/ast/to_ruby/declare_string.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/dynamic_string.rb +14 -0
- data/lib/myco/parser/ast/to_ruby/dynamic_symbol.rb +7 -0
- data/lib/myco/parser/ast/to_ruby/eval_expression.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/false_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/hash_literal.rb +16 -0
- data/lib/myco/parser/ast/to_ruby/invoke.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/invoke_method.rb +35 -0
- data/lib/myco/parser/ast/to_ruby/iter.rb +10 -0
- data/lib/myco/parser/ast/to_ruby/local_variable_access_ambiguous.rb +16 -0
- data/lib/myco/parser/ast/to_ruby/local_variable_assignment.rb +8 -0
- data/lib/myco/parser/ast/to_ruby/myco_module_scope.rb +8 -0
- data/lib/myco/parser/ast/to_ruby/null_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/parameters.rb +60 -0
- data/lib/myco/parser/ast/to_ruby/quest.rb +13 -0
- data/lib/myco/parser/ast/to_ruby/return.rb +7 -0
- data/lib/myco/parser/ast/to_ruby/scoped_constant.rb +11 -0
- data/lib/myco/parser/ast/to_ruby/self.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/splat_value.rb +33 -0
- data/lib/myco/parser/ast/to_ruby/string_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/symbol_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/toplevel_constant.rb +11 -0
- data/lib/myco/parser/ast/to_ruby/true_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby/void_literal.rb +6 -0
- data/lib/myco/parser/ast/to_ruby.rb +138 -0
- data/lib/myco/parser/ast.rb +6 -0
- data/lib/myco/parser/peg_parser.rb +361 -181
- data/lib/myco/parser.rb +27 -11
- data/lib/myco/tools/BasicCommand.my +42 -0
- data/lib/myco/tools/Generator.my +18 -0
- data/lib/myco/toolset.rb +0 -3
- data/lib/myco/version.rb +1 -4
- data/lib/myco.rb +2 -0
- metadata +230 -160
- data/lib/myco/parser/builder.output +0 -3995
- data/lib/myco/parser/builder.racc +0 -585
- data/lib/myco/parser/builder.rb +0 -1592
- data/lib/myco/parser/lexer.rb +0 -2306
- data/lib/myco/parser/lexer.rl +0 -393
- data/lib/myco/parser/lexer_char_classes.rl +0 -56
- data/lib/myco/parser/lexer_common.rb +0 -95
- data/lib/myco/parser/lexer_skeleton.rl +0 -154
- data/lib/myco/parser/peg_parser.kpeg +0 -759
- data/lib/myco/tools/OptionParser.my +0 -38
data/lib/myco/parser.rb
CHANGED
@@ -21,20 +21,36 @@ require_relative 'parser/ast'
|
|
21
21
|
require_relative 'parser/peg_parser'
|
22
22
|
|
23
23
|
module CodeTools
|
24
|
+
|
25
|
+
class AST::Builder
|
26
|
+
include CodeTools::AST::BuilderMethods
|
27
|
+
end
|
28
|
+
|
29
|
+
class PegParserWrapper
|
30
|
+
def parse string
|
31
|
+
@parser = Myco::ToolSet::PegParser.new string
|
32
|
+
@parser.builder = Myco::ToolSet::AST::Builder.new
|
33
|
+
@parsed_okay = !!@parser.parse
|
34
|
+
end
|
35
|
+
|
36
|
+
def result
|
37
|
+
{ root: @parser.root_node } if @parsed_okay
|
38
|
+
end
|
39
|
+
|
40
|
+
def raise_error
|
41
|
+
@parser.show_error(io=StringIO.new)
|
42
|
+
raise SyntaxError, io.string
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
24
46
|
class Parser
|
25
|
-
|
47
|
+
Implementation = PegParserWrapper
|
26
48
|
|
27
49
|
def parse_string string
|
28
|
-
@
|
29
|
-
@
|
30
|
-
|
31
|
-
if @peg_parser.parse
|
32
|
-
return @peg_parser.root_node
|
33
|
-
else
|
34
|
-
@peg_parser.show_error(io=StringIO.new)
|
35
|
-
raise SyntaxError, io.string
|
36
|
-
end
|
50
|
+
@parser = Implementation.new
|
51
|
+
@parser.parse(string)
|
52
|
+
@parser.result ? @parser.result.fetch(:root) : @parser.raise_error
|
37
53
|
end
|
38
|
-
|
39
54
|
end
|
55
|
+
|
40
56
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
|
2
|
+
BasicCommand < Object {
|
3
|
+
banner: ""
|
4
|
+
width: 30
|
5
|
+
options_config: null
|
6
|
+
|
7
|
+
options_parse: |*argv| {
|
8
|
+
command = argv.first && self.commands.memes[argv.first.to_sym]
|
9
|
+
command
|
10
|
+
&? (command.result.run(*argv.slice(::Range.new(1, -1))); null)
|
11
|
+
?? options_parser.parse(argv)
|
12
|
+
}
|
13
|
+
|
14
|
+
options_parser: {
|
15
|
+
parser = Rubinius::Options.new(banner, width, options_config)
|
16
|
+
options.memes.each |name, meme| {
|
17
|
+
meme.result.register_in_parser(parser, name)
|
18
|
+
}
|
19
|
+
parser.help
|
20
|
+
parser
|
21
|
+
}
|
22
|
+
|
23
|
+
show_help: puts(options_parser.to_s)
|
24
|
+
|
25
|
+
Option < Object {
|
26
|
+
var parser
|
27
|
+
|
28
|
+
register_in_parser: |parser, name| {
|
29
|
+
self.parser = parser
|
30
|
+
|
31
|
+
args = [name, (self.?argument ?? null), long_form, description]
|
32
|
+
args = args.compact
|
33
|
+
args = args.map |arg| { arg.to_s }
|
34
|
+
|
35
|
+
parser.on(*args) |arg| { do(arg) }
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
# Empty categories to be filled by the user
|
40
|
+
[options]
|
41
|
+
[commands]
|
42
|
+
}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
Myco::Generator < Object {
|
3
|
+
|
4
|
+
}
|
5
|
+
|
6
|
+
Myco::Generator {
|
7
|
+
|
8
|
+
task: rand ** rand
|
9
|
+
|
10
|
+
work: 100000.times { task }
|
11
|
+
|
12
|
+
on creation: {
|
13
|
+
ruby_require('rubinius/profiler')
|
14
|
+
prof = Rubinius::Profiler::Instrumenter.new
|
15
|
+
prof.profile { work }
|
16
|
+
prof.show
|
17
|
+
}
|
18
|
+
}
|
data/lib/myco/toolset.rb
CHANGED
data/lib/myco/version.rb
CHANGED
@@ -1,11 +1,8 @@
|
|
1
1
|
|
2
2
|
module Myco
|
3
|
-
MYCO_VERSION = '0.1.0
|
3
|
+
MYCO_VERSION = '0.1.0'
|
4
4
|
|
5
5
|
MYCO_REQUIRED_GEMS = [
|
6
|
-
['kpeg', '~> 1.0'],
|
7
|
-
['racc', '~> 1.4'],
|
8
|
-
['rubinius-bridge', '~> 1.1'],
|
9
6
|
['rubinius-toolset', '~> 2.3'],
|
10
7
|
['rubinius-melbourne', '~> 2.2'],
|
11
8
|
['rubinius-processor', '~> 2.2'],
|
data/lib/myco.rb
CHANGED
@@ -4,7 +4,9 @@ Myco.activate_required_gems
|
|
4
4
|
|
5
5
|
require_relative 'myco/toolset'
|
6
6
|
require_relative 'myco/parser'
|
7
|
+
require_relative 'myco/code_loader'
|
7
8
|
require_relative 'myco/eval'
|
9
|
+
require_relative 'myco/misc'
|
8
10
|
require_relative 'myco/backtrace'
|
9
11
|
require_relative 'myco/bootstrap'
|
10
12
|
|
metadata
CHANGED
@@ -1,171 +1,206 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: myco
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Joe McIlvain
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
name: racc
|
26
|
-
prerelease: false
|
27
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
28
|
-
requirements:
|
29
|
-
- - ~>
|
30
|
-
- &id013 !ruby/object:Gem::Version
|
31
|
-
version: "1.4"
|
11
|
+
date: 2015-02-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
15
|
+
requirements:
|
16
|
+
- - "~>"
|
17
|
+
- !ruby/object:Gem::Version
|
18
|
+
version: '2.3'
|
19
|
+
name: rubinius-toolset
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - "~>"
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: '2.3'
|
32
25
|
type: :runtime
|
33
|
-
version_requirements: *id002
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: rubinius-bridge
|
36
26
|
prerelease: false
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '2.2'
|
33
|
+
name: rubinius-melbourne
|
34
|
+
version_requirements: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - "~>"
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '2.2'
|
42
39
|
type: :runtime
|
43
|
-
version_requirements: *id003
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: rubinius-toolset
|
46
40
|
prerelease: false
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
43
|
+
requirements:
|
44
|
+
- - "~>"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '2.2'
|
47
|
+
name: rubinius-processor
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - "~>"
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '2.2'
|
52
53
|
type: :runtime
|
53
|
-
version_requirements: *id004
|
54
|
-
- !ruby/object:Gem::Dependency
|
55
|
-
name: rubinius-melbourne
|
56
54
|
prerelease: false
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - "~>"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '2.2'
|
61
|
+
name: rubinius-compiler
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '2.2'
|
62
67
|
type: :runtime
|
63
|
-
version_requirements: *id005
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: rubinius-processor
|
66
68
|
prerelease: false
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '2.2'
|
75
|
+
name: rubinius-ast
|
76
|
+
version_requirements: !ruby/object:Gem::Requirement
|
77
|
+
requirements:
|
78
|
+
- - "~>"
|
79
|
+
- !ruby/object:Gem::Version
|
80
|
+
version: '2.2'
|
71
81
|
type: :runtime
|
72
|
-
version_requirements: *id007
|
73
|
-
- !ruby/object:Gem::Dependency
|
74
|
-
name: rubinius-compiler
|
75
82
|
prerelease: false
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - "~>"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '1.0'
|
89
|
+
name: kpeg
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '1.0'
|
95
|
+
type: :development
|
84
96
|
prerelease: false
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
- !ruby/object:Gem::Dependency
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - "~>"
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '1.6'
|
92
103
|
name: bundler
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
version: "1.6"
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
requirements:
|
106
|
+
- - "~>"
|
107
|
+
- !ruby/object:Gem::Version
|
108
|
+
version: '1.6'
|
99
109
|
type: :development
|
100
|
-
version_requirements: *id010
|
101
|
-
- !ruby/object:Gem::Dependency
|
102
|
-
name: rake
|
103
110
|
prerelease: false
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - "~>"
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '10.3'
|
117
|
+
name: rake
|
118
|
+
version_requirements: !ruby/object:Gem::Requirement
|
119
|
+
requirements:
|
120
|
+
- - "~>"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '10.3'
|
109
123
|
type: :development
|
110
|
-
version_requirements: *id011
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry
|
113
124
|
prerelease: false
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
requirement: !ruby/object:Gem::Requirement
|
127
|
+
requirements:
|
128
|
+
- - "~>"
|
129
|
+
- !ruby/object:Gem::Version
|
130
|
+
version: '0.9'
|
131
|
+
name: pry
|
132
|
+
version_requirements: !ruby/object:Gem::Requirement
|
133
|
+
requirements:
|
134
|
+
- - "~>"
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: '0.9'
|
119
137
|
type: :development
|
120
|
-
version_requirements: *id012
|
121
|
-
- !ruby/object:Gem::Dependency
|
122
|
-
name: pry-rescue
|
123
138
|
prerelease: false
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
requirement: !ruby/object:Gem::Requirement
|
141
|
+
requirements:
|
142
|
+
- - "~>"
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: '1.4'
|
145
|
+
name: pry-rescue
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - "~>"
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '1.4'
|
128
151
|
type: :development
|
129
|
-
version_requirements: *id014
|
130
|
-
- !ruby/object:Gem::Dependency
|
131
|
-
name: rspec
|
132
152
|
prerelease: false
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
155
|
+
requirements:
|
156
|
+
- - "~>"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '3.0'
|
159
|
+
name: rspec
|
160
|
+
version_requirements: !ruby/object:Gem::Requirement
|
161
|
+
requirements:
|
162
|
+
- - "~>"
|
163
|
+
- !ruby/object:Gem::Version
|
164
|
+
version: '3.0'
|
138
165
|
type: :development
|
139
|
-
version_requirements: *id015
|
140
|
-
- !ruby/object:Gem::Dependency
|
141
|
-
name: rspec-its
|
142
166
|
prerelease: false
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
requirement: !ruby/object:Gem::Requirement
|
169
|
+
requirements:
|
170
|
+
- - "~>"
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '1.0'
|
173
|
+
name: rspec-its
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - "~>"
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '1.0'
|
147
179
|
type: :development
|
148
|
-
version_requirements: *id017
|
149
|
-
- !ruby/object:Gem::Dependency
|
150
|
-
name: fivemat
|
151
180
|
prerelease: false
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
requirement: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '1.3'
|
187
|
+
name: fivemat
|
188
|
+
version_requirements: !ruby/object:Gem::Requirement
|
189
|
+
requirements:
|
190
|
+
- - "~>"
|
191
|
+
- !ruby/object:Gem::Version
|
192
|
+
version: '1.3'
|
157
193
|
type: :development
|
158
|
-
|
159
|
-
description:
|
194
|
+
prerelease: false
|
195
|
+
description: An experimental language on the Rubinius VM
|
160
196
|
email: joe.eli.mac@gmail.com
|
161
|
-
executables:
|
197
|
+
executables:
|
162
198
|
- myco
|
163
199
|
extensions: []
|
164
|
-
|
165
200
|
extra_rdoc_files: []
|
166
|
-
|
167
|
-
files:
|
201
|
+
files:
|
168
202
|
- LICENSE
|
203
|
+
- README.md
|
169
204
|
- bin/myco
|
170
205
|
- lib/myco.rb
|
171
206
|
- lib/myco/backtrace.rb
|
@@ -178,16 +213,24 @@ files:
|
|
178
213
|
- lib/myco/bootstrap/instance.rb
|
179
214
|
- lib/myco/bootstrap/meme.rb
|
180
215
|
- lib/myco/bootstrap/void.rb
|
216
|
+
- lib/myco/code_loader.rb
|
181
217
|
- lib/myco/command.my
|
218
|
+
- lib/myco/command/inoculate.my
|
219
|
+
- lib/myco/core/BasicDecorators.my
|
182
220
|
- lib/myco/core/BasicObject.my
|
183
221
|
- lib/myco/core/Category.my
|
184
222
|
- lib/myco/core/Decorator.my
|
185
223
|
- lib/myco/core/FileToplevel.my
|
224
|
+
- lib/myco/core/Myco.my
|
186
225
|
- lib/myco/core/Object.my
|
187
226
|
- lib/myco/core/Switch.my
|
188
227
|
- lib/myco/eval.rb
|
228
|
+
- lib/myco/misc.rb
|
189
229
|
- lib/myco/parser.rb
|
190
230
|
- lib/myco/parser/ast.rb
|
231
|
+
- lib/myco/parser/ast/argument_assembly.rb
|
232
|
+
- lib/myco/parser/ast/array_assembly.rb
|
233
|
+
- lib/myco/parser/ast/branch_operator.rb
|
191
234
|
- lib/myco/parser/ast/constant_access.rb
|
192
235
|
- lib/myco/parser/ast/constant_define.rb
|
193
236
|
- lib/myco/parser/ast/constant_reopen.rb
|
@@ -198,50 +241,77 @@ files:
|
|
198
241
|
- lib/myco/parser/ast/declare_object.rb
|
199
242
|
- lib/myco/parser/ast/declare_string.rb
|
200
243
|
- lib/myco/parser/ast/invoke.rb
|
244
|
+
- lib/myco/parser/ast/invoke_method.rb
|
201
245
|
- lib/myco/parser/ast/local_variable_access_ambiguous.rb
|
202
246
|
- lib/myco/parser/ast/misc.rb
|
203
247
|
- lib/myco/parser/ast/myco_module_scope.rb
|
204
248
|
- lib/myco/parser/ast/quest.rb
|
205
|
-
- lib/myco/parser/
|
206
|
-
- lib/myco/parser/
|
207
|
-
- lib/myco/parser/
|
208
|
-
- lib/myco/parser/
|
209
|
-
- lib/myco/parser/
|
210
|
-
- lib/myco/parser/
|
211
|
-
- lib/myco/parser/
|
212
|
-
- lib/myco/parser/
|
213
|
-
- lib/myco/parser/
|
249
|
+
- lib/myco/parser/ast/to_ruby.rb
|
250
|
+
- lib/myco/parser/ast/to_ruby/array_assembly.rb
|
251
|
+
- lib/myco/parser/ast/to_ruby/block.rb
|
252
|
+
- lib/myco/parser/ast/to_ruby/block_pass.rb
|
253
|
+
- lib/myco/parser/ast/to_ruby/branch_operator.rb
|
254
|
+
- lib/myco/parser/ast/to_ruby/constant_access.rb
|
255
|
+
- lib/myco/parser/ast/to_ruby/constant_assignment.rb
|
256
|
+
- lib/myco/parser/ast/to_ruby/constant_define.rb
|
257
|
+
- lib/myco/parser/ast/to_ruby/constant_reopen.rb
|
258
|
+
- lib/myco/parser/ast/to_ruby/declare_category.rb
|
259
|
+
- lib/myco/parser/ast/to_ruby/declare_decorator.rb
|
260
|
+
- lib/myco/parser/ast/to_ruby/declare_file.rb
|
261
|
+
- lib/myco/parser/ast/to_ruby/declare_meme.rb
|
262
|
+
- lib/myco/parser/ast/to_ruby/declare_object.rb
|
263
|
+
- lib/myco/parser/ast/to_ruby/declare_string.rb
|
264
|
+
- lib/myco/parser/ast/to_ruby/dynamic_string.rb
|
265
|
+
- lib/myco/parser/ast/to_ruby/dynamic_symbol.rb
|
266
|
+
- lib/myco/parser/ast/to_ruby/eval_expression.rb
|
267
|
+
- lib/myco/parser/ast/to_ruby/false_literal.rb
|
268
|
+
- lib/myco/parser/ast/to_ruby/hash_literal.rb
|
269
|
+
- lib/myco/parser/ast/to_ruby/invoke.rb
|
270
|
+
- lib/myco/parser/ast/to_ruby/invoke_method.rb
|
271
|
+
- lib/myco/parser/ast/to_ruby/iter.rb
|
272
|
+
- lib/myco/parser/ast/to_ruby/local_variable_access_ambiguous.rb
|
273
|
+
- lib/myco/parser/ast/to_ruby/local_variable_assignment.rb
|
274
|
+
- lib/myco/parser/ast/to_ruby/myco_module_scope.rb
|
275
|
+
- lib/myco/parser/ast/to_ruby/null_literal.rb
|
276
|
+
- lib/myco/parser/ast/to_ruby/parameters.rb
|
277
|
+
- lib/myco/parser/ast/to_ruby/quest.rb
|
278
|
+
- lib/myco/parser/ast/to_ruby/return.rb
|
279
|
+
- lib/myco/parser/ast/to_ruby/scoped_constant.rb
|
280
|
+
- lib/myco/parser/ast/to_ruby/self.rb
|
281
|
+
- lib/myco/parser/ast/to_ruby/splat_value.rb
|
282
|
+
- lib/myco/parser/ast/to_ruby/string_literal.rb
|
283
|
+
- lib/myco/parser/ast/to_ruby/symbol_literal.rb
|
284
|
+
- lib/myco/parser/ast/to_ruby/toplevel_constant.rb
|
285
|
+
- lib/myco/parser/ast/to_ruby/true_literal.rb
|
286
|
+
- lib/myco/parser/ast/to_ruby/void_literal.rb
|
214
287
|
- lib/myco/parser/peg_parser.rb
|
215
|
-
- lib/myco/tools/
|
288
|
+
- lib/myco/tools/BasicCommand.my
|
289
|
+
- lib/myco/tools/Generator.my
|
216
290
|
- lib/myco/tools/mycompile.my
|
217
291
|
- lib/myco/toolset.rb
|
218
292
|
- lib/myco/version.rb
|
219
293
|
homepage: https://github.com/jemc/myco/
|
220
|
-
licenses:
|
221
|
-
- Copyright 2013-
|
294
|
+
licenses:
|
295
|
+
- Copyright 2013-2015 Joe McIlvain. All rights reserved.
|
222
296
|
metadata: {}
|
223
|
-
|
224
297
|
post_install_message:
|
225
298
|
rdoc_options: []
|
226
|
-
|
227
|
-
require_paths:
|
299
|
+
require_paths:
|
228
300
|
- lib
|
229
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
230
|
-
requirements:
|
301
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
302
|
+
requirements:
|
303
|
+
- - ">="
|
304
|
+
- !ruby/object:Gem::Version
|
305
|
+
version: '0'
|
306
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
307
|
+
requirements:
|
231
308
|
- - ">="
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version:
|
234
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
235
|
-
requirements:
|
236
|
-
- - ">"
|
237
|
-
- !ruby/object:Gem::Version
|
238
|
-
version: 1.3.1
|
309
|
+
- !ruby/object:Gem::Version
|
310
|
+
version: '0'
|
239
311
|
requirements: []
|
240
|
-
|
241
312
|
rubyforge_project:
|
242
|
-
rubygems_version: 2.
|
313
|
+
rubygems_version: 2.4.5
|
243
314
|
signing_key:
|
244
315
|
specification_version: 4
|
245
|
-
summary:
|
316
|
+
summary: An experimental language on the Rubinius VM
|
246
317
|
test_files: []
|
247
|
-
|