mirah 0.0.7-java → 0.0.8-java

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 (182) hide show
  1. data/History.txt +181 -0
  2. data/README.txt +6 -10
  3. data/Rakefile +86 -9
  4. data/bin/mirah +2 -0
  5. data/bin/mirahc +2 -0
  6. data/bin/mirahp +2 -0
  7. data/{bin/dubyp → examples/interfaces.mirah} +16 -9
  8. data/examples/macros/square.mirah +12 -0
  9. data/examples/macros/square_int.mirah +12 -0
  10. data/examples/macros/string-each-char.mirah +14 -0
  11. data/examples/maven/README.txt +2 -0
  12. data/examples/maven/pom.xml +23 -0
  13. data/examples/maven/src/main/mirah/hello_mirah.mirah +9 -0
  14. data/examples/rosettacode/100-doors.mirah +44 -0
  15. data/examples/rosettacode/99-bottles-of-beer.mirah +13 -0
  16. data/examples/rosettacode/README.txt +9 -0
  17. data/examples/rosettacode/boolean-values.mirah +29 -0
  18. data/examples/rosettacode/comments.mirah +2 -0
  19. data/examples/rosettacode/copy-a-string.mirah +10 -0
  20. data/examples/rosettacode/count-occurrences-of-a-substring.mirah +40 -0
  21. data/examples/rosettacode/create-a-file.mirah +6 -0
  22. data/examples/rosettacode/empty-string.mirah +9 -0
  23. data/examples/rosettacode/factorial.mirah +10 -0
  24. data/examples/rosettacode/fibonacci.mirah +21 -0
  25. data/examples/rosettacode/file-size.mirah +5 -0
  26. data/examples/rosettacode/fizz-buzz.mirah +21 -0
  27. data/examples/rosettacode/flatten-a-list.mirah +24 -0
  28. data/examples/rosettacode/guess-the-number.mirah +21 -0
  29. data/examples/rosettacode/is-string-numeric.mirah +127 -0
  30. data/examples/rosettacode/palindrome.mirah +14 -0
  31. data/examples/rosettacode/repeat-a-string.mirah +9 -0
  32. data/examples/rosettacode/reverse-a-string.mirah +6 -0
  33. data/examples/rosettacode/rot-13.mirah +20 -0
  34. data/examples/rosettacode/user-input.mirah +4 -0
  35. data/examples/sort_closure.mirah +1 -1
  36. data/javalib/dynalink-0.2.jar +0 -0
  37. data/javalib/mirah-bootstrap.jar +0 -0
  38. data/lib/mirah.rb +7 -16
  39. data/lib/mirah/ast.rb +22 -92
  40. data/lib/mirah/ast/call.rb +41 -9
  41. data/lib/mirah/ast/class.rb +34 -6
  42. data/lib/mirah/ast/flow.rb +17 -5
  43. data/lib/mirah/ast/intrinsics.rb +50 -8
  44. data/lib/mirah/ast/literal.rb +7 -0
  45. data/lib/mirah/ast/local.rb +9 -1
  46. data/lib/mirah/ast/method.rb +21 -8
  47. data/lib/mirah/ast/scope.rb +1 -1
  48. data/lib/mirah/ast/structure.rb +81 -15
  49. data/lib/mirah/ast/type.rb +4 -0
  50. data/{bin/dubyc → lib/mirah/commands.rb} +4 -11
  51. data/lib/mirah/commands/base.rb +54 -0
  52. data/lib/mirah/commands/compile.rb +39 -0
  53. data/{examples/wiki/Rakefile → lib/mirah/commands/parse.rb} +18 -17
  54. data/lib/mirah/commands/run.rb +73 -0
  55. data/lib/mirah/compiler.rb +37 -417
  56. data/lib/mirah/compiler/call.rb +45 -0
  57. data/lib/mirah/compiler/class.rb +81 -0
  58. data/lib/mirah/compiler/flow.rb +109 -0
  59. data/lib/mirah/compiler/literal.rb +130 -0
  60. data/lib/mirah/compiler/local.rb +59 -0
  61. data/lib/mirah/compiler/method.rb +44 -0
  62. data/lib/mirah/compiler/structure.rb +65 -0
  63. data/lib/mirah/compiler/type.rb +27 -0
  64. data/lib/mirah/env.rb +4 -6
  65. data/lib/mirah/generator.rb +61 -0
  66. data/lib/mirah/jvm/compiler.rb +8 -867
  67. data/lib/mirah/jvm/compiler/base.rb +270 -0
  68. data/lib/mirah/jvm/compiler/java_source.rb +779 -0
  69. data/lib/mirah/jvm/compiler/jvm_bytecode.rb +851 -0
  70. data/lib/mirah/jvm/method_lookup.rb +21 -2
  71. data/lib/mirah/jvm/source_generator/builder.rb +10 -13
  72. data/lib/mirah/jvm/source_generator/loops.rb +99 -93
  73. data/lib/mirah/jvm/source_generator/precompile.rb +3 -2
  74. data/lib/mirah/jvm/typer.rb +3 -3
  75. data/lib/mirah/jvm/types.rb +10 -426
  76. data/lib/mirah/jvm/types/array_type.rb +62 -0
  77. data/lib/mirah/jvm/types/basic_types.rb +1 -0
  78. data/lib/mirah/jvm/types/dynamic_type.rb +46 -0
  79. data/lib/mirah/jvm/types/factory.rb +23 -5
  80. data/lib/mirah/jvm/types/interface_definition.rb +20 -0
  81. data/lib/mirah/jvm/types/intrinsics.rb +15 -3
  82. data/lib/mirah/jvm/types/meta_type.rb +45 -0
  83. data/lib/mirah/jvm/types/methods.rb +12 -5
  84. data/lib/mirah/jvm/types/null_type.rb +27 -0
  85. data/lib/mirah/jvm/types/primitive_type.rb +38 -0
  86. data/lib/mirah/jvm/types/source_mirror.rb +266 -0
  87. data/lib/mirah/jvm/types/type.rb +173 -0
  88. data/lib/mirah/jvm/types/type_definition.rb +55 -0
  89. data/lib/mirah/jvm/types/unreachable_type.rb +27 -0
  90. data/lib/mirah/jvm/types/void_type.rb +19 -0
  91. data/lib/mirah/parser.rb +90 -0
  92. data/lib/mirah/plugin/gwt.rb +5 -5
  93. data/lib/mirah/plugin/java.rb +1 -1
  94. data/lib/mirah/transform.rb +4 -321
  95. data/lib/mirah/transform/ast_ext.rb +63 -0
  96. data/lib/mirah/transform/error.rb +13 -0
  97. data/lib/mirah/transform/helper.rb +761 -0
  98. data/lib/mirah/transform/transformer.rb +255 -0
  99. data/lib/mirah/typer.rb +2 -383
  100. data/{bin/duby → lib/mirah/typer/base.rb} +12 -10
  101. data/lib/mirah/typer/simple.rb +377 -0
  102. data/lib/mirah/util/argument_processor.rb +114 -0
  103. data/lib/mirah/util/class_loader.rb +37 -0
  104. data/lib/mirah/util/compilation_state.rb +51 -0
  105. data/lib/mirah/util/process_errors.rb +33 -0
  106. data/lib/mirah/version.rb +1 -1
  107. data/lib/mirah_task.rb +3 -2
  108. data/test/{test_ast.rb → core/test_ast.rb} +6 -0
  109. data/test/{test_compilation.rb → core/test_compilation.rb} +0 -0
  110. data/test/{test_env.rb → core/test_env.rb} +24 -25
  111. data/test/{test_macros.rb → core/test_macros.rb} +2 -4
  112. data/test/{test_typer.rb → core/test_typer.rb} +0 -3
  113. data/test/jvm/bytecode_test_helper.rb +181 -0
  114. data/test/{test_javac_compiler.rb → jvm/javac_test_helper.rb} +38 -22
  115. data/test/jvm/test_enumerable.rb +304 -0
  116. data/test/{test_java_typer.rb → jvm/test_java_typer.rb} +2 -4
  117. data/test/{test_jvm_compiler.rb → jvm/test_jvm_compiler.rb} +146 -443
  118. data/test/jvm/test_macros.rb +147 -0
  119. data/test/jvm/test_main_method.rb +15 -0
  120. data/test/{test_gwt.rb → plugins/test_gwt.rb} +0 -2
  121. metadata +103 -91
  122. data/bin/jrubyp +0 -52
  123. data/examples/wiki/src/org/mirah/wiki/MirahWiki.duby +0 -339
  124. data/examples/wiki/src/org/mirah/wiki/edit.eduby.html +0 -42
  125. data/examples/wiki/src/org/mirah/wiki/error.eduby.html +0 -2
  126. data/examples/wiki/src/org/mirah/wiki/layout.eduby.html +0 -69
  127. data/examples/wiki/src/org/mirah/wiki/parser.eduby.html +0 -7
  128. data/examples/wiki/src/org/mirah/wiki/view.eduby.html +0 -15
  129. data/examples/wiki/war/WEB-INF/classes/test/HeredocContext.class +0 -0
  130. data/examples/wiki/war/WEB-INF/classes/test/MirahParser.class +0 -0
  131. data/examples/wiki/war/WEB-INF/lib/appengine-api.jar +0 -0
  132. data/examples/wiki/war/WEB-INF/lib/dubydatastore.jar +0 -0
  133. data/examples/wiki/war/WEB-INF/lib/jmeta-runtime.jar +0 -0
  134. data/examples/wiki/war/WEB-INF/lib/pegdown-stubs.jar +0 -0
  135. data/examples/wiki/war/WEB-INF/pegdown.jar +0 -0
  136. data/examples/wiki/war/app.yaml +0 -21
  137. data/examples/wiki/war/public/favicon.ico +0 -0
  138. data/examples/wiki/war/public/images/appengine_duby.png +0 -0
  139. data/examples/wiki/war/public/images/back.gif +0 -0
  140. data/examples/wiki/war/public/images/dir.gif +0 -0
  141. data/examples/wiki/war/public/images/file.gif +0 -0
  142. data/examples/wiki/war/public/javascripts/prettify.js +0 -61
  143. data/examples/wiki/war/public/robots.txt +0 -0
  144. data/examples/wiki/war/public/stylesheets/main.css +0 -156
  145. data/examples/wiki/war/public/stylesheets/prettify.css +0 -1
  146. data/examples/wiki/war/public/stylesheets/sh_style.css +0 -66
  147. data/examples/wiki/war/public/stylesheets/source.css +0 -21
  148. data/examples/wiki/war/public/wmd/images/bg-fill.png +0 -0
  149. data/examples/wiki/war/public/wmd/images/bg.png +0 -0
  150. data/examples/wiki/war/public/wmd/images/blockquote.png +0 -0
  151. data/examples/wiki/war/public/wmd/images/bold.png +0 -0
  152. data/examples/wiki/war/public/wmd/images/code.png +0 -0
  153. data/examples/wiki/war/public/wmd/images/h1.png +0 -0
  154. data/examples/wiki/war/public/wmd/images/hr.png +0 -0
  155. data/examples/wiki/war/public/wmd/images/img.png +0 -0
  156. data/examples/wiki/war/public/wmd/images/italic.png +0 -0
  157. data/examples/wiki/war/public/wmd/images/link.png +0 -0
  158. data/examples/wiki/war/public/wmd/images/ol.png +0 -0
  159. data/examples/wiki/war/public/wmd/images/redo.png +0 -0
  160. data/examples/wiki/war/public/wmd/images/separator.png +0 -0
  161. data/examples/wiki/war/public/wmd/images/ul.png +0 -0
  162. data/examples/wiki/war/public/wmd/images/undo.png +0 -0
  163. data/examples/wiki/war/public/wmd/images/wmd-on.png +0 -0
  164. data/examples/wiki/war/public/wmd/images/wmd.png +0 -0
  165. data/examples/wiki/war/public/wmd/showdown.js +0 -421
  166. data/examples/wiki/war/public/wmd/wmd-base.js +0 -1799
  167. data/examples/wiki/war/public/wmd/wmd-plus.js +0 -311
  168. data/examples/wiki/war/public/wmd/wmd.js +0 -73
  169. data/examples/wiki/war/src/org/mirah/wiki/MirahWiki.duby +0 -339
  170. data/examples/wiki/war/src/org/mirah/wiki/edit.eduby.html +0 -42
  171. data/examples/wiki/war/src/org/mirah/wiki/error.eduby.html +0 -2
  172. data/examples/wiki/war/src/org/mirah/wiki/layout.eduby.html +0 -69
  173. data/examples/wiki/war/src/org/mirah/wiki/parser.eduby.html +0 -7
  174. data/examples/wiki/war/src/org/mirah/wiki/view.eduby.html +0 -15
  175. data/javalib/dynalink-0.1.jar +0 -0
  176. data/javalib/jsr292-mock.jar +0 -0
  177. data/lib/mirah/class_loader.rb +0 -35
  178. data/lib/mirah/compilation_state.rb +0 -28
  179. data/lib/mirah/impl.rb +0 -273
  180. data/lib/mirah/jvm/base.rb +0 -267
  181. data/lib/mirah/jvm/source_compiler.rb +0 -760
  182. data/lib/mirah/transform2.rb +0 -752
