cauldron 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (132) hide show
  1. data/Gemfile +6 -0
  2. data/Gemfile.lock +63 -0
  3. data/History.md +5 -0
  4. data/Rakefile +62 -16
  5. data/VERSION +1 -1
  6. data/cauldron.gemspec +463 -0
  7. data/cauldron/lib/cauldron.rb +1 -1
  8. data/features/cauldron_generates_runtime_method.feature +7 -4
  9. data/features/cauldron_generates_single_paramter_methods.feature +25 -0
  10. data/features/cauldron_interactive_start_terminal.feature +17 -0
  11. data/features/cauldron_quit_terminal.feature +9 -0
  12. data/features/cauldron_start_terminal.feature +0 -1
  13. data/features/step_definitions/cauldron_steps.rb +10 -5
  14. data/features/step_definitions/terminal_steps.rb +27 -0
  15. data/features/support/env.rb +2 -0
  16. data/features/support/hooks.rb +15 -0
  17. data/lib/Chain.rb +3 -3
  18. data/lib/Mapping.rb +1 -0
  19. data/lib/PartialChain.rb +253 -0
  20. data/lib/Theory.rb +28 -4
  21. data/lib/UnifiedChain.rb +94 -125
  22. data/lib/cauldron.rb +3 -0
  23. data/lib/cauldron/demos.rb +4 -4
  24. data/lib/cauldron/env.rb +1 -0
  25. data/lib/cauldron/pot.rb +42 -38
  26. data/lib/cauldron/terminal.rb +19 -3
  27. data/lib/cauldron/util/home.rb +21 -0
  28. data/lib/cauldron/util/saver.rb +45 -0
  29. data/lib/core/Container.rb +1 -1
  30. data/lib/core/runtime_method/ActsAsRuntimeMethod.rb +28 -28
  31. data/lib/core/runtime_method/RuntimeMethod.rb +6 -23
  32. data/lib/core/statement/ActsAsStatement.rb +0 -96
  33. data/lib/core/statement/BlockStatement.rb +1 -1
  34. data/lib/core/statement/OpenStatement.rb +1 -1
  35. data/lib/core/statement/Statement.rb +39 -94
  36. data/lib/core/statement/TheoryStatement.rb +1 -1
  37. data/lib/core/syntax/BlockContainer.rb +0 -28
  38. data/lib/core/variable/MethodParameter.rb +1 -1
  39. data/lib/required.rb +2 -14
  40. data/lib/theories.rb +0 -1
  41. data/lib/theory/ActionImplementation.rb +1 -1
  42. data/lib/theory/TheoryAction.rb +2 -2
  43. data/lib/theory/TheoryConnector.rb +11 -14
  44. data/lib/theory/TheoryImplementation.rb +10 -9
  45. data/lib/util/MethodWriter.rb +10 -10
  46. data/sandbox.rb +23 -0
  47. data/spec/cauldron/pot_spec.rb +62 -10
  48. data/spec/cauldron/runtime_method_spec.rb +31 -17
  49. data/spec/cauldron/saver_spec.rb +45 -0
  50. data/spec/cauldron/terminal_spec.rb +10 -1
  51. data/spec/cauldron/theory_spec.rb +4 -4
  52. data/spec/cauldron/unified_chain_spec.rb +38 -0
  53. data/spec/spec_helper.rb +3 -1
  54. data/tasks/development_tasks.rake +4 -0
  55. data/tasks/theory_tasks.rake +16 -20
  56. data/test/fixtures/theories/0/desc +6 -6
  57. data/test/fixtures/theories/0/dump +0 -0
  58. data/test/fixtures/theories/1/desc +7 -7
  59. data/test/fixtures/theories/1/dump +0 -0
  60. data/test/fixtures/theories/10/desc +13 -13
  61. data/test/fixtures/theories/10/dump +0 -0
  62. data/test/fixtures/theories/11/desc +10 -10
  63. data/test/fixtures/theories/11/dump +0 -0
  64. data/test/fixtures/theories/12/desc +9 -9
  65. data/test/fixtures/theories/12/dump +0 -0
  66. data/test/fixtures/theories/13/desc +16 -16
  67. data/test/fixtures/theories/13/dump +0 -0
  68. data/test/fixtures/theories/14/desc +16 -16
  69. data/test/fixtures/theories/14/dump +0 -0
  70. data/test/fixtures/theories/15/desc +10 -10
  71. data/test/fixtures/theories/15/dump +0 -0
  72. data/test/fixtures/theories/16/desc +10 -10
  73. data/test/fixtures/theories/16/dump +0 -0
  74. data/test/fixtures/theories/17/desc +7 -7
  75. data/test/fixtures/theories/17/dump +0 -0
  76. data/test/fixtures/theories/18/desc +7 -7
  77. data/test/fixtures/theories/18/dump +0 -0
  78. data/test/fixtures/theories/19/desc +7 -7
  79. data/test/fixtures/theories/19/dump +0 -0
  80. data/test/fixtures/theories/2/desc +6 -6
  81. data/test/fixtures/theories/2/dump +0 -0
  82. data/test/fixtures/theories/20/desc +13 -13
  83. data/test/fixtures/theories/20/dump +0 -0
  84. data/test/fixtures/theories/3/desc +7 -7
  85. data/test/fixtures/theories/3/dump +0 -0
  86. data/test/fixtures/theories/4/desc +7 -7
  87. data/test/fixtures/theories/4/dump +0 -0
  88. data/test/fixtures/theories/5/desc +6 -6
  89. data/test/fixtures/theories/5/dump +0 -0
  90. data/test/fixtures/theories/6/desc +7 -7
  91. data/test/fixtures/theories/6/dump +0 -0
  92. data/test/fixtures/theories/7/desc +7 -7
  93. data/test/fixtures/theories/7/dump +0 -0
  94. data/test/fixtures/theories/8/desc +7 -7
  95. data/test/fixtures/theories/8/dump +0 -0
  96. data/test/fixtures/theories/9/desc +16 -16
  97. data/test/fixtures/theories/9/dump +0 -0
  98. data/test/fixtures/theory_implementations/0/dump +0 -0
  99. data/test/fixtures/theory_implementations/2/dump +0 -0
  100. data/test/ts_complete.rb +1 -10
  101. data/test/unit/core/runtime_method/tc_realised_runtime_method.rb +1 -0
  102. data/test/unit/core/runtime_method/tc_runtime_method.rb +16 -39
  103. data/test/unit/core/statement/tc_block_statement.rb +3 -3
  104. data/test/unit/core/statement/tc_open_statement.rb +4 -4
  105. data/test/unit/core/statement/tc_statement.rb +2 -147
  106. data/test/unit/core/statement/tc_theory_statement.rb +1 -1
  107. data/test/unit/theory/tc_theory_dependent.rb +3 -3
  108. data/test/unit/theory/tc_theory_result.rb +5 -5
  109. data/test/unit/util/tc_method_validation.rb +45 -45
  110. data/test/unit/util/tc_parser.rb +1 -1
  111. data/test/unit/util/tc_string_to_theory.rb +2 -2
  112. metadata +74 -48
  113. data/lib/ScopeDependencies.rb +0 -8
  114. data/lib/core/statement/StatementDependencies.rb +0 -271
  115. data/lib/core/structure/DeclareNewInstanceStructure.rb +0 -49
  116. data/lib/core/structure/DeclareRuntimeMethodStructure.rb +0 -34
  117. data/lib/core/structure/DeclareVariableAsLiteralStructure.rb +0 -31
  118. data/lib/core/structure/DeclareVariableAsVariableStructure.rb +0 -52
  119. data/lib/core/structure/FixnumAdditionStructure.rb +0 -56
  120. data/lib/core/structure/InstanceCallContainerStructure.rb +0 -50
  121. data/lib/core/structure/InstanceCallStructure.rb +0 -53
  122. data/lib/core/structure/InstanceMethodCallStructure.rb +0 -21
  123. data/lib/core/structure/ReturnStructure.rb +0 -20
  124. data/lib/core/structure/StatementStructure.rb +0 -11
  125. data/test/unit/core/statement/tc_statement_dependencies.rb +0 -147
  126. data/test/unit/core/structure/tc_declare_new_instance_structure.rb +0 -41
  127. data/test/unit/core/structure/tc_declare_variable_as_literal_structure.rb +0 -41
  128. data/test/unit/core/structure/tc_declare_variable_as_variable_structure.rb +0 -66
  129. data/test/unit/core/structure/tc_instance_call_container_structure.rb +0 -41
  130. data/test/unit/core/structure/tc_return_structure.rb +0 -32
  131. data/test/unit/tc_instance_call_structure.rb +0 -35
  132. data/test/unit/tc_statement_structure_2.rb +0 -43
