mirah 0.0.4-java → 0.0.5-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 (96) hide show
  1. data/History.txt +23 -0
  2. data/README.txt +13 -5
  3. data/Rakefile +30 -2
  4. data/bin/duby +16 -0
  5. data/bin/dubyc +16 -0
  6. data/bin/dubyp +16 -0
  7. data/bin/jrubyp +16 -0
  8. data/bin/mirah +17 -1
  9. data/bin/mirah.cmd +15 -0
  10. data/bin/mirahc +17 -1
  11. data/bin/mirahc.cmd +16 -1
  12. data/bin/mirahp +17 -1
  13. data/bin/mirahp.cmd +16 -1
  14. data/examples/appengine/Rakefile +17 -2
  15. data/examples/appengine/src/org/mirah/MirahApp.mirah +15 -0
  16. data/examples/bintrees.mirah +15 -0
  17. data/examples/construction.mirah +15 -0
  18. data/examples/dynamic.mirah +15 -0
  19. data/examples/edb.mirah +15 -0
  20. data/examples/fib.mirah +15 -0
  21. data/examples/fields.mirah +15 -0
  22. data/examples/fractal.mirah +15 -0
  23. data/examples/java_thing.mirah +15 -0
  24. data/examples/plugins/appengine/Rakefile +19 -4
  25. data/examples/plugins/appengine/lib/com/google/appengine/ext/duby/db/datastore.rb +21 -6
  26. data/examples/plugins/appengine/src/com/google/appengine/ext/duby/db/Model.duby +15 -0
  27. data/examples/plugins/appengine/test/com/google/appengine/ext/duby/db/ModelTest.duby +15 -0
  28. data/examples/simple_class.mirah +16 -1
  29. data/examples/sort_closure.mirah +15 -0
  30. data/examples/swing.mirah +17 -2
  31. data/examples/tak.mirah +15 -0
  32. data/examples/wiki/Rakefile +17 -2
  33. data/examples/wiki/src/org/mirah/wiki/MirahWiki.duby +15 -0
  34. data/examples/wiki/war/src/org/mirah/wiki/MirahWiki.duby +339 -0
  35. data/examples/wiki/war/src/org/mirah/wiki/edit.eduby.html +42 -0
  36. data/examples/wiki/war/src/org/mirah/wiki/error.eduby.html +2 -0
  37. data/examples/wiki/war/src/org/mirah/wiki/layout.eduby.html +69 -0
  38. data/examples/wiki/war/src/org/mirah/wiki/parser.eduby.html +7 -0
  39. data/examples/wiki/war/src/org/mirah/wiki/view.eduby.html +15 -0
  40. data/javalib/mirah-bootstrap.jar +0 -0
  41. data/javalib/mirah-parser.jar +0 -0
  42. data/lib/duby.rb +15 -0
  43. data/lib/mirah/appengine_tasks.rb +20 -6
  44. data/lib/mirah/ast/call.rb +19 -4
  45. data/lib/mirah/ast/class.rb +19 -4
  46. data/lib/mirah/ast/flow.rb +16 -1
  47. data/lib/mirah/ast/intrinsics.rb +36 -21
  48. data/lib/mirah/ast/literal.rb +16 -1
  49. data/lib/mirah/ast/local.rb +16 -1
  50. data/lib/mirah/ast/method.rb +18 -3
  51. data/lib/mirah/ast/scope.rb +19 -4
  52. data/lib/mirah/ast/structure.rb +16 -1
  53. data/lib/mirah/ast/type.rb +24 -9
  54. data/lib/mirah/ast.rb +24 -9
  55. data/lib/mirah/compiler.rb +16 -1
  56. data/lib/mirah/env.rb +16 -1
  57. data/lib/mirah/jvm/base.rb +18 -3
  58. data/lib/mirah/jvm/compiler.rb +35 -21
  59. data/lib/mirah/jvm/method_lookup.rb +16 -1
  60. data/lib/mirah/jvm/source_compiler.rb +29 -14
  61. data/lib/mirah/jvm/source_generator/builder.rb +21 -6
  62. data/lib/mirah/jvm/source_generator/loops.rb +16 -1
  63. data/lib/mirah/jvm/source_generator/precompile.rb +17 -2
  64. data/lib/mirah/jvm/source_generator/typer.rb +17 -2
  65. data/lib/mirah/jvm/typer.rb +19 -4
  66. data/lib/mirah/jvm/types/basic_types.rb +16 -1
  67. data/lib/mirah/jvm/types/boolean.rb +17 -2
  68. data/lib/mirah/jvm/types/enumerable.rb +21 -6
  69. data/lib/mirah/jvm/types/extensions.rb +16 -1
  70. data/lib/mirah/jvm/types/factory.rb +18 -3
  71. data/lib/mirah/jvm/types/floats.rb +16 -1
  72. data/lib/mirah/jvm/types/integers.rb +22 -7
  73. data/lib/mirah/jvm/types/intrinsics.rb +29 -14
  74. data/lib/mirah/jvm/types/literals.rb +16 -1
  75. data/lib/mirah/jvm/types/methods.rb +24 -9
  76. data/lib/mirah/jvm/types/number.rb +16 -1
  77. data/lib/mirah/jvm/types.rb +23 -4
  78. data/lib/mirah/nbcompiler.rb +19 -4
  79. data/lib/mirah/plugin/edb.rb +18 -3
  80. data/lib/mirah/plugin/gwt.rb +22 -7
  81. data/lib/mirah/plugin/java.rb +18 -3
  82. data/lib/mirah/transform.rb +35 -20
  83. data/lib/mirah/transform2.rb +20 -5
  84. data/lib/mirah/typer.rb +23 -8
  85. data/lib/mirah/version.rb +18 -0
  86. data/lib/mirah.rb +101 -50
  87. data/lib/mirah_task.rb +27 -12
  88. data/test/test_ast.rb +16 -1
  89. data/test/test_compilation.rb +18 -3
  90. data/test/test_env.rb +26 -11
  91. data/test/test_gwt.rb +18 -3
  92. data/test/test_java_typer.rb +27 -12
  93. data/test/test_javac_compiler.rb +17 -2
  94. data/test/test_jvm_compiler.rb +44 -14
  95. data/test/test_typer.rb +16 -1
  96. metadata +203 -193
