myco 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/myco/code_tools/AST/ArgumentAssembly.my.rb +4 -4
  3. data/lib/myco/code_tools/AST/ArrayAssembly.my.rb +4 -4
  4. data/lib/myco/code_tools/AST/Block.my +104 -0
  5. data/lib/myco/code_tools/AST/Block.my.rb +126 -0
  6. data/lib/myco/code_tools/AST/BlockArgument.my.rb +4 -4
  7. data/lib/myco/code_tools/AST/BlockLiteral.my +15 -94
  8. data/lib/myco/code_tools/AST/BlockLiteral.my.rb +18 -121
  9. data/lib/myco/code_tools/AST/BlockParameter.my.rb +4 -4
  10. data/lib/myco/code_tools/AST/BranchOperator.my.rb +4 -4
  11. data/lib/myco/code_tools/AST/ConstantAccess.my.rb +4 -4
  12. data/lib/myco/code_tools/AST/ConstantAssignment.my.rb +4 -4
  13. data/lib/myco/code_tools/AST/ConstantDefine.my.rb +4 -4
  14. data/lib/myco/code_tools/AST/ConstantReopen.my.rb +6 -6
  15. data/lib/myco/code_tools/AST/DeclareCategory.my.rb +6 -6
  16. data/lib/myco/code_tools/AST/DeclareDecorator.my.rb +4 -4
  17. data/lib/myco/code_tools/AST/DeclareFile.my.rb +6 -6
  18. data/lib/myco/code_tools/AST/DeclareMeme.my +3 -1
  19. data/lib/myco/code_tools/AST/DeclareMeme.my.rb +10 -6
  20. data/lib/myco/code_tools/AST/DeclareObject.my.rb +6 -6
  21. data/lib/myco/code_tools/AST/DeclareString.my.rb +4 -4
  22. data/lib/myco/code_tools/AST/DynamicString.my.rb +4 -4
  23. data/lib/myco/code_tools/AST/DynamicSymbol.my.rb +4 -4
  24. data/lib/myco/code_tools/AST/Invoke.my +3 -4
  25. data/lib/myco/code_tools/AST/Invoke.my.rb +5 -15
  26. data/lib/myco/code_tools/AST/InvokeMethod.my.rb +4 -4
  27. data/lib/myco/code_tools/AST/KeywordAssembly.my.rb +4 -4
  28. data/lib/myco/code_tools/AST/LocalVariableAccessAmbiguous.my.rb +4 -4
  29. data/lib/myco/code_tools/AST/LocalVariableAssignment.my.rb +4 -4
  30. data/lib/myco/code_tools/AST/MycoModuleScope.my +1 -1
  31. data/lib/myco/code_tools/AST/MycoModuleScope.my.rb +2 -2
  32. data/lib/myco/code_tools/AST/Node.my.rb +4 -4
  33. data/lib/myco/code_tools/AST/ParameterAssembly.my.rb +4 -4
  34. data/lib/myco/code_tools/AST/PipeOperator.my +25 -0
  35. data/lib/myco/code_tools/AST/PipeOperator.my.rb +28 -0
  36. data/lib/myco/code_tools/AST/Quest.my.rb +7 -7
  37. data/lib/myco/code_tools/AST/Script.my.rb +4 -4
  38. data/lib/myco/code_tools/AST/{Body.my → Sequence.my} +2 -2
  39. data/lib/myco/code_tools/AST/{Body.my.rb → Sequence.my.rb} +6 -6
  40. data/lib/myco/code_tools/AST/SplatValue.my.rb +4 -4
  41. data/lib/myco/code_tools/AST/StringLiteral.my.rb +4 -4
  42. data/lib/myco/code_tools/AST/SymbolLiteral.my.rb +4 -4
  43. data/lib/myco/code_tools/AST/ToRuby.my +9 -3
  44. data/lib/myco/code_tools/AST/ToRuby.my.rb +7 -5
  45. data/lib/myco/code_tools/AST/misc.my.rb +17 -17
  46. data/lib/myco/code_tools/AST.my +5 -3
  47. data/lib/myco/code_tools/AST.my.rb +7 -6
  48. data/lib/myco/code_tools/Parser.my.rb +4 -4
  49. data/lib/myco/code_tools/parser/MycoBuilder.my.rb +1 -1
  50. data/lib/myco/code_tools/parser/MycoCharacterClasses.my.rb +2 -2
  51. data/lib/myco/code_tools/parser/MycoGrammar.my +68 -25
  52. data/lib/myco/code_tools/parser/MycoGrammar.my.rb +126 -51
  53. data/lib/myco/code_tools/parser/MycoTokens.my +3 -2
  54. data/lib/myco/code_tools/parser/MycoTokens.my.rb +11 -7
  55. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Builder.my.rb +2 -2
  56. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my +1 -1
  57. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeHelpers.my.rb +3 -3
  58. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my +11 -11
  59. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeInstructions.my.rb +11 -11
  60. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my +1 -1
  61. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/BytecodeParser.my.rb +3 -6
  62. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Constructions.my.rb +40 -40
  63. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my +3 -2
  64. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Grammar.my.rb +9 -8
  65. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Instructions.my.rb +2 -2
  66. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Machine.my.rb +2 -2
  67. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Parser.my.rb +2 -2
  68. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Patterns.my.rb +44 -44
  69. data/lib/myco/code_tools/parser/pegleromyces/lib/pegleromyces/Processor.my.rb +4 -4
  70. data/lib/myco/tools/BasicCommand.my.rb +4 -4
  71. data/lib/myco/version.rb +1 -1
  72. metadata +16 -13