@@ -43,7 +43,7 @@ class TestTheoryStatement < Test::Unit::TestCase
43
43
  mapping[3] = IntrinsicLiteral.new(0)
44
44
 
45
45
  assert_equal(
46
- "if((runtime_method.params[0].length == runtime_method) == false)\n\treturn true\nend",
46
+ "if((runtime_method.params[0].length == runtime_method) == false)\n return true\nend",
47
47
  theory.replace_theory_variables!(mapping).write
48
48
  )
49
49
 
@@ -125,7 +125,7 @@ class TestTheoryDependent < Test::Unit::TestCase
125
125
  dependent_one = TheoryDependent.new(StringToTheory.run("if(var2[var3].kind_of?(CTestCase))\nreturn true\nend"))
126
126
  mapping = {2=>IntrinsicTestCases.new,3=>Literal.new(0)}
127
127
  assert_equal(
128
- "if(<test_cases>[0].kind_of?(CTestCase))\n\treturn true\nend\n",
128
+ "if(<test_cases>[0].kind_of?(CTestCase))\n return true\nend\n",
129
129
  dependent_one.map_to(mapping).describe
130
130
  )
131
131
  end
@@ -134,7 +134,7 @@ class TestTheoryDependent < Test::Unit::TestCase
134
134
  dependent_two = TheoryDependent.new(StringToTheory.run("if(var6.kind_of?(Fixnum))\nreturn true\nend"))
