Ruby.NET

Short introduction

The project aims to create a Ruby compiler for .NET.
The initial development is based on the the Ruby.NET proposal.
It is not suitable for production work right now.

Source code access

Source code is stored in the Mono Subversion repository.

svn co svn+ssh://mono-cvs.ximian.com/source/trunk/rubynet

Architecture

Based on NetRuby by arton

Files

FileFunctionsStatus
Built-in classes
Class.csClass and Module class (method dispatch etc.)
Object.csObject class, Ruby main module
Thread.csDynamic scoping, Thread and ThreadGroup class
Kernel.csKernel module
Array.csArray class
Bignum.csBignum class
Const.csconstants nil, false, true, undef
Enum.csEnumerable module
Exception.csNon-local control flow (tags), Exception class
Hash.csHash class
IO.csIO moduleincomplete
Numeric.csFixnum, Float class
Proc.csProc class
Regexp.csRegexp class
String.csString class
Symbol.csSymbol class
Time.csTime class
Compiler internals
NETRuby.csRuby interpreter state, main class
codegen.csCode generator for compiler
Scanner.csScanner (lexer) for Ruby source code
node.csAST node classes for Ruby syntax
node_print.csPretty-printer for AST, automatically generated
parse.yParser for Ruby source code
skeleton.csParser skeleton for Jay
Loader.csModule/file loaderincomplete

Types

.NET typeRuby typeRuby.NET class/value
intFixnumRFixnum
floatFloatRFloat
boolfalse, trueRFalse, RTrue (NetRuby.oTrue, NetRuby.oFalse)
nullnilRNil (NetRuby.oNil)
char[] (mutable string)StringRString
objectObjectRBasic/RObject
object[]ArrayRArray
HashtableHashRHash