@@ -1,14 +1,14 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:ConstantAssignment, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::ConstantAssignment = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:constant, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:value, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
7
+ ::Myco.cscope.for_method_definition::Form = ([
8
8
  :cdecl,
9
9
  :constant,
10
10
  :value
11
- ]))
11
+ ])
12
12
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
13
13
  self.pos(g)
14
14
  name_list = self.constant.names.map(&:to_sym)
@@ -35,5 +35,5 @@
35
35
  2
36
36
  )
37
37
  )}
38
- )}})
38
+ )}}
39
39
  .tap { |__c__| __c__.__name__ = :ConstantAssignment })})}}.instance
@@ -1,14 +1,14 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:ConstantDefine, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::ConstantDefine = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:constant, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:object, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
7
+ ::Myco.cscope.for_method_definition::Form = ([
8
8
  :cdefn,
9
9
  :constant,
10
10
  :object
11
- ]))
11
+ ])
12
12
  declare_meme(:implementation, [], nil, ::Myco.cscope.dup) { |*| (::Myco.find_constant(:ConstantAssignment).new({
13
13
  :line => self.line,
14
14
  :constant => self.constant,
@@ -32,5 +32,5 @@
32
32
  )
33
33
  g.pop
34
34
  )}
35
- )}})
35
+ )}}
36
36
  .tap { |__c__| __c__.__name__ = :ConstantDefine })})}}.instance
@@ -1,7 +1,7 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:ConstantReopenScope, ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::ConstantReopenScope = ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(declare_meme(:body_bytecode, [], nil, ::Myco.cscope.dup) { |g| (
6
6
  g.push_scope
7
7
  g.send(
@@ -10,17 +10,17 @@
10
10
  )
11
11
  g.pop
12
12
  self.body.bytecode(g)
13
- )})}})
13
+ )})}}
14
14
  .tap { |__c__| __c__.__name__ = :ConstantReopenScope }
15
- ::Myco.cscope.for_method_definition.const_set(:ConstantReopen, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
15
+ ::Myco.cscope.for_method_definition::ConstantReopen = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
16
16
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
17
17
  declare_meme(:constant, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
18
18
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
19
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
19
+ ::Myco.cscope.for_method_definition::Form = ([
20
20
  :copen,
21
21
  :constant,
22
22
  :body
23
- ]))
23
+ ])
24
24
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
25
25
  self.pos(g)