@@ -0,0 +1,147 @@
1
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ # All contributing project authors may be found in the NOTICE file.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0 (the "License");
5
+ # you may not use this file except in compliance with the License.
6
+ # You may obtain a copy of the License at
7
+ #
8
+ # http://www.apache.org/licenses/LICENSE-2.0
9
+ #
10
+ # Unless required by applicable law or agreed to in writing, software
11
+ # distributed under the License is distributed on an "AS IS" BASIS,
12
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ # See the License for the specific language governing permissions and
14
+ # limitations under the License.
15
+
16
+ class TestMacros < Test::Unit::TestCase
17
+ def test_defmacro
18
+ cls, = compile(<<-EOF)
19
+ defmacro bar(x) do
20
+ x
21
+ end
22
+
23
+ def foo
24
+ bar("bar")
25
+ end
26
+ EOF
27
+
28
+ assert_equal("bar", cls.foo)
29
+ assert(!cls.respond_to?(:bar))
30
+ end
31
+
32
+
33
+ def test_instance_macro
34
+ # TODO fix annotation output and create a duby.anno.Extensions annotation.
35
+ script, cls = compile(<<-EOF)
36
+ class InstanceMacros
37
+ def foobar
38
+ "foobar"
39
+ end
40
+
41
+ macro def macro_foobar
42
+ quote {foobar}
43
+ end
44
+
45
+ def call_foobar
46
+ macro_foobar
47
+ end
48
+ end
49
+
50
+ def macro
51
+ InstanceMacros.new.macro_foobar
52
+ end
53
+
54
+ def function
55
+ InstanceMacros.new.call_foobar
56
+ end
57
+ EOF
58
+
59
+ assert_equal("foobar", script.function)
60
+ assert_equal("foobar", script.macro)
61
+ end
62
+
63
+ def test_unquote
64
+ # TODO fix annotation output and create a duby.anno.Extensions annotation.
65
+
66
+ script, cls = compile(<<-'EOF')
67
+ class UnquoteMacros
68
+ macro def make_attr(name_node, type)
69
+ name = name_node.string_value
70
+ quote do
71
+ def `name`
72
+ @`name`
73
+ end
74
+ def `"#{name}_set"`(`name`:`type`)
75
+ @`name` = `name`
76
+ end
77
+ end
78
+ end
79
+
80
+ make_attr :foo, :int
81
+ end
82
+
83
+ x = UnquoteMacros.new
84
+ puts x.foo
85
+ x.foo = 3
86
+ puts x.foo
87
+ EOF
88
+ assert_output("0\n3\n") {script.main(nil)}
89
+ end
90
+
91
+ def test_macro_hygene
92
+ cls, = compile(<<-EOF)
93
+ macro def doubleIt(arg)
94
+ quote do
95
+ x = `arg`
96
+ x = x + x
97
+ x
98
+ end
99
+ end
100
+
101
+ def foo
102
+ x = "1"
103
+ puts doubleIt(x)
104
+ puts x
105
+ end
106
+ EOF
107
+
108
+ assert_output("11\n1\n") {cls.foo}
109
+ end
110
+
111
+
112
+ def test_add_args_in_macro
113
+ cls, = compile(<<-EOF)
114
+ macro def foo(a)
115
+ import duby.lang.compiler.Node
116
+ quote { bar "1", `Node(a.child_nodes.get(0)).child_nodes`, "2"}
117
+ end
118
+
119
+ def bar(a:String, b:String, c:String, d:String)
120
+ puts "\#{a} \#{b} \#{c} \#{d}"
121
+ end
122
+
123
+ foo(["a", "b"])
124
+ EOF
125
+
126
+ assert_output("1 a b 2\n") do
127
+ cls.main(nil)
128
+ end
129
+ end
130
+
131
+ def test_block_parameter_uses_outer_scope
132
+ cls, = compile(<<-EOF)
133
+ macro def foo(&block)
134
+ quote { z = `block.body`; puts z }
135
+ end
136
+ apple = 1
137
+ foo do
138
+ apple + 2
139
+ end
140
+ EOF
141
+
142
+ assert_output("3\n") do
143
+ cls.main(nil)
144
+ end
145
+ end
146
+
147
+ end
@@ -0,0 +1,15 @@
1
+ class TestMainMethod < Test::Unit::TestCase
2
+ def test_main_generation_for_file_with_class_of_same_name
3
+ code = <<-EOC
4
+ class WithMain
5
+ end
6
+ puts 'bar'
7
+ EOC
8
+
9
+ main_class, = compile code, 'with_main'
10
+
11
+ assert_output "bar\n" do
12
+ main_class.main(nil)
13
+ end
14
+ end
15
+ end
@@ -13,8 +13,6 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- $:.unshift File.join(File.dirname(__FILE__),'..','lib')
17
-
18
16
  require 'test/unit'