135
135
  mapping = {6 => 0.to_literal}
136
136
  assert_equal(
137
- "if(0.kind_of?(Fixnum))\n\treturn true\nend\n",
137
+ "if(0.kind_of?(Fixnum))\n return true\nend\n",
138
138
  dependent_two.map_to(mapping).describe
139
139
  )
140
140
  end
@@ -145,7 +145,7 @@ class TestTheoryDependent < Test::Unit::TestCase
145
145
  )
146
146
  mapping = {2=>IntrinsicTestCases.new,3=>Literal.new(0),6=>0.to_literal,4=>1.to_literal}
147
147
  assert_equal(
148
- "if((<test_cases>[0][:params][0] == <test_cases>[1][:params][0]) == false)\n\treturn true\nend\n",
148
+ "if((<test_cases>[0][:params][0] == <test_cases>[1][:params][0]) == false)\n return true\nend\n",
149
149
  dependent_three.map_to(mapping).describe
150
150
  )
151
151
  end
@@ -24,9 +24,9 @@ class TestTheoryResult < Test::Unit::TestCase
24
24
 
25
25
  def test_intialize_3
26
26
  assert_equal(
27
- "if(#{TheoryVariable.variable_colour(1)}var1#{TheoryVariable::NORMAL}.length == #{TheoryVariable.variable_colour(2)}var2#{TheoryVariable::NORMAL})\n\treturn true\nend\n",
27
+ "if(#{TheoryVariable.variable_colour(1)}var1#{TheoryVariable::NORMAL}.length == #{TheoryVariable.variable_colour(2)}var2#{TheoryVariable::NORMAL})\n return true\nend\n",
28
28
  TheoryResult.new(
29
- StringToTheory.run("if(var1.length == var2)\n\treturn true\nend")
29
+ StringToTheory.run("if(var1.length == var2)\n return true\nend")
30
30
  ).describe
31
31
  )