data/History.txt CHANGED
@@ -1,3 +1,26 @@
1
+ === 0.0.5 / 2010-12-22
2
+
3
+ 8e00222 Update mirah-parser.jar to one built from mirah-parser project.
4
+ 466a21c Update mirah-bootstrap.jar for re-namespaced Mirah classes and modules.
5
+ b62603f Fix a bug in __ruby_eval caused by a fix for JRUBY-5163.
6
+ d17af25 NullType is assignable from any non-primitive type.
7
+ 805586f add rake gem task
8
+ 3be367b update readme install instructions
9
+ 6ac3fb1 add descriptions to rake tasks
10
+ 0ca5b96 use the JRuby classloader as parent for the Mirah class loader. Otherwise it doesn't load th
11
+ e6c95c3 add license to the pom and parent to release artifacts into the sonatype repository
12
+ c767233 mirah-complete already includes jruby-complete, so it's not a dependency
13
+ f7d36af variable versions mess the pom descriptor
14
+ 137e859 fix distribution directory and allow maven to complete the package lifecycle
15
+ 52ff7d1 add maven descriptor files to publish mirah into a maven repository
16
+
17
+ === 0.0.4 / 2010-11-17
18
+
19
+ * Lots of cleanup, bugs fixed
20
+ * New parser written in Mirah
21
+ * Improved annotation support
22
+ * New macro syntax
23
+
1
24
  === 0.0.3 / 2010-06-09
2
25
 
3
26
  * Even more language features!
data/README.txt CHANGED
@@ -32,15 +32,23 @@ mirahc -java -e "inline script" # produces DashE.java
32
32
 
33
33
  == INSTALL:
34
34
 
35
- If your "gem" command is the one from JRuby:
35
+ If your gem and rake are not from from JRuby, prefix the commands with jruby -S
36
36
 
37
- * gem install mirah
37
+ $ gem install mirah
38
38
 
39
- Otherwise:
39
+ To build and install from source,
40
40
 
41
- * jruby -S gem install mirah
41
+ $ git clone http://github.com/headius/bitescript.git
42
+ $ git clone http://github.com/mirah/mirah.git
43
+ $ cd bitescript
44
+ $ gem build bitescript.gemspec
45
+ $ gem install bitescript-*
46
+ $ cd -
47
+ $ cd mirah
48
+ $ rake gem
49
+ $ gem install pkg/mirah-*
50
+ $ cd -
42
51
 
43
- Only JRuby is supported at this time.
44
52
 
45
53
  == For Java tools:
46
54
 
data/Rakefile CHANGED
@@ -1,11 +1,35 @@
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
+
1
16
  require 'rake'
2
17
  require 'rake/testtask'
18
+ require 'rubygems'
19
+ require 'rubygems/package_task'
3
20
  require 'java'
4
21
  $: << './lib'
5
22
  require 'mirah'
6
23
  require 'jruby/compiler'
7
24
  require 'ant'
8
25
 
26
+ Gem::PackageTask.new Gem::Specification.load('mirah.gemspec') do |pkg|
27
+ pkg.need_zip = true
28
+ pkg.need_tar = true
29
+ end
30
+
31
+ task :gem => 'jar:bootstrap'
32
+
9
33
  task :default => :test
10
34
 
11
35
  Rake::TestTask.new :test do |t|