19
17
  require 'mirah'
20
18
  require 'jruby'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mirah
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.7
5
+ version: 0.0.8
6
6
  platform: java
7
7
  authors:
8
8
  - Charles Oliver Nutter
@@ -11,20 +11,20 @@ autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
13
 
14
- date: 2011-03-20 17:08:55.863000 -05:00
14
+ date: 2011-08-31 00:00:00 -06:00
15
15
  default_executable:
16
16
  dependencies:
17
17
  - !ruby/object:Gem::Dependency
18
18
  name: bitescript
19
- prerelease: false
20
- requirement: &id001 !ruby/object:Gem::Requirement
19
+ version_requirements: &id001 !ruby/object:Gem::Requirement
21
20
  none: false
22
21
  requirements:
23
22
  - - ">="
24
23
  - !ruby/object:Gem::Version
25
24
  version: 0.0.8
25
+ requirement: *id001
26
+ prerelease: false
26
27
  type: :runtime
27
- version_requirements: *id001
28
28
  description: |-
29
29
  Mirah is a customizable programming language featuring static types,
30
30
  local type inference and a heavily Ruby-inspired syntax. Mirah
@@ -37,19 +37,12 @@ executables:
37
37
  - mirah
38
38
  - mirahc
39
39
  - mirahp