32
32
  end
@@ -44,7 +44,7 @@ class TestTheoryResult < Test::Unit::TestCase
44
44
  ]
45
45
  evaluation_code = ''
46
46
  evaluation_code += "test_cases = #{test_cases.write}"+"\n"
47
- evaluation_code += "runtime_method = #{runtime_method.to_declaration.write}"+"\n"
47
+ evaluation_code += "runtime_method = RuntimeMethod.new(MethodUsage.new(MethodParameter.new))"+"\n"
48
48
  evaluation_code += 'runtime_method.add_statement_at(Statement.new(Return.new, runtime_method.params[0]),runtime_method.statement_id)'+"\n"
49
49
 
50
50
  evaluation_code += 'return runtime_method'+"\n"
@@ -90,7 +90,7 @@ class TestTheoryResult < Test::Unit::TestCase
90
90
  6=>0.to_literal
91
91
  }
92
92
  assert_equal(
93
- "if(<runtime_method>.history(<test_cases>[0][:params]).any?{ |x| x.statement_id == <runtime_method>.last.statement_id} )\n\treturn true\nend\n",
93
+ "if(<runtime_method>.history(<test_cases>[0][:params]).any?{ |x| x.statement_id == <runtime_method>.last.statement_id} )\n return true\nend\n",
94
94
  result_one.map_to(mapping).describe
95
95
  )
96
96
  end
@@ -104,7 +104,7 @@ class TestTheoryResult < Test::Unit::TestCase
104
104
  3=>IntrinsicLiteral.new(0)
105
105
  }
106
106
  assert_equal(
107
- "if((runtime_method.params[0].length == runtime_method) == false)\n\treturn true\nend",
107
+ "if((runtime_method.params[0].length == runtime_method) == false)\n return true\nend",
108
108
  result.map_to(mapping).write
109
109
  )
110
110
  end
@@ -13,51 +13,51 @@ class TestMethodValidation < Test::Unit::TestCase
13
13
  RuntimeMethod.reset_global_id
14
14
  end
15
15
 
