mirah 0.0.7-java → 0.0.8-java
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +181 -0
- data/README.txt +6 -10
- data/Rakefile +86 -9
- data/bin/mirah +2 -0
- data/bin/mirahc +2 -0
- data/bin/mirahp +2 -0
- data/{bin/dubyp → examples/interfaces.mirah} +16 -9
- data/examples/macros/square.mirah +12 -0
- data/examples/macros/square_int.mirah +12 -0
- data/examples/macros/string-each-char.mirah +14 -0
- data/examples/maven/README.txt +2 -0
- data/examples/maven/pom.xml +23 -0
- data/examples/maven/src/main/mirah/hello_mirah.mirah +9 -0
- data/examples/rosettacode/100-doors.mirah +44 -0
- data/examples/rosettacode/99-bottles-of-beer.mirah +13 -0
- data/examples/rosettacode/README.txt +9 -0
- data/examples/rosettacode/boolean-values.mirah +29 -0
- data/examples/rosettacode/comments.mirah +2 -0
- data/examples/rosettacode/copy-a-string.mirah +10 -0
- data/examples/rosettacode/count-occurrences-of-a-substring.mirah +40 -0
- data/examples/rosettacode/create-a-file.mirah +6 -0
- data/examples/rosettacode/empty-string.mirah +9 -0
- data/examples/rosettacode/factorial.mirah +10 -0
- data/examples/rosettacode/fibonacci.mirah +21 -0
- data/examples/rosettacode/file-size.mirah +5 -0
- data/examples/rosettacode/fizz-buzz.mirah +21 -0
- data/examples/rosettacode/flatten-a-list.mirah +24 -0
- data/examples/rosettacode/guess-the-number.mirah +21 -0
- data/examples/rosettacode/is-string-numeric.mirah +127 -0
- data/examples/rosettacode/palindrome.mirah +14 -0
- data/examples/rosettacode/repeat-a-string.mirah +9 -0
- data/examples/rosettacode/reverse-a-string.mirah +6 -0
- data/examples/rosettacode/rot-13.mirah +20 -0
- data/examples/rosettacode/user-input.mirah +4 -0
- data/examples/sort_closure.mirah +1 -1
- data/javalib/dynalink-0.2.jar +0 -0
- data/javalib/mirah-bootstrap.jar +0 -0
- data/lib/mirah.rb +7 -16
- data/lib/mirah/ast.rb +22 -92
- data/lib/mirah/ast/call.rb +41 -9
- data/lib/mirah/ast/class.rb +34 -6
- data/lib/mirah/ast/flow.rb +17 -5
- data/lib/mirah/ast/intrinsics.rb +50 -8
- data/lib/mirah/ast/literal.rb +7 -0
- data/lib/mirah/ast/local.rb +9 -1
- data/lib/mirah/ast/method.rb +21 -8
- data/lib/mirah/ast/scope.rb +1 -1
- data/lib/mirah/ast/structure.rb +81 -15
- data/lib/mirah/ast/type.rb +4 -0
- data/{bin/dubyc → lib/mirah/commands.rb} +4 -11
- data/lib/mirah/commands/base.rb +54 -0
- data/lib/mirah/commands/compile.rb +39 -0
- data/{examples/wiki/Rakefile → lib/mirah/commands/parse.rb} +18 -17
- data/lib/mirah/commands/run.rb +73 -0
- data/lib/mirah/compiler.rb +37 -417
- data/lib/mirah/compiler/call.rb +45 -0
- data/lib/mirah/compiler/class.rb +81 -0
- data/lib/mirah/compiler/flow.rb +109 -0
- data/lib/mirah/compiler/literal.rb +130 -0
- data/lib/mirah/compiler/local.rb +59 -0
- data/lib/mirah/compiler/method.rb +44 -0
- data/lib/mirah/compiler/structure.rb +65 -0
- data/lib/mirah/compiler/type.rb +27 -0
- data/lib/mirah/env.rb +4 -6
- data/lib/mirah/generator.rb +61 -0
- data/lib/mirah/jvm/compiler.rb +8 -867
- data/lib/mirah/jvm/compiler/base.rb +270 -0
- data/lib/mirah/jvm/compiler/java_source.rb +779 -0
- data/lib/mirah/jvm/compiler/jvm_bytecode.rb +851 -0
- data/lib/mirah/jvm/method_lookup.rb +21 -2
- data/lib/mirah/jvm/source_generator/builder.rb +10 -13
- data/lib/mirah/jvm/source_generator/loops.rb +99 -93
- data/lib/mirah/jvm/source_generator/precompile.rb +3 -2
- data/lib/mirah/jvm/typer.rb +3 -3
- data/lib/mirah/jvm/types.rb +10 -426
- data/lib/mirah/jvm/types/array_type.rb +62 -0
- data/lib/mirah/jvm/types/basic_types.rb +1 -0
- data/lib/mirah/jvm/types/dynamic_type.rb +46 -0
- data/lib/mirah/jvm/types/factory.rb +23 -5
- data/lib/mirah/jvm/types/interface_definition.rb +20 -0
- data/lib/mirah/jvm/types/intrinsics.rb +15 -3
- data/lib/mirah/jvm/types/meta_type.rb +45 -0
- data/lib/mirah/jvm/types/methods.rb +12 -5
- data/lib/mirah/jvm/types/null_type.rb +27 -0
- data/lib/mirah/jvm/types/primitive_type.rb +38 -0
- data/lib/mirah/jvm/types/source_mirror.rb +266 -0
- data/lib/mirah/jvm/types/type.rb +173 -0
- data/lib/mirah/jvm/types/type_definition.rb +55 -0
- data/lib/mirah/jvm/types/unreachable_type.rb +27 -0
- data/lib/mirah/jvm/types/void_type.rb +19 -0
- data/lib/mirah/parser.rb +90 -0
- data/lib/mirah/plugin/gwt.rb +5 -5
- data/lib/mirah/plugin/java.rb +1 -1
- data/lib/mirah/transform.rb +4 -321
- data/lib/mirah/transform/ast_ext.rb +63 -0
- data/lib/mirah/transform/error.rb +13 -0
- data/lib/mirah/transform/helper.rb +761 -0
- data/lib/mirah/transform/transformer.rb +255 -0
- data/lib/mirah/typer.rb +2 -383
- data/{bin/duby → lib/mirah/typer/base.rb} +12 -10
- data/lib/mirah/typer/simple.rb +377 -0
- data/lib/mirah/util/argument_processor.rb +114 -0
- data/lib/mirah/util/class_loader.rb +37 -0
- data/lib/mirah/util/compilation_state.rb +51 -0
- data/lib/mirah/util/process_errors.rb +33 -0
- data/lib/mirah/version.rb +1 -1
- data/lib/mirah_task.rb +3 -2
- data/test/{test_ast.rb → core/test_ast.rb} +6 -0
- data/test/{test_compilation.rb → core/test_compilation.rb} +0 -0
- data/test/{test_env.rb → core/test_env.rb} +24 -25
- data/test/{test_macros.rb → core/test_macros.rb} +2 -4
- data/test/{test_typer.rb → core/test_typer.rb} +0 -3
- data/test/jvm/bytecode_test_helper.rb +181 -0
- data/test/{test_javac_compiler.rb → jvm/javac_test_helper.rb} +38 -22
- data/test/jvm/test_enumerable.rb +304 -0
- data/test/{test_java_typer.rb → jvm/test_java_typer.rb} +2 -4
- data/test/{test_jvm_compiler.rb → jvm/test_jvm_compiler.rb} +146 -443
- data/test/jvm/test_macros.rb +147 -0
- data/test/jvm/test_main_method.rb +15 -0
- data/test/{test_gwt.rb → plugins/test_gwt.rb} +0 -2
- metadata +103 -91
- data/bin/jrubyp +0 -52
- data/examples/wiki/src/org/mirah/wiki/MirahWiki.duby +0 -339
- data/examples/wiki/src/org/mirah/wiki/edit.eduby.html +0 -42
- data/examples/wiki/src/org/mirah/wiki/error.eduby.html +0 -2
- data/examples/wiki/src/org/mirah/wiki/layout.eduby.html +0 -69
- data/examples/wiki/src/org/mirah/wiki/parser.eduby.html +0 -7
- data/examples/wiki/src/org/mirah/wiki/view.eduby.html +0 -15
- data/examples/wiki/war/WEB-INF/classes/test/HeredocContext.class +0 -0
- data/examples/wiki/war/WEB-INF/classes/test/MirahParser.class +0 -0
- data/examples/wiki/war/WEB-INF/lib/appengine-api.jar +0 -0
- data/examples/wiki/war/WEB-INF/lib/dubydatastore.jar +0 -0
- data/examples/wiki/war/WEB-INF/lib/jmeta-runtime.jar +0 -0
- data/examples/wiki/war/WEB-INF/lib/pegdown-stubs.jar +0 -0
- data/examples/wiki/war/WEB-INF/pegdown.jar +0 -0
- data/examples/wiki/war/app.yaml +0 -21
- data/examples/wiki/war/public/favicon.ico +0 -0
- data/examples/wiki/war/public/images/appengine_duby.png +0 -0
- data/examples/wiki/war/public/images/back.gif +0 -0
- data/examples/wiki/war/public/images/dir.gif +0 -0
- data/examples/wiki/war/public/images/file.gif +0 -0
- data/examples/wiki/war/public/javascripts/prettify.js +0 -61
- data/examples/wiki/war/public/robots.txt +0 -0
- data/examples/wiki/war/public/stylesheets/main.css +0 -156
- data/examples/wiki/war/public/stylesheets/prettify.css +0 -1
- data/examples/wiki/war/public/stylesheets/sh_style.css +0 -66
- data/examples/wiki/war/public/stylesheets/source.css +0 -21
- data/examples/wiki/war/public/wmd/images/bg-fill.png +0 -0
- data/examples/wiki/war/public/wmd/images/bg.png +0 -0
- data/examples/wiki/war/public/wmd/images/blockquote.png +0 -0
- data/examples/wiki/war/public/wmd/images/bold.png +0 -0
- data/examples/wiki/war/public/wmd/images/code.png +0 -0
- data/examples/wiki/war/public/wmd/images/h1.png +0 -0
- data/examples/wiki/war/public/wmd/images/hr.png +0 -0
- data/examples/wiki/war/public/wmd/images/img.png +0 -0
- data/examples/wiki/war/public/wmd/images/italic.png +0 -0
- data/examples/wiki/war/public/wmd/images/link.png +0 -0
- data/examples/wiki/war/public/wmd/images/ol.png +0 -0
- data/examples/wiki/war/public/wmd/images/redo.png +0 -0
- data/examples/wiki/war/public/wmd/images/separator.png +0 -0
- data/examples/wiki/war/public/wmd/images/ul.png +0 -0
- data/examples/wiki/war/public/wmd/images/undo.png +0 -0
- data/examples/wiki/war/public/wmd/images/wmd-on.png +0 -0
- data/examples/wiki/war/public/wmd/images/wmd.png +0 -0
- data/examples/wiki/war/public/wmd/showdown.js +0 -421
- data/examples/wiki/war/public/wmd/wmd-base.js +0 -1799
- data/examples/wiki/war/public/wmd/wmd-plus.js +0 -311
- data/examples/wiki/war/public/wmd/wmd.js +0 -73
- data/examples/wiki/war/src/org/mirah/wiki/MirahWiki.duby +0 -339
- data/examples/wiki/war/src/org/mirah/wiki/edit.eduby.html +0 -42
- data/examples/wiki/war/src/org/mirah/wiki/error.eduby.html +0 -2
- data/examples/wiki/war/src/org/mirah/wiki/layout.eduby.html +0 -69
- data/examples/wiki/war/src/org/mirah/wiki/parser.eduby.html +0 -7
- data/examples/wiki/war/src/org/mirah/wiki/view.eduby.html +0 -15
- data/javalib/dynalink-0.1.jar +0 -0
- data/javalib/jsr292-mock.jar +0 -0
- data/lib/mirah/class_loader.rb +0 -35
- data/lib/mirah/compilation_state.rb +0 -28
- data/lib/mirah/impl.rb +0 -273
- data/lib/mirah/jvm/base.rb +0 -267
- data/lib/mirah/jvm/source_compiler.rb +0 -760
- 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
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: mirah
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0.
|
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-
|
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
|
-
|
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/
|
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/
|
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/
|
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
|
-
-
|
109
|
-
-
|
110
|
-
-
|
111
|
-
-
|
112
|
-
-
|
113
|
-
-
|
114
|
-
-
|
115
|
-
-
|
116
|
-
-
|
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/
|
141
|
-
- examples/
|
142
|
-
- examples/
|
143
|
-
- examples/
|
144
|
-
- examples/
|
145
|
-
- examples/
|
146
|
-
- examples/
|
147
|
-
- examples/
|
148
|
-
- examples/
|
149
|
-
- examples/
|
150
|
-
- examples/
|
151
|
-
- examples/
|
152
|
-
- examples/
|
153
|
-
- examples/
|
154
|
-
- examples/
|
155
|
-
- examples/
|
156
|
-
- examples/
|
157
|
-
- examples/
|
158
|
-
- examples/
|
159
|
-
- examples/
|
160
|
-
- examples/
|
161
|
-
-
|
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/
|
234
|
-
- test/
|
235
|
-
- test/
|
236
|
-
- test/
|
237
|
-
- test/
|
238
|
-
- test/
|
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
|