40
- - duby
41
- - dubyc
42
- - dubyp
43
40
  extensions: []
44
41
 
45
42
  extra_rdoc_files:
46
43
  - History.txt
47
44
  - README.txt
48
45
  files:
49
- - bin/duby
50
- - bin/dubyc
51
- - bin/dubyp
52
- - bin/jrubyp
53
46
  - bin/mirah
54
47
  - bin/mirah.cmd
55
48
  - bin/mirahc
@@ -61,14 +54,13 @@ files:
61
54
  - lib/mirah_task.rb
62
55
  - lib/mirah/appengine_tasks.rb
63
56
  - lib/mirah/ast.rb
64
- - lib/mirah/class_loader.rb
65
- - lib/mirah/compilation_state.rb
57
+ - lib/mirah/commands.rb
66
58
  - lib/mirah/compiler.rb
67
59
  - lib/mirah/env.rb
68
60
  - lib/mirah/errors.rb
69
- - lib/mirah/impl.rb
61
+ - lib/mirah/generator.rb
62
+ - lib/mirah/parser.rb
70
63
  - lib/mirah/transform.rb
71
- - lib/mirah/transform2.rb
72
64
  - lib/mirah/typer.rb
73
65
  - lib/mirah/version.rb
74
66
  - lib/mirah/ast/call.rb