16
- def test_self_generate
17
-
18
- # Check that a simple method to check the class of a runtime method instance can be created
19
- validation_test_1 = MethodValidation.generate_attribute_test('.class.to_s == "RuntimeMethod"' )
20
- assert(validation_test_1.kind_of?(RuntimeMethod))
21
- assert_equal(
22
- true,
23
- MethodValidation.new.use_runtime_method(
24
- validation_test_1,
25
- ParametersContainer.new(RuntimeMethod.new(MethodUsage.new).to_declaration)
26
- )
27
- )
28
-
29
- # Create the method that should be evaluated correctly
30
- test_2_method = RuntimeMethod.new(MethodUsage.new)
31
- test_2_method.push Statement.new(Return.new,'Lilly'.to_literal)
32
-
33
- # Test that a runtime method returns 'Lilly'
34
- validation_test_2 = MethodValidation.generate_response_test(" == 'Lilly'",[])
35
- assert(validation_test_2.kind_of?(RuntimeMethod))
36
- assert_equal(
37
- true,
38
- MethodValidation.new.use_runtime_method_2(validation_test_2,test_2_method)
39
- )
40
- validation_test_3 = MethodValidation.generate_response_test(" != 'Lilly'",[])
41
- assert_equal(
42
- false,
43
- MethodValidation.new.use_runtime_method_2(validation_test_3,test_2_method)
44
- )
45
- #
46
- # # Test that a runtime method returns the value it is passed
47
- # test_3_param_1 = MethodParameter.new
48
- # test_3_method = RuntimeMethod.new(MethodUsage.new(test_3_param_1))
49
- # test_3_method.push(Statement.new(Return.new,test_3_param_1))
50
- # test_3_validation = MethodValidation.generate(
51
- # {:condition=>' == "Pip"',:target=>'response',:params=>['Pip'.to_literal],:runtime_method=>test_3_method})
52
- # assert_equal(
53
- # 'Pip',
54
- # MethodValidation.new.use_runtime_method(
55
- # test_3_validation,ParametersContainer.new(test_3_method.to_declaration)
56
- # )
57
- # )
58
-
59
-
60
- end
16
+ # def test_self_generate
17
+ #
18
+ # # Check that a simple method to check the class of a runtime method instance can be created
19
+ # validation_test_1 = MethodValidation.generate_attribute_test('.class.to_s == "RuntimeMethod"' )
20
+ # assert(validation_test_1.kind_of?(RuntimeMethod))
21
+ # assert_equal(
22
+ # true,
23
+ # MethodValidation.new.use_runtime_method(
24
+ # validation_test_1,
25
+ # ParametersContainer.new(RuntimeMethod.new(MethodUsage.new).to_declaration)
26
+ # )
27
+ # )
28
+ #
29
+ # # Create the method that should be evaluated correctly
30
+ # test_2_method = RuntimeMethod.new(MethodUsage.new)
31
+ # test_2_method.push Statement.new(Return.new,'Lilly'.to_literal)
32
+ #
33
+ # # Test that a runtime method returns 'Lilly'
34
+ # validation_test_2 = MethodValidation.generate_response_test(" == 'Lilly'",[])
35
+ # assert(validation_test_2.kind_of?(RuntimeMethod))
36
+ # assert_equal(
37
+ # true,
38
+ # MethodValidation.new.use_runtime_method_2(validation_test_2,test_2_method)
39
+ # )
40
+ # validation_test_3 = MethodValidation.generate_response_test(" != 'Lilly'",[])
41
+ # assert_equal(
42
+ # false,
43
+ # MethodValidation.new.use_runtime_method_2(validation_test_3,test_2_method)
44
+ # )
45
+ # #
46
+ # # # Test that a runtime method returns the value it is passed
47
+ # # test_3_param_1 = MethodParameter.new
48
+ # # test_3_method = RuntimeMethod.new(MethodUsage.new(test_3_param_1))
49
+ # # test_3_method.push(Statement.new(Return.new,test_3_param_1))
50
+ # # test_3_validation = MethodValidation.generate(
51
+ # # {:condition=>' == "Pip"',:target=>'response',:params=>['Pip'.to_literal],:runtime_method=>test_3_method})
52
+ # # assert_equal(
53
+ # # 'Pip',
54
+ # # MethodValidation.new.use_runtime_method(
55
+ # # test_3_validation,ParametersContainer.new(test_3_method.to_declaration)
56
+ # # )
57
+ # # )
58
+ #
59
+ #
60
+ # end
61
61
 
62
62
 
63
63
  def test_use_runtime_method
@@ -95,7 +95,7 @@ class TestParser < Test::Unit::TestCase
95
95
  Parser.run("if(runtime_method.all_pass?(test_cases))\nend").write
96
96
  )
97
97
  assert_equal(
98
- "if(runtime_method.all_pass?(test_cases))\n\treturn true\nend",
98
+ "if(runtime_method.all_pass?(test_cases))\n return true\nend",
99
99
  Parser.run("if(runtime_method.all_pass?(test_cases))\nreturn true\nend").write
100
100
  )
101
101
  end
@@ -224,7 +224,7 @@ class TestStringToTheory < Test::Unit::TestCase
224
224
 
225
225
  def test_double_negative
226
226
  assert_equal(
227
- "if((var2 == var3) == false)\n\treturn true\nend",
227
+ "if((var2 == var3) == false)\n return true\nend",
228
228
  StringToTheory.run("if((var2 == var3)== false)\nreturn true\nend").write
229
229
  )
230
230
  assert_equal(
@@ -292,7 +292,7 @@ class TestStringToTheory < Test::Unit::TestCase
292
292
  StringToTheory.run("if(!var1.pass?(var2[var4]))\nend").write
293
293
  )
