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.
Files changed (95) hide show
  1. checksums.yaml +7 -7
  2. data/LICENSE +1 -1
  3. data/README.md +79 -0
  4. data/lib/myco/backtrace.rb +1 -1
  5. data/lib/myco/bootstrap/component.rb +78 -39
  6. data/lib/myco/bootstrap/find_constant.rb +12 -1
  7. data/lib/myco/bootstrap/instance.rb +5 -12
  8. data/lib/myco/bootstrap/meme.rb +176 -28
  9. data/lib/myco/bootstrap.my +8 -7
  10. data/lib/myco/code_loader.rb +332 -0
  11. data/lib/myco/command/inoculate.my +83 -0
  12. data/lib/myco/command.my +26 -26
  13. data/lib/myco/core/BasicDecorators.my +62 -0
  14. data/lib/myco/core/BasicObject.my +12 -34
  15. data/lib/myco/core/Decorator.my +1 -0
  16. data/lib/myco/core/FileToplevel.my +0 -3
  17. data/lib/myco/core/Myco.my +4 -0
  18. data/lib/myco/core/Object.my +6 -4
  19. data/lib/myco/eval.rb +17 -18
  20. data/lib/myco/misc.rb +16 -0
  21. data/lib/myco/parser/ast/argument_assembly.rb +76 -0
  22. data/lib/myco/parser/ast/array_assembly.rb +57 -0
  23. data/lib/myco/parser/ast/branch_operator.rb +73 -0
  24. data/lib/myco/parser/ast/constant_access.rb +4 -18
  25. data/lib/myco/parser/ast/constant_define.rb +3 -3
  26. data/lib/myco/parser/ast/constant_reopen.rb +12 -13
  27. data/lib/myco/parser/ast/declare_category.rb +8 -6
  28. data/lib/myco/parser/ast/declare_decorator.rb +4 -4
  29. data/lib/myco/parser/ast/declare_file.rb +4 -4
  30. data/lib/myco/parser/ast/declare_meme.rb +53 -11
  31. data/lib/myco/parser/ast/declare_object.rb +9 -7
  32. data/lib/myco/parser/ast/declare_string.rb +5 -5
  33. data/lib/myco/parser/ast/invoke.rb +18 -36
  34. data/lib/myco/parser/ast/invoke_method.rb +28 -0
  35. data/lib/myco/parser/ast/local_variable_access_ambiguous.rb +9 -13
  36. data/lib/myco/parser/ast/misc.rb +128 -33
  37. data/lib/myco/parser/ast/myco_module_scope.rb +26 -0
  38. data/lib/myco/parser/ast/quest.rb +3 -3
  39. data/lib/myco/parser/ast/to_ruby/array_assembly.rb +15 -0
  40. data/lib/myco/parser/ast/to_ruby/block.rb +14 -0
  41. data/lib/myco/parser/ast/to_ruby/block_pass.rb +6 -0
  42. data/lib/myco/parser/ast/to_ruby/branch_operator.rb +9 -0
  43. data/lib/myco/parser/ast/to_ruby/constant_access.rb +10 -0
  44. data/lib/myco/parser/ast/to_ruby/constant_assignment.rb +6 -0
  45. data/lib/myco/parser/ast/to_ruby/constant_define.rb +9 -0
  46. data/lib/myco/parser/ast/to_ruby/constant_reopen.rb +6 -0
  47. data/lib/myco/parser/ast/to_ruby/declare_category.rb +7 -0
  48. data/lib/myco/parser/ast/to_ruby/declare_decorator.rb +6 -0
  49. data/lib/myco/parser/ast/to_ruby/declare_file.rb +6 -0
  50. data/lib/myco/parser/ast/to_ruby/declare_meme.rb +16 -0
  51. data/lib/myco/parser/ast/to_ruby/declare_object.rb +8 -0
  52. data/lib/myco/parser/ast/to_ruby/declare_string.rb +6 -0
  53. data/lib/myco/parser/ast/to_ruby/dynamic_string.rb +14 -0
  54. data/lib/myco/parser/ast/to_ruby/dynamic_symbol.rb +7 -0
  55. data/lib/myco/parser/ast/to_ruby/eval_expression.rb +6 -0
  56. data/lib/myco/parser/ast/to_ruby/false_literal.rb +6 -0
  57. data/lib/myco/parser/ast/to_ruby/hash_literal.rb +16 -0
  58. data/lib/myco/parser/ast/to_ruby/invoke.rb +6 -0
  59. data/lib/myco/parser/ast/to_ruby/invoke_method.rb +35 -0
  60. data/lib/myco/parser/ast/to_ruby/iter.rb +10 -0
  61. data/lib/myco/parser/ast/to_ruby/local_variable_access_ambiguous.rb +16 -0
  62. data/lib/myco/parser/ast/to_ruby/local_variable_assignment.rb +8 -0
  63. data/lib/myco/parser/ast/to_ruby/myco_module_scope.rb +8 -0
  64. data/lib/myco/parser/ast/to_ruby/null_literal.rb +6 -0
  65. data/lib/myco/parser/ast/to_ruby/parameters.rb +60 -0
  66. data/lib/myco/parser/ast/to_ruby/quest.rb +13 -0
  67. data/lib/myco/parser/ast/to_ruby/return.rb +7 -0
  68. data/lib/myco/parser/ast/to_ruby/scoped_constant.rb +11 -0
  69. data/lib/myco/parser/ast/to_ruby/self.rb +6 -0
  70. data/lib/myco/parser/ast/to_ruby/splat_value.rb +33 -0
  71. data/lib/myco/parser/ast/to_ruby/string_literal.rb +6 -0
  72. data/lib/myco/parser/ast/to_ruby/symbol_literal.rb +6 -0
  73. data/lib/myco/parser/ast/to_ruby/toplevel_constant.rb +11 -0
  74. data/lib/myco/parser/ast/to_ruby/true_literal.rb +6 -0
  75. data/lib/myco/parser/ast/to_ruby/void_literal.rb +6 -0
  76. data/lib/myco/parser/ast/to_ruby.rb +138 -0
  77. data/lib/myco/parser/ast.rb +6 -0
  78. data/lib/myco/parser/peg_parser.rb +361 -181
  79. data/lib/myco/parser.rb +27 -11
  80. data/lib/myco/tools/BasicCommand.my +42 -0
  81. data/lib/myco/tools/Generator.my +18 -0
  82. data/lib/myco/toolset.rb +0 -3
  83. data/lib/myco/version.rb +1 -4
  84. data/lib/myco.rb +2 -0
  85. metadata +230 -160
  86. data/lib/myco/parser/builder.output +0 -3995
  87. data/lib/myco/parser/builder.racc +0 -585
  88. data/lib/myco/parser/builder.rb +0 -1592
  89. data/lib/myco/parser/lexer.rb +0 -2306
  90. data/lib/myco/parser/lexer.rl +0 -393
  91. data/lib/myco/parser/lexer_char_classes.rl +0 -56
  92. data/lib/myco/parser/lexer_common.rb +0 -95
  93. data/lib/myco/parser/lexer_skeleton.rl +0 -154
  94. data/lib/myco/parser/peg_parser.kpeg +0 -759
  95. 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