26
26
  scope = ::Myco.find_constant(:ConstantReopenScope).new({
@@ -30,6 +30,6 @@
30
30
  self.constant.bytecode(g)
31
31
  scope.bytecode(g)
32
32
  )}
33
- )}})
33
+ )}}
34
34
  .tap { |__c__| __c__.__name__ = :ConstantReopen }
35
35
  )})}}.instance
@@ -1,7 +1,7 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:DeclareCategoryScope, ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::DeclareCategoryScope = ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(declare_meme(:body_bytecode, [], nil, ::Myco.cscope.dup) { |g| (
6
6
  g.push_scope
7
7
  g.send(
@@ -10,17 +10,17 @@
10
10
  )
11
11
  g.pop
12
12
  self.body.bytecode(g)
13
- )})}})
13
+ )})}}
14
14
  .tap { |__c__| __c__.__name__ = :DeclareCategoryScope }
15
- ::Myco.cscope.for_method_definition.const_set(:DeclareCategory, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
15
+ ::Myco.cscope.for_method_definition::DeclareCategory = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
16
16
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
17
17
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
18
18
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
19
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
19
+ ::Myco.cscope.for_method_definition::Form = ([
20
20
  :category,
21
21
  :name,
22
22
  :body
23
- ]))
23
+ ])
24
24
  declare_meme(:scope_implementation, [], nil, ::Myco.cscope.dup) { |*| (::Myco.find_constant(:DeclareCategoryScope).new({
25
25
  :line => self.line,
26
26
  :body => self.body
@@ -35,6 +35,6 @@
35
35
  )
36
36
  self.scope_implementation.bytecode(g)
37
37
  )}
38
- )}})
38
+ )}}
39
39
  .tap { |__c__| __c__.__name__ = :DeclareCategory }
40
40
  )})}}.instance
@@ -1,6 +1,6 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:DeclareDecorator, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::DeclareDecorator = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:arguments, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
@@ -8,11 +8,11 @@
8
8
  :line => self.line,
9
9
  :body => []
10
10
  })})}
11
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
11
+ ::Myco.cscope.for_method_definition::Form = ([
12
12
  :deco,
13
13
  :name,
14
14
  :arguments
15
- ]))
15
+ ])
16
16
  declare_meme(:implementation, [], nil, ::Myco.cscope.dup) { |*| (::Myco.find_constant(:ArrayAssembly).new({
17
17
  :line => self.line,
18
18
  :body => [
@@ -24,5 +24,5 @@
24
24
  self.pos(g)
25
25
  self.implementation.bytecode(g)
26
26
  )}
27
- )}})
27
+ )}}
28
28
  .tap { |__c__| __c__.__name__ = :DeclareDecorator })})}}.instance
@@ -1,7 +1,7 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:DeclareFileScope, ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::DeclareFileScope = ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(declare_meme(:body_bytecode, [], nil, ::Myco.cscope.dup) { |g| (
6
6
  g.push_scope
7
7
  g.send(
@@ -10,15 +10,15 @@
10
10
  )
11
11
  g.pop
12
12
  self.body.bytecode(g)
13
- )})}})
13
+ )})}}
14
14
  .tap { |__c__| __c__.__name__ = :DeclareFileScope }
15
- ::Myco.cscope.for_method_definition.const_set(:DeclareFile, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
15
+ ::Myco.cscope.for_method_definition::DeclareFile = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
16
16
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
17
17
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
18
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
18
+ ::Myco.cscope.for_method_definition::Form = ([
19
19
  :declfile,
20
20
  :body
21
- ]))
21
+ ])
22
22
  declare_meme(:inspect, [], nil, ::Myco.cscope.dup) { |*| (self.to_s)}