294
294
  assert_equal(
295
- "if((var2[var3] == var2[var4]) == false)\n\treturn true\nend",
295
+ "if((var2[var3] == var2[var4]) == false)\n return true\nend",
296
296
  StringToTheory.run("if((var2[var3] == var2[var4])== false)\nreturn true\nend").write
297
297
  )
298
298
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cauldron
3
3
  version: !ruby/object:Gem::Version
4
- hash: 31
4
+ hash: 29
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 2
10
- version: 0.1.2
9
+ - 3
10
+ version: 0.1.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Warren Sangster
@@ -15,12 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-07-14 00:00:00 +01:00
18
+ date: 2011-10-09 00:00:00 +01:00
19
19
  default_executable: cauldron
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
- type: :runtime
23
- version_requirements: &id001 !ruby/object:Gem::Requirement
22
+ requirement: &id001 !ruby/object:Gem::Requirement
24
23
  none: false
25
24
  requirements:
26
25
  - - ~>
@@ -31,12 +30,12 @@ dependencies:
31
30
  - 2
32
31
  - 5
33
32
  version: 1.2.5
34
- requirement: *id001
35
- prerelease: false
36
33
  name: ruby2ruby
34
+ version_requirements: *id001
35
+ prerelease: false
36
+ type: :runtime
37
37
  - !ruby/object:Gem::Dependency
38
- type: :development
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
38
+ requirement: &id002 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ">="
@@ -45,12 +44,12 @@ dependencies:
45
44
  segments:
46
45
  - 0
47
46
  version: "0"
48
- requirement: *id002
49
- prerelease: false
50
47
  name: shoulda
51
- - !ruby/object:Gem::Dependency
48
+ version_requirements: *id002
49
+ prerelease: false
52
50
  type: :development
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
51
+ - !ruby/object:Gem::Dependency
52
+ requirement: &id003 !ruby/object:Gem::Requirement
54
53
  none: false
55
54
  requirements:
56
55
  - - ~>
@@ -61,12 +60,12 @@ dependencies:
61
60
  - 0
62
61
  - 15
63
62
  version: 1.0.15
64
- requirement: *id003
65
- prerelease: false
66
63
  name: bundler
67
- - !ruby/object:Gem::Dependency
64
+ version_requirements: *id003
65
+ prerelease: false
68
66
  type: :development
69
- version_requirements: &id004 !ruby/object:Gem::Requirement
67
+ - !ruby/object:Gem::Dependency
68
+ requirement: &id004 !ruby/object:Gem::Requirement
70
69
  none: false
71
70
  requirements:
72
71
  - - ~>
@@ -77,12 +76,28 @@ dependencies:
77
76
  - 6
78
77
  - 2
79
78
  version: 1.6.2
80
- requirement: *id004
81
- prerelease: false
82
79
  name: jeweler
80
+ version_requirements: *id004
81
+ prerelease: false
82
+ type: :development
83
83
  - !ruby/object:Gem::Dependency
84
+ requirement: &id005 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ hash: 23
90
+ segments:
91
+ - 2
92
+ - 6
93
+ - 0
94
+ version: 2.6.0
95
+ name: rspec
96
+ version_requirements: *id005
97
+ prerelease: false
84
98
  type: :development
85
- version_requirements: &id005 !ruby/object:Gem::Requirement
99
+ - !ruby/object:Gem::Dependency
100
+ requirement: &id006 !ruby/object:Gem::Requirement
86
101
  none: false
87
102
  requirements:
88
103
  - - ">="
@@ -91,12 +106,12 @@ dependencies:
91
106
  segments:
92
107
  - 0
93
108
  version: "0"
94
- requirement: *id005
95
- prerelease: false
96
109
  name: rcov
97
- - !ruby/object:Gem::Dependency
110
+ version_requirements: *id006
111
+ prerelease: false
98
112
  type: :development
99
- version_requirements: &id006 !ruby/object:Gem::Requirement
113
+ - !ruby/object:Gem::Dependency
114
+ requirement: &id007 !ruby/object:Gem::Requirement
100
115
  none: false