@@ -81,39 +73,77 @@ files:
81
73
  - lib/mirah/ast/scope.rb
82
74
  - lib/mirah/ast/structure.rb
83
75
  - lib/mirah/ast/type.rb
84
- - lib/mirah/jvm/base.rb
76
+ - lib/mirah/commands/base.rb
77
+ - lib/mirah/commands/compile.rb
78
+ - lib/mirah/commands/parse.rb
79
+ - lib/mirah/commands/run.rb
80
+ - lib/mirah/compiler/call.rb
81
+ - lib/mirah/compiler/class.rb
82
+ - lib/mirah/compiler/flow.rb
83
+ - lib/mirah/compiler/literal.rb
84
+ - lib/mirah/compiler/local.rb
85
+ - lib/mirah/compiler/method.rb
86
+ - lib/mirah/compiler/structure.rb
87
+ - lib/mirah/compiler/type.rb
85
88
  - lib/mirah/jvm/compiler.rb
86
89
  - lib/mirah/jvm/method_lookup.rb
87
- - lib/mirah/jvm/source_compiler.rb
88
90
  - lib/mirah/jvm/typer.rb
89
91
  - lib/mirah/jvm/types.rb
92
+ - lib/mirah/jvm/compiler/base.rb
93
+ - lib/mirah/jvm/compiler/java_source.rb
94
+ - lib/mirah/jvm/compiler/jvm_bytecode.rb
90
95
  - lib/mirah/jvm/source_generator/builder.rb