23
23
  declare_meme(:implementation, [], nil, ::Myco.cscope.dup) { |*| (
24
24
  type = ::Myco.find_constant(:ConstantAccess).new({
@@ -48,6 +48,6 @@
48
48
  self.pos(g)
49
49
  self.implementation.bytecode(g)
50
50
  )}
51
- )}})
51
+ )}}
52
52
  .tap { |__c__| __c__.__name__ = :DeclareFile }
53
53
  )})}}.instance
@@ -1,9 +1,11 @@
1
1
 
2
2
  CodeTools::AST << {
3
3
 
4
- DeclareMemeBody < BlockLiteral {
4
+ DeclareMemeBody < Block {
5
5
  var name
6
6
 
7
+ Form: [:"DeclareMemeBody", :name] # To prevent it from masquerading as a Block TODO: remove
8
+
7
9
  bytecode: |g| {
8
10
  pos(g)
9
11
 
@@ -1,9 +1,13 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:DeclareMemeBody, ::Myco::Component.new([::Myco.find_constant(:BlockLiteral)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::DeclareMemeBody = ::Myco::Component.new([::Myco.find_constant(:Block)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
6
6
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
+ ::Myco.cscope.for_method_definition::Form = ([
8
+ :DeclareMemeBody,
9
+ :name
10
+ ])
7
11
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
8
12
  self.pos(g)
9
13
  g.state.scope.nest_scope(self)
@@ -38,21 +42,21 @@
38
42
  g.add_scope
39
43
  g.create_block(meth)
40
44
  )}
41
- )}})
45
+ )}}
42
46
  .tap { |__c__| __c__.__name__ = :DeclareMemeBody }
43
- ::Myco.cscope.for_method_definition.const_set(:DeclareMeme, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
47
+ ::Myco.cscope.for_method_definition::DeclareMeme = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
44
48
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
45
49
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
46
50
  declare_meme(:decorations, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
47
51
  declare_meme(:parameters, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
48
52
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
49
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
53
+ ::Myco.cscope.for_method_definition::Form = ([
50
54
  :meme,
51
55
  :name,
52
56
  :decorations,
53
57
  :parameters,
54
58
  :body
55
- ]))
59
+ ])
56
60
  declare_meme(:name, [[:setter, []]], nil, ::Myco.cscope.dup) { |x| (x.value)}
57
61
  declare_meme(:decorations, [[:setter, []]], nil, ::Myco.cscope.dup) { |x| (::Myco.branch_op(:"||", x) {::Myco.find_constant(:ArrayAssembly).new({
58
62
  :line => self.line,
@@ -85,6 +89,6 @@
85
89
  3
86
90
  )
87
91
  )}
88
- )}})
92
+ )}}
89
93
  .tap { |__c__| __c__.__name__ = :DeclareMeme }
90
94
  )})}}.instance
@@ -1,7 +1,7 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:DeclareObjectScope, ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::DeclareObjectScope = ::Myco::Component.new([::Myco.find_constant(:MycoModuleScope)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(declare_meme(:body_bytecode, [], nil, ::Myco.cscope.dup) { |g| (
6
6
  g.push_scope
7
7
  g.send(
@@ -10,17 +10,17 @@
10
10
  )
11
11
  g.pop
12
12
  self.body.bytecode(g)
13
- )})}})
13
+ )})}}
14
14
  .tap { |__c__| __c__.__name__ = :DeclareObjectScope }
15
- ::Myco.cscope.for_method_definition.const_set(:DeclareObject, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
15
+ ::Myco.cscope.for_method_definition::DeclareObject = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
16
16
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
17
17
  declare_meme(:types, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
18
18
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
19
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
19
+ ::Myco.cscope.for_method_definition::Form = ([
20
20
  :declobj,
21
21
  :types,
22
22
  :body
23
- ]))
23
+ ])
24
24
  declare_meme(:create, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (true)}
25
25
  declare_meme(:scope_type, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (::Myco.find_constant(:DeclareObjectScope))}
26
26
  declare_meme(:scope_implementation, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (self.scope_type.new({
@@ -62,6 +62,6 @@
62
62
  0
63
63
  )}
64
64
  )}