101
116
  requirements:
102
117
  - - ~>
@@ -107,9 +122,26 @@ dependencies:
107
122
  - 0
108
123
  - 6
109
124
  version: 2.0.6
110
- requirement: *id006
111
- prerelease: false
112
125
  name: ruby_parser
126
+ version_requirements: *id007
127
+ prerelease: false
128
+ type: :development
129
+ - !ruby/object:Gem::Dependency
130
+ requirement: &id008 !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ hash: 5
136
+ segments:
137
+ - 0
138
+ - 4
139
+ - 5
140
+ version: 0.4.5
141
+ name: aruba
142
+ version_requirements: *id008
143
+ prerelease: false
144
+ type: :development
113
145
  description: Cauldron generates a methd from a number of examples that describe the input and the expected output. It is still at a very early stage of development right now so you're unlikely to get much practical use out of it.
114
146
  email: warrensangster@yahoo.com
115
147
  executables:
@@ -123,12 +155,15 @@ extra_rdoc_files:
123
155
  files:
124
156
  - .document
125
157
  - Gemfile
158
+ - Gemfile.lock
159
+ - History.md
126
160
  - LICENSE.txt
127
161
  - README
128
162
  - README.rdoc
129
163
  - Rakefile
130
164
  - VERSION
131
165
  - bin/cauldron
166
+ - cauldron.gemspec
132
167
  - cauldron/.autotest
133
168
  - cauldron/History.txt
134
169
  - cauldron/Manifest.txt
@@ -139,10 +174,14 @@ files:
139
174
  - cauldron/test/test_cauldron.rb
140
175
  - features/cauldron_example_cases.feature
141
176
  - features/cauldron_generates_runtime_method.feature
177
+ - features/cauldron_generates_single_paramter_methods.feature
178
+ - features/cauldron_interactive_start_terminal.feature
179
+ - features/cauldron_quit_terminal.feature
142
180
  - features/cauldron_start_terminal.feature
143
181
  - features/step_definitions/cauldron_steps.rb
144
182
  - features/step_definitions/terminal_steps.rb
145
183
  - features/support/env.rb
184
+ - features/support/hooks.rb
146
185
  - features/support/method_1.example
147
186
  - features/support/method_2.example
148
187
  - lib/Chain.rb
@@ -150,16 +189,19 @@ files:
150
189
  - lib/CodeHandler.rb
151
190
  - lib/Mapping.rb
152
191
  - lib/MappingValues.rb
153
- - lib/ScopeDependencies.rb
192
+ - lib/PartialChain.rb
154
193
  - lib/Theory.rb
155
194
  - lib/UnifiedChain.rb
156
195
  - lib/cauldron.rb
157
196
  - lib/cauldron/conversion.rb
158
197
  - lib/cauldron/demos.rb
198
+ - lib/cauldron/env.rb
159
199
  - lib/cauldron/pot.rb
160
200
  - lib/cauldron/sexp2cauldron.rb
161
201
  - lib/cauldron/terminal.rb
162
202
  - lib/cauldron/theory_factory.rb
203
+ - lib/cauldron/util/home.rb
204
+ - lib/cauldron/util/saver.rb
163
205
  - lib/core/ActsAsCode.rb
164
206
  - lib/core/BlockToken.rb
165
207
  - lib/core/CCall.rb
@@ -247,21 +289,10 @@ files:
247
289
  - lib/core/statement/RealisedStatement.rb
248
290
  - lib/core/statement/SingleLineBlockStatement.rb
249
291
  - lib/core/statement/Statement.rb
250
- - lib/core/statement/StatementDependencies.rb
251
292
  - lib/core/statement/StatementGroup.rb
252
293
  - lib/core/statement/StatementStructure2.rb
253
294
  - lib/core/statement/TheoryStatement.rb
254
295
  - lib/core/statement/TopologicalStatements.rb