91
96
  - lib/mirah/jvm/source_generator/loops.rb
92
97
  - lib/mirah/jvm/source_generator/precompile.rb
93
98
  - lib/mirah/jvm/source_generator/typer.rb
99
+ - lib/mirah/jvm/types/array_type.rb
94
100
  - lib/mirah/jvm/types/basic_types.rb
95
101
  - lib/mirah/jvm/types/boolean.rb
102
+ - lib/mirah/jvm/types/dynamic_type.rb
96
103
  - lib/mirah/jvm/types/enumerable.rb
97
104
  - lib/mirah/jvm/types/extensions.rb
98
105
  - lib/mirah/jvm/types/factory.rb
99
106
  - lib/mirah/jvm/types/floats.rb
100
107
  - lib/mirah/jvm/types/integers.rb
108
+ - lib/mirah/jvm/types/interface_definition.rb
101
109
  - lib/mirah/jvm/types/intrinsics.rb
102
110
  - lib/mirah/jvm/types/literals.rb
111
+ - lib/mirah/jvm/types/meta_type.rb
103
112
  - lib/mirah/jvm/types/methods.rb
113
+ - lib/mirah/jvm/types/null_type.rb
104
114
  - lib/mirah/jvm/types/number.rb
115
+ - lib/mirah/jvm/types/primitive_type.rb
116
+ - lib/mirah/jvm/types/source_mirror.rb
117
+ - lib/mirah/jvm/types/type.rb
118
+ - lib/mirah/jvm/types/type_definition.rb
119
+ - lib/mirah/jvm/types/unreachable_type.rb
120
+ - lib/mirah/jvm/types/void_type.rb
105
121
  - lib/mirah/plugin/edb.rb
106
122
  - lib/mirah/plugin/gwt.rb
107
123
  - lib/mirah/plugin/java.rb
108
- - test/test_ast.rb
109
- - test/test_compilation.rb
110
- - test/test_env.rb
111
- - test/test_gwt.rb
112
- - test/test_java_typer.rb
113
- - test/test_javac_compiler.rb
114
- - test/test_jvm_compiler.rb
115
- - test/test_macros.rb
116
- - test/test_typer.rb
124
+ - lib/mirah/transform/ast_ext.rb
125
+ - lib/mirah/transform/error.rb
126
+ - lib/mirah/transform/helper.rb
127
+ - lib/mirah/transform/transformer.rb
128
+ - lib/mirah/typer/base.rb
129
+ - lib/mirah/typer/simple.rb
130
+ - lib/mirah/util/argument_processor.rb
131
+ - lib/mirah/util/class_loader.rb
132
+ - lib/mirah/util/compilation_state.rb
133
+ - lib/mirah/util/process_errors.rb
134
+ - test/core/test_ast.rb
135
+ - test/core/test_compilation.rb
136
+ - test/core/test_env.rb
137
+ - test/core/test_macros.rb
138
+ - test/core/test_typer.rb
139
+ - test/jvm/bytecode_test_helper.rb
140
+ - test/jvm/javac_test_helper.rb
141
+ - test/jvm/test_enumerable.rb
142
+ - test/jvm/test_java_typer.rb
143
+ - test/jvm/test_jvm_compiler.rb
144
+ - test/jvm/test_macros.rb
145
+ - test/jvm/test_main_method.rb
146
+ - test/plugins/test_gwt.rb
117
147
  - examples/bintrees.mirah