65
- )}})
65
+ )}}
66
66
  .tap { |__c__| __c__.__name__ = :DeclareObject }
67
67
  )})}}.instance
@@ -1,14 +1,14 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:DeclareString, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::DeclareString = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:types, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:string, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
7
+ ::Myco.cscope.for_method_definition::Form = ([
8
8
  :declstr,
9
9
  :types,
10
10
  :string
11
- ]))
11
+ ])
12
12
  declare_meme(:implementation, [], nil, ::Myco.cscope.dup) { |*| (::Myco.find_constant(:InvokeMethod).new({
13
13
  :line => self.string.line,
14
14
  :name => :from_string,
@@ -26,5 +26,5 @@
26
26
  self.pos(g)
27
27
  self.implementation.bytecode(g)
28
28
  )}
29
- )}})
29
+ )}}
30
30
  .tap { |__c__| __c__.__name__ = :DeclareString })})}}.instance
@@ -1,12 +1,12 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:DynamicString, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::DynamicString = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
6
+ ::Myco.cscope.for_method_definition::Form = ([
7
7
  :dstr,
8
8
  :body
9
- ]))
9
+ ])
10
10
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
11
11
  self.pos(g)
12
12
  self.body.each_slice(2) { |string, other| (
@@ -18,5 +18,5 @@
18
18
  )}
19
19
  g.string_build(self.body.size)
20
20
  )}
21
- )}})
21
+ )}}
22
22
  .tap { |__c__| __c__.__name__ = :DynamicString })})}}.instance
@@ -1,12 +1,12 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:DynamicSymbol, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::DynamicSymbol = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
6
+ ::Myco.cscope.for_method_definition::Form = ([
7
7
  :dsym,
8
8
  :body
9
- ]))
9
+ ])
10
10
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
11
11
  self.pos(g)
12
12
  self.body.each_slice(2) { |string, other| (
@@ -22,5 +22,5 @@
22
22
  0
23
23
  )
24
24
  )}
25
- )}})
25
+ )}}
26
26
  .tap { |__c__| __c__.__name__ = :DynamicSymbol })})}}.instance
@@ -2,9 +2,9 @@
2
2
  CodeTools::AST << {
3
3
 
4
4
  Invoke < Node {
5
- var receiver, var name, var arguments, var block_params, var block
5
+ var receiver, var name, var arguments, var block
6
6
 
7
- Form: [:invoke, :receiver, :name, :arguments, :block_params, :block]
7
+ Form: [:invoke, :receiver, :name, :arguments, :block]
8
8
 
9
9
  bytecode: |g| pos(g); implementation.bytecode(g)
10
10
 
@@ -14,8 +14,7 @@ CodeTools::AST << {
14
14
  # TODO: don't change AST state from here
15
15
  self.block && (
16
16
  self.arguments = self.arguments || ArgumentAssembly.new(line:self.line, body:[])
17
- self.block_params = self.block_params || ParameterAssembly.new(line:self.line)
18
- self.arguments.block = BlockLiteral.new(line:self.line, parameters:self.block_params, body:self.block)
17
+ self.arguments.block = self.block
19
18
  )
20
19
 
21
20
  self.receiver.nil? && self.arguments.nil? &? (
@@ -1,20 +1,18 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:Invoke, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::Invoke = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:receiver, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
7
  declare_meme(:arguments, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
8
- declare_meme(:block_params, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
9
8
  declare_meme(:block, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
10
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
9
+ ::Myco.cscope.for_method_definition::Form = ([
11
10
  :invoke,
12
11
  :receiver,
13
12
  :name,
14
13
  :arguments,
15
- :block_params,
16
14
  :block
17
- ]))
15
+ ])
18
16
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
19
17
  self.pos(g)
20
18
  self.implementation.bytecode(g)
@@ -28,17 +26,9 @@
28
26
  :body => []
29
27
  })}
30
28
  )