- include CodeTools::AST::ProcessorMethods
47
+ Implementation = PegParserWrapper
26
48
 
27
49
  def parse_string string
28
- @peg_parser = Myco::ToolSet::PegParser.new string
29
- @peg_parser.processor = self
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
@@ -1,9 +1,6 @@
1
1
 
2
- require "rubinius/bridge"
3
2
  require "rubinius/toolset"
4
3
 
5
- module Myco; end
6
-
7
4
  module Myco
8
5
  ToolSet = Rubinius::ToolSets.create :myco do
9
6
  require "rubinius/melbourne"
data/lib/myco/version.rb CHANGED
@@ -1,11 +1,8 @@
1
1
 
2
2
  module Myco
3
- MYCO_VERSION = '0.1.0.dev'
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.dev
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
- date: 2014-09-11 00:00:00 Z
13
- dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: kpeg
16
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
18
- requirements:
19
- - - ~>
20
- - &id016 !ruby/object:Gem::Version
21
- version: "1.0"
22
- type: :runtime
23
- version_requirements: *id001
24
- - !ruby/object:Gem::Dependency
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
- requirement: &id003 !ruby/object:Gem::Requirement
38
- requirements:
39
- - - ~>
40
- - !ruby/object:Gem::Version
41
- version: "1.1"
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
- requirement: &id004 !ruby/object:Gem::Requirement
48
- requirements:
49
- - - ~>
50
- - !ruby/object:Gem::Version
51
- version: "2.3"
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
- requirement: &id005 !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - &id006 !ruby/object:Gem::Version
61
- version: "2.2"
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
- requirement: &id007 !ruby/object:Gem::Requirement
68
- requirements:
69
- - - ~>
70
- - *id006
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
- requirement: &id008 !ruby/object:Gem::Requirement
77
- requirements:
78
- - - ~>
79
- - *id006
80
- type: :runtime
81
- version_requirements: *id008
82
- - !ruby/object:Gem::Dependency
83
- name: rubinius-ast
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
- requirement: &id009 !ruby/object:Gem::Requirement
86
- requirements:
87
- - - ~>
88
- - *id006
89
- type: :runtime
90
- version_requirements: *id009
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
- prerelease: false
94
- requirement: &id010 !ruby/object:Gem::Requirement
95
- requirements:
96
- - - ~>
97
- - !ruby/object:Gem::Version
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
- requirement: &id011 !ruby/object:Gem::Requirement
105
- requirements:
106
- - - ~>
107
- - !ruby/object:Gem::Version
108
- version: "10.3"
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
- requirement: &id012 !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ~>
117
- - !ruby/object:Gem::Version
118
- version: "0.9"
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
- requirement: &id014 !ruby/object:Gem::Requirement
125
- requirements:
126
- - - ~>
127
- - *id013
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
- requirement: &id015 !ruby/object:Gem::Requirement
134
- requirements:
135
- - - ~>
136
- - !ruby/object:Gem::Version
137
- version: "3.0"
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
- requirement: &id017 !ruby/object:Gem::Requirement
144
- requirements:
145
- - - ~>
146
- - *id016
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
- requirement: &id018 !ruby/object:Gem::Requirement
153
- requirements:
154
- - - ~>
155
- - !ruby/object:Gem::Version
156
- version: "1.3"
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
- version_requirements: *id018
159
- description: A toy language built atop the Rubinius VM
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/builder.output
206
- - lib/myco/parser/builder.racc
207
- - lib/myco/parser/builder.rb
208
- - lib/myco/parser/lexer.rb
209
- - lib/myco/parser/lexer.rl
210
- - lib/myco/parser/lexer_char_classes.rl
211
- - lib/myco/parser/lexer_common.rb
212
- - lib/myco/parser/lexer_skeleton.rl
213
- - lib/myco/parser/peg_parser.kpeg
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/OptionParser.my
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-2014 Joe McIlvain. All rights reserved.
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: "0"
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.3.0
313
+ rubygems_version: 2.4.5
243
314
  signing_key:
244
315
  specification_version: 4
245
- summary: A toy language built atop the Rubinius VM
316
+ summary: An experimental language on the Rubinius VM
246
317
  test_files: []
247
-