118
148
  - examples/construction.mirah
119
149
  - examples/dynamic.mirah
@@ -121,6 +151,7 @@ files:
121
151
  - examples/fib.mirah
122
152
  - examples/fields.mirah
123
153
  - examples/fractal.mirah
154
+ - examples/interfaces.mirah
124
155
  - examples/java_thing.mirah
125
156
  - examples/simple_class.mirah
126
157
  - examples/sort_closure.mirah
@@ -133,65 +164,38 @@ files:
133
164
  - examples/appengine/src/org/mirah/list.dhtml
134
165
  - examples/appengine/src/org/mirah/MirahApp.mirah
135
166
  - examples/appengine/war/WEB-INF/lib/dubydatastore.jar
167
+ - examples/macros/square.mirah
168
+ - examples/macros/square_int.mirah
169
+ - examples/macros/string-each-char.mirah
170
+ - examples/maven/pom.xml
171
+ - examples/maven/README.txt
172
+ - examples/maven/src/main/mirah/hello_mirah.mirah
136
173
  - examples/plugins/appengine/Rakefile
137
174
  - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/MetaModel.mirah
138
175
  - examples/plugins/appengine/src/com/google/appengine/ext/duby/db/Model.duby
139
176
  - examples/plugins/appengine/test/com/google/appengine/ext/duby/db/ModelTest.duby
140
- - examples/wiki/Rakefile
141
- - examples/wiki/src/org/mirah/wiki/edit.eduby.html
142
- - examples/wiki/src/org/mirah/wiki/error.eduby.html
143
- - examples/wiki/src/org/mirah/wiki/layout.eduby.html
144
- - examples/wiki/src/org/mirah/wiki/MirahWiki.duby
145
- - examples/wiki/src/org/mirah/wiki/parser.eduby.html
146
- - examples/wiki/src/org/mirah/wiki/view.eduby.html
147
- - examples/wiki/war/app.yaml
148
- - examples/wiki/war/public/favicon.ico
149
- - examples/wiki/war/public/robots.txt
150
- - examples/wiki/war/public/images/appengine_duby.png
151
- - examples/wiki/war/public/images/back.gif
152
- - examples/wiki/war/public/images/dir.gif
153
- - examples/wiki/war/public/images/file.gif
154
- - examples/wiki/war/public/javascripts/prettify.js
155
- - examples/wiki/war/public/stylesheets/main.css
156
- - examples/wiki/war/public/stylesheets/prettify.css
157
- - examples/wiki/war/public/stylesheets/sh_style.css
158
- - examples/wiki/war/public/stylesheets/source.css
159
- - examples/wiki/war/public/wmd/showdown.js
160
- - examples/wiki/war/public/wmd/wmd-base.js
161
- - examples/wiki/war/public/wmd/wmd-plus.js
162
- - examples/wiki/war/public/wmd/wmd.js
163
- - examples/wiki/war/public/wmd/images/bg-fill.png
164
- - examples/wiki/war/public/wmd/images/bg.png
165
- - examples/wiki/war/public/wmd/images/blockquote.png
166
- - examples/wiki/war/public/wmd/images/bold.png
167
- - examples/wiki/war/public/wmd/images/code.png
168
- - examples/wiki/war/public/wmd/images/h1.png
169
- - examples/wiki/war/public/wmd/images/hr.png
170
- - examples/wiki/war/public/wmd/images/img.png
171
- - examples/wiki/war/public/wmd/images/italic.png
172
- - examples/wiki/war/public/wmd/images/link.png
173
- - examples/wiki/war/public/wmd/images/ol.png
174
- - examples/wiki/war/public/wmd/images/redo.png
175
- - examples/wiki/war/public/wmd/images/separator.png
176
- - examples/wiki/war/public/wmd/images/ul.png
177
- - examples/wiki/war/public/wmd/images/undo.png
178
- - examples/wiki/war/public/wmd/images/wmd-on.png
179
- - examples/wiki/war/public/wmd/images/wmd.png
180
- - examples/wiki/war/src/org/mirah/wiki/edit.eduby.html
181
- - examples/wiki/war/src/org/mirah/wiki/error.eduby.html
182
- - examples/wiki/war/src/org/mirah/wiki/layout.eduby.html
183
- - examples/wiki/war/src/org/mirah/wiki/MirahWiki.duby
184
- - examples/wiki/war/src/org/mirah/wiki/parser.eduby.html
185
- - examples/wiki/war/src/org/mirah/wiki/view.eduby.html
186
- - examples/wiki/war/WEB-INF/pegdown.jar
187
- - examples/wiki/war/WEB-INF/classes/test/HeredocContext.class
188
- - examples/wiki/war/WEB-INF/classes/test/MirahParser.class
189
- - examples/wiki/war/WEB-INF/lib/appengine-api.jar
190
- - examples/wiki/war/WEB-INF/lib/dubydatastore.jar
191
- - examples/wiki/war/WEB-INF/lib/jmeta-runtime.jar
192
- - examples/wiki/war/WEB-INF/lib/pegdown-stubs.jar
193
- - javalib/dynalink-0.1.jar
194
- - javalib/jsr292-mock.jar
177
+ - examples/rosettacode/100-doors.mirah
178
+ - examples/rosettacode/99-bottles-of-beer.mirah
179
+ - examples/rosettacode/boolean-values.mirah
180
+ - examples/rosettacode/comments.mirah
181
+ - examples/rosettacode/copy-a-string.mirah
182
+ - examples/rosettacode/count-occurrences-of-a-substring.mirah
183
+ - examples/rosettacode/create-a-file.mirah
184
+ - examples/rosettacode/empty-string.mirah
185
+ - examples/rosettacode/factorial.mirah
186
+ - examples/rosettacode/fibonacci.mirah
187
+ - examples/rosettacode/file-size.mirah
188
+ - examples/rosettacode/fizz-buzz.mirah
189
+ - examples/rosettacode/flatten-a-list.mirah
190
+ - examples/rosettacode/guess-the-number.mirah
191
+ - examples/rosettacode/is-string-numeric.mirah
192
+ - examples/rosettacode/palindrome.mirah
193
+ - examples/rosettacode/README.txt
194
+ - examples/rosettacode/repeat-a-string.mirah
195
+ - examples/rosettacode/reverse-a-string.mirah
196
+ - examples/rosettacode/rot-13.mirah
197
+ - examples/rosettacode/user-input.mirah
198
+ - javalib/dynalink-0.2.jar
195
199
  - javalib/mirah-bootstrap.jar