31
- self.__send__(
32
- :block_params=,
33
- ::Myco.branch_op(:"||", self.block_params) {::Myco.find_constant(:ParameterAssembly).new({:line => self.line})}
34
- )
35
29
  self.arguments.__send__(
36
30
  :block=,
37
- ::Myco.find_constant(:BlockLiteral).new({
38
- :line => self.line,
39
- :parameters => self.block_params,
40
- :body => self.block
41
- })
31
+ self.block
42
32
  )
43
33
  )}
44
34
  ::Myco.branch_op(:"??", ::Myco.branch_op(:"&?", ::Myco.branch_op(:"&&", self.receiver.__send__(:nil?)) {self.arguments.__send__(:nil?)}) {::Myco.find_constant(:LocalVariableAccessAmbiguous).new({
@@ -54,5 +44,5 @@
54
44
  })}
55
45
  })}
56
46
  )}
57
- )}})
47
+ )}}
58
48
  .tap { |__c__| __c__.__name__ = :Invoke })})}}.instance
@@ -1,16 +1,16 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:InvokeMethod, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::InvokeMethod = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:receiver, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
7
  declare_meme(:arguments, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
8
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
8
+ ::Myco.cscope.for_method_definition::Form = ([
9
9
  :call,
10
10
  :receiver,
11
11
  :name,
12
12
  :arguments
13
- ]))
13
+ ])
14
14
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
15
15
  self.receiver.bytecode(g)
16
16
  self.arguments.bytecode(g)
@@ -21,5 +21,5 @@
21
21
  self.arguments.send_count
22
22
  )
23
23
  )}
24
- )}})
24
+ )}}
25
25
  .tap { |__c__| __c__.__name__ = :InvokeMethod })})}}.instance
@@ -1,12 +1,12 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:KeywordAssembly, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::KeywordAssembly = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:body, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
6
+ ::Myco.cscope.for_method_definition::Form = ([
7
7
  :hash,
8
8
  :body
9
- ]))
9
+ ])
10
10
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
11
11
  self.pos(g)
12
12
  g.push_cpath_top
@@ -32,5 +32,5 @@
32
32
  g.pop
33
33
  )}
34
34
  )}
35
- )}})
35
+ )}}
36
36
  .tap { |__c__| __c__.__name__ = :KeywordAssembly })})}}.instance
@@ -1,12 +1,12 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:LocalVariableAccessAmbiguous, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::LocalVariableAccessAmbiguous = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
6
+ ::Myco.cscope.for_method_definition::Form = ([
7
7
  :lambig,
8
8
  :name
9
- ]))
9
+ ])
10
10
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
11
11
  self.pos(g)
12
12
  local = g.state.scope.search_local(self.name)
@@ -18,5 +18,5 @@
18
18
  )
19
19
  )}
20
20
  )}
21
- )}})
21
+ )}}
22
22
  .tap { |__c__| __c__.__name__ = :LocalVariableAccessAmbiguous })})}}.instance
@@ -1,20 +1,20 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:LocalVariableAssignment, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::LocalVariableAssignment = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:name, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
6
6
  declare_meme(:value, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
7
  declare_meme(:variable, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
8
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
8
+ ::Myco.cscope.for_method_definition::Form = ([
9
9
  :lasgn,
10
10
  :name,
11
11
  :value
12
- ]))
12
+ ])
13
13
  declare_meme(:bytecode, [], nil, ::Myco.cscope.dup) { |g| (
14
14
  var = g.state.scope.assign_local_reference(self)
15
15
  ::Myco.branch_op(:"&&", self.value) {self.value.bytecode(g)}
16
16
  self.pos(g)
17
17
  var.set_bytecode(g)
18
18
  )}
19
- )}})
19
+ )}}
20
20
  .tap { |__c__| __c__.__name__ = :LocalVariableAssignment })})}}.instance
