myco 0.1.0.dev → 0.1.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.
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
-