@@ -21,6 +45,7 @@ task :init do
21
45
  mkdir_p 'build'
22
46
  end
23
47
 
48
+ desc "clean up build artifacts"
24
49
  task :clean do
25
50
  ant.delete :quiet => true, :dir => 'build'
26
51
  ant.delete :quiet => true, :dir => 'dist'
@@ -38,13 +63,13 @@ task :compile => :init do
38
63
  # build the Mirah sources
39
64
  puts "Compiling Mirah sources"
40
65
  Dir.chdir 'src' do
41
- classpath = Duby::Env.encode_paths([
66
+ classpath = Mirah::Env.encode_paths([
42
67
  'javalib/jruby-complete.jar',
43
68
  'javalib/JRubyParser.jar',
44
69
  'build',
45
70
  '/usr/share/ant/lib/ant.jar'
46
71
  ])
47
- Duby.compile(
72
+ Mirah.compile(
48
73
  '-c', classpath,
49
74
  '-d', '../build',
50
75
  'org/mirah',
@@ -54,6 +79,7 @@ task :compile => :init do
54
79
  end
55
80
  end
56
81
 
82
+ desc "build basic jar for distribution"
57
83
  task :jar => :compile do
58
84
  ant.jar :jarfile => 'dist/mirah.jar' do
59
85
  fileset :dir => 'lib'
@@ -67,6 +93,7 @@ task :jar => :compile do
67
93
  end
68
94
 
69
95
  namespace :jar do
96
+ desc "build self-contained, complete jar"
70
97
  task :complete => :jar do
71
98
  ant.jar :jarfile => 'dist/mirah-complete.jar' do
72
99
  zipfileset :src => 'dist/mirah.jar'
@@ -78,6 +105,7 @@ namespace :jar do
78
105
  end
79
106
  end
80
107
 
108
+ desc "build bootstrap jar used by the gem"
81
109
  task :bootstrap => :compile do
82
110
  ant.jar :jarfile => 'javalib/mirah-bootstrap.jar' do
83
111
  fileset :dir => 'build'
data/bin/duby CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
data/bin/dubyc CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
data/bin/dubyp CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
data/bin/jrubyp CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  $: << File.dirname(File.dirname(__FILE__)) + '/lib'
3
19
  require 'mirah'
4
20
 
data/bin/mirah CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
@@ -6,4 +22,4 @@ rescue LoadError
6
22
  require 'mirah'
7
23
  end
8
24
 
9
- Duby.run(*ARGV)
25
+ Mirah.run(*ARGV)
data/bin/mirah.cmd CHANGED
@@ -1 +1,16 @@
1
+ REM Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ REM All contributing project authors may be found in the NOTICE file.
3
+ REM
4
+ REM Licensed under the Apache License, Version 2.0 (the "License");
5
+ REM you may not use this file except in compliance with the License.
6
+ REM You may obtain a copy of the License at
7
+ REM
8
+ REM http://www.apache.org/licenses/LICENSE-2.0
9
+ REM
10
+ REM Unless required by applicable law or agreed to in writing, software
11
+ REM distributed under the License is distributed on an "AS IS" BASIS,
12
+ REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ REM See the License for the specific language governing permissions and
14
+ REM limitations under the License.
15
+
1
16
  @jruby "%~dpn0" %*
data/bin/mirahc CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
@@ -6,4 +22,4 @@ rescue LoadError
6
22
  require 'mirah'
7
23
  end
8
24
 
9
- Duby.compile(*ARGV)
25
+ Mirah.compile(*ARGV)
data/bin/mirahc.cmd CHANGED
@@ -1 +1,16 @@
1
- @jruby "%~dpn0" %*
1
+ REM Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ REM All contributing project authors may be found in the NOTICE file.
3
+ REM
4
+ REM Licensed under the Apache License, Version 2.0 (the "License");
5
+ REM you may not use this file except in compliance with the License.
6
+ REM You may obtain a copy of the License at
7
+ REM
8
+ REM http://www.apache.org/licenses/LICENSE-2.0
9
+ REM
10
+ REM Unless required by applicable law or agreed to in writing, software
11
+ REM distributed under the License is distributed on an "AS IS" BASIS,
12
+ REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ REM See the License for the specific language governing permissions and
14
+ REM limitations under the License.
15
+
16
+ @jruby "%~dpn0" %*
data/bin/mirahp CHANGED
@@ -1,4 +1,20 @@
1
1
  #!/usr/bin/env jruby
2
+
3
+ # Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
4
+ # All contributing project authors may be found in the NOTICE file.
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+
2
18
  begin
3
19
  require 'mirah'
4
20
  rescue LoadError
@@ -6,4 +22,4 @@ rescue LoadError
6
22
  require 'mirah'
7
23
  end
8
24
 
9
- puts Duby.parse(*ARGV).inspect
25
+ puts Mirah.parse(*ARGV).inspect
data/bin/mirahp.cmd CHANGED
@@ -1 +1,16 @@
1
- @jruby "%~dpn0" %*
1
+ REM Copyright (c) 2010 The Mirah project authors. All Rights Reserved.
2
+ REM All contributing project authors may be found in the NOTICE file.
3
+ REM
4
+ REM Licensed under the Apache License, Version 2.0 (the "License");
5
+ REM you may not use this file except in compliance with the License.
6
+ REM You may obtain a copy of the License at
7
+ REM
8
+ REM http://www.apache.org/licenses/LICENSE-2.0
9
+ REM
10
+ REM Unless required by applicable law or agreed to in writing, software
11
+ REM distributed under the License is distributed on an "AS IS" BASIS,
12
+ REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ REM See the License for the specific language governing permissions and
14
+ REM limitations under the License.
15
+
16
+ @jruby "%~dpn0" %*
@@ -1,3 +1,18 @@
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
+
1
16
  # Hack to use the latest version instead of the gems when developing Mirah
2
17
  if File.exist?('../../lib/mirah.rb')
3
18
  $: << File.expand_path('../../lib')
@@ -9,8 +24,8 @@ require 'mirah/appengine_tasks'
9
24
 
10
25
  appengine_app :app
11
26
 
12
- MIRAH_APP = "#{Duby.dest_path}/org/mirah/MirahApp.class"
13
- LIST = "#{Duby.source_path}/org/mirah/list.dhtml"
27
+ MIRAH_APP = "#{Mirah.dest_path}/org/mirah/MirahApp.class"
28
+ LIST = "#{Mirah.source_path}/org/mirah/list.dhtml"
14
29
 
15
30
  # We want to recompile the app if the template gets modified
16
31
  Rake::Task[MIRAH_APP].enhance([LIST])
@@ -1,3 +1,18 @@
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
+
1
16
  import java.util.HashMap
2
17
  import java.util.regex.Pattern
3
18
 
@@ -1,3 +1,18 @@
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
+
1
16
  class BinaryTrees
2
17
  def self.main(args:String[])
3
18
  n = 0
@@ -1,3 +1,18 @@
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
+
1
16
  import "java.lang.StringBuffer"
2
17
  import "java.util.ArrayList"
3
18
 
@@ -1,3 +1,18 @@
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
+
1
16
  # Example of using a dynamic type in a method definition
2
17
  def foo(a:dynamic)
3
18
  puts "I got a #{a.getClass.getName} of size #{a.size}"
data/examples/edb.mirah CHANGED
@@ -1,3 +1,18 @@
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
+
1
16
  def_edb :render, 'test.edb'
2
17
  @message = "Hello"
3
18
  puts render
data/examples/fib.mirah CHANGED
@@ -1,3 +1,18 @@
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
+
1
16
  def fib(a:int)
2
17
  if a < 2
3
18
  a
@@ -1,3 +1,18 @@
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
+
1
16
  import 'java.util.ArrayList'
2
17
 
3
18
  class Bar
@@ -1,3 +1,18 @@
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
+
1
16
  def run
2
17
  puts "Rendering"
3
18
  y = -39.0
@@ -1,3 +1,18 @@
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
+
1
16
  import "java.lang.System"
2
17
 
3
18
  def foo
@@ -1,3 +1,18 @@
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
+
1
16
  require 'ant'
2
17
  require 'appengine-sdk'
3
18
 
@@ -9,7 +24,7 @@ TESTING_JARS = [AppEngine::SDK::API_JAR, AppEngine::SDK::LABS_JAR, JUNIT_JAR] +
9
24
  AppEngine::SDK::RUNTIME_JARS.reject {|j| j =~ /appengine-local-runtime/}
10
25
  TESTING_JARS.each {|jar| $CLASSPATH << jar}
11
26
 
12
- # Duby.compiler_options = ['-V']
27
+ # Mirah.compiler_options = ['-V']
13
28
 
14
29
  task :default => :test
15
30
 
@@ -24,13 +39,13 @@ task :clean do
24
39
  end
25
40
 
26
41
  task :compile => :init do
27
- # build the Duby sources
28
- puts "Compiling Duby sources"
42
+ # build the Mirah sources
43
+ puts "Compiling Mirah sources"
29
44
  mirahc 'com/google/appengine', :dir => 'src', :dest => 'build'
30
45
  end
31
46
 
32
47
  task :compile_test => :jar do
33
- puts "Compiling Duby tests"
48
+ puts "Compiling Mirah tests"
34
49
  mirahc 'com/google/appengine', :dir => 'test', :dest => 'test',
35
50
  :options => ['--classpath', Dir.pwd + "/dist/dubydatastore.jar"]
36
51
  end