255
- - lib/core/structure/DeclareNewInstanceStructure.rb
256
- - lib/core/structure/DeclareRuntimeMethodStructure.rb
257
- - lib/core/structure/DeclareVariableAsLiteralStructure.rb
258
- - lib/core/structure/DeclareVariableAsVariableStructure.rb
259
- - lib/core/structure/FixnumAdditionStructure.rb
260
- - lib/core/structure/InstanceCallContainerStructure.rb
261
- - lib/core/structure/InstanceCallStructure.rb
262
- - lib/core/structure/InstanceMethodCallStructure.rb
263
- - lib/core/structure/ReturnStructure.rb
264
- - lib/core/structure/StatementStructure.rb
265
296
  - lib/core/syntax/Addition.rb
266
297
  - lib/core/syntax/BlockContainer.rb
267
298
  - lib/core/syntax/Boolean.rb
@@ -349,10 +380,12 @@ files:
349
380
  - lib/util/StatementCheck.rb
350
381
  - lib/util/StringToTheory.rb
351
382
  - lib/util/System.rb
383
+ - sandbox.rb
352
384
  - spec/cauldron/chain_spec.rb
353
385
  - spec/cauldron/demos_spec.rb
354
386
  - spec/cauldron/pot_spec.rb
355
387
  - spec/cauldron/runtime_method_spec.rb
388
+ - spec/cauldron/saver_spec.rb
356
389
  - spec/cauldron/sexp_2_cauldron_spec.rb
357
390
  - spec/cauldron/terminal_spec.rb
358
391
  - spec/cauldron/theory_action_spec.rb
@@ -360,6 +393,7 @@ files:
360
393
  - spec/cauldron/theory_spec.rb
361
394
  - spec/cauldron/unified_chain_spec.rb
362
395
  - spec/spec_helper.rb
396
+ - tasks/development_tasks.rake
363
397
  - tasks/theory_tasks.rake
364
398
  - test/fixtures/chains/1/declaration.txt
365
399
  - test/fixtures/chains/1/dump
@@ -470,15 +504,9 @@ files:
470
504
  - test/unit/core/statement/tc_hack_statement.rb
471
505
  - test/unit/core/statement/tc_open_statement.rb
472
506
  - test/unit/core/statement/tc_statement.rb
473
- - test/unit/core/statement/tc_statement_dependencies.rb
474
507
  - test/unit/core/statement/tc_statement_group.rb
475
508
  - test/unit/core/statement/tc_statement_replace_variable.rb
476
509
  - test/unit/core/statement/tc_theory_statement.rb
477
- - test/unit/core/structure/tc_declare_new_instance_structure.rb
478
- - test/unit/core/structure/tc_declare_variable_as_literal_structure.rb
479
- - test/unit/core/structure/tc_declare_variable_as_variable_structure.rb
480
- - test/unit/core/structure/tc_instance_call_container_structure.rb
481
- - test/unit/core/structure/tc_return_structure.rb
482
510
  - test/unit/core/syntax/tc_block_container.rb
483
511
  - test/unit/core/syntax/tc_if_container.rb
484
512
  - test/unit/core/tc_class_method_call.rb
@@ -506,11 +534,9 @@ files:
506
534
  - test/unit/tc_chain_mapping.rb
507
535
  - test/unit/tc_chain_with_case_1.rb
508
536
  - test/unit/tc_instance_call.rb
509
- - test/unit/tc_instance_call_structure.rb
510
537
  - test/unit/tc_method_usage.rb
511
538
  - test/unit/tc_pot.rb
512
539
  - test/unit/tc_runtime_tracking_method.rb
513
- - test/unit/tc_statement_structure_2.rb
514
540
  - test/unit/tc_theory.rb
515
541
  - test/unit/tc_variable_declaration.rb
516
542
  - test/unit/theory/tc_theory_action.rb
@@ -558,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
558
584
  requirements: []
559
585
 
560
586
  rubyforge_project:
561
- rubygems_version: 1.4.2
587
+ rubygems_version: 1.4.0
562
588
  signing_key:
563
589
  specification_version: 3
564
590
  summary: Generate simple ruby methods from the input(s) and expected output