@@ -63,7 +63,7 @@ CodeTools::AST << {
63
63
 
64
64
  var parent
65
65
 
66
- # This is an abbreviated form of BlockLiteral#search_local
66
+ # This is an abbreviated form of Block#search_local
67
67
  # because no locals can be assigned within the MycoModuleScope
68
68
  search_local: |name| {
69
69
  reference = self.parent.search_local(name)
@@ -1,6 +1,6 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:MycoModuleScope, ::Myco::Component.new([
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::MycoModuleScope = ::Myco::Component.new([
4
4
  ::Myco.find_constant(:CodeTools)::Compiler::LocalVariables,
5
5
  ::Myco.find_constant(:Node)
6
6
  ], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
@@ -78,5 +78,5 @@
78
78
  reference
79
79
  )}
80
80
  )}
81
- )}})
81
+ )}}
82
82
  .tap { |__c__| __c__.__name__ = :MycoModuleScope })})}}.instance
@@ -1,7 +1,7 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
3
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(
4
- ::Myco.cscope.for_method_definition.const_set(:Node, ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
+ ::Myco.cscope.for_method_definition::Node = ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
5
5
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
6
6
  declare_meme(:line, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
7
7
  declare_meme(:pos, [], nil, ::Myco.cscope.dup) { |g| (g.set_line(self.line))}
@@ -35,9 +35,9 @@
35
35
  ::Myco.branch_op(:"&&", parameters) {parameters.generator_setup(meth)}
36
36
  meth
37
37
  )}
38
- )}})
38
+ )}}
39
39
  .tap { |__c__| __c__.__name__ = :Node }
40
- ::Myco.cscope.for_method_definition.const_set(:State, ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
40
+ ::Myco.cscope.for_method_definition::State = ::Myco::Component.new([::Myco.find_constant(:BasicObject)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
41
41
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
42
42
  declare_meme(:scope, [[:var, []]], nil, ::Myco.cscope.dup) { |*| nil}
43
43
  declare_meme(:new, [[:sclass, []]], nil, ::Myco.cscope.dup) { |scope| (
@@ -79,6 +79,6 @@
79
79
  )
80
80
  )})}
81
81
  declare_meme(:check_for_locals, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (true)}
82
- )}})
82
+ )}}
83
83
  .tap { |__c__| __c__.__name__ = :State }
84
84
  )})}}.instance
@@ -1,6 +1,6 @@
1
1
 
2
2
  ::Myco::Component.new([::Myco::FileToplevel], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
- .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition.const_set(:ParameterAssembly, ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
3
+ .tap { |__c__| __c__.__last__ = __c__.component_eval {(::Myco.find_constant(:CodeTools)::AST.component_eval {(::Myco.cscope.for_method_definition::ParameterAssembly = ::Myco::Component.new([::Myco.find_constant(:Node)], ::Myco.cscope.for_method_definition, __FILE__, __LINE__)
4
4
  .tap { |__c__| __c__.__last__ = __c__.component_eval {(
5
5
  declare_meme(:required, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
6
6
  declare_meme(:optional, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
@@ -9,7 +9,7 @@
9
9
  declare_meme(:kwargs, [[:var, []]], nil, ::Myco.cscope.dup) { |*| ([])}
10
10
  declare_meme(:kwrest, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (nil)}
11
11
  declare_meme(:block, [[:var, []]], nil, ::Myco.cscope.dup) { |*| (nil)}
12
- ::Myco.cscope.for_method_definition.const_set(:Form, ([
12
+ ::Myco.cscope.for_method_definition::Form = ([
13
13
  :args,
14
14
  :required,
15
15
  :optional,
@@ -18,7 +18,7 @@
18
18
  :kwargs,
19
19
  :kwrest,
20
20
  :block
21
- ]))
21
+ ])
22
22
  declare_meme(:generator_setup, [], nil, ::Myco.cscope.dup) { |g| (
23
23
  g.__send__(
24
24
  :required_args=,
@@ -310,5 +310,5 @@
310
310
  true
311
311
  )
312
312
  )}
313
- )}})
313
+ )}}
314
314
  .tap { |__c__| __c__.__name__ = :ParameterAssembly })})}}.instance