196
200
  - javalib/mirah-parser.jar
197
201
  - History.txt
@@ -212,12 +216,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
212
216
  requirements:
213
217
  - - ">="
214
218
  - !ruby/object:Gem::Version
219
+ hash: 2
220
+ segments:
221
+ - 0
215
222
  version: "0"
216
223
  required_rubygems_version: !ruby/object:Gem::Requirement
217
224
  none: false
218
225
  requirements:
219
226
  - - ">="
220
227
  - !ruby/object:Gem::Version
228
+ hash: 2
229
+ segments:
230
+ - 0
221
231
  version: "0"
222
232
  requirements: []
223
233
 
@@ -227,12 +237,14 @@ signing_key:
227
237
  specification_version: 3
228
238
  summary: Mirah is a customizable programming language featuring static types, local type inference and a heavily Ruby-inspired syntax
229
239
  test_files:
230
- - test/test_ast.rb
231
- - test/test_compilation.rb
232
- - test/test_env.rb
233
- - test/test_gwt.rb
234
- - test/test_java_typer.rb
235
- - test/test_javac_compiler.rb
236
- - test/test_jvm_compiler.rb
237
- - test/test_macros.rb
238
- - test/test_typer.rb
240
+ - test/core/test_ast.rb
241
+ - test/core/test_compilation.rb
242
+ - test/core/test_env.rb
243
+ - test/core/test_macros.rb
244
+ - test/core/test_typer.rb
245
+ - test/jvm/test_enumerable.rb
246
+ - test/jvm/test_java_typer.rb
247
+ - test/jvm/test_jvm_compiler.rb
248
+ - test/jvm/test_macros.rb
249
+ - test/jvm/test_main_method.rb
250
+ - test/plugins/test_gwt.rb