Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJohannes Roith <johannes@mono-cvs.ximian.com>2002-12-16 02:03:03 +0300
committerJohannes Roith <johannes@mono-cvs.ximian.com>2002-12-16 02:03:03 +0300
commit63ef7bccd20ccb10e57a0e6aacbfd063c0551260 (patch)
treebf57074a1915fd398b2e3832399e9c7c0bd6c863 /docs
parent4863ad2d710768fc35a5d626545c08e44b587f61 (diff)
add mono basic compiler page
svn path=/trunk/mono/; revision=9692
Diffstat (limited to 'docs')
-rw-r--r--docs/mbas46
1 files changed, 46 insertions, 0 deletions
diff --git a/docs/mbas b/docs/mbas
new file mode 100644
index 00000000000..1e46a876767
--- /dev/null
+++ b/docs/mbas
@@ -0,0 +1,46 @@
+* MBAS: The Ximian MonoBasic compiler
+
+ MBAS is a CIL compiler for the MonoBasic language, an extended
+ version of VisualBasic.NET. It's based on the MCS compiler
+ and still in heavy development, though many language features are
+ already supported.
+
+** What's working
+
+ - Classes, Fields and Methods. Properties are still being worked on
+ - Module definition and Sub functionality (TODO: Function's)
+ - Namespace Import, so can you reference, instantiate and call external
+ assemblies
+ - Parameter passing between Sub's. ByVal and ByRef parameters are being worked
+ on.
+ - Delegates
+ - Object creation
+ - Events - to a limited extent. You can declare a Class-Field as 'WithEvents'
+ and dynamic events (i.e AddHandler MyButton.Click, Button1_OnClick). Please
+ beware: just after committing the code, I discovered that the handler field
+ in the AddHandler call is case-sensitive, a remnant of mBas' mcs heritage)
+ - Statements supported are 'If..Then..Else' , 'While..End While' and
+ assignment statements. Simple operators (+, -, *, /, >, <, =) should also
+ work. Other statements (For..Next, etc.) should be quite trivial to
+ implement.
+
+ A lot of this stuff is implemented rebuilding proper expressions and
+ statements on top of the classes provided by mcs (look at the grammar -
+ mb-parser.jay - and compare it with cs-parser.jay, if interested).
+
+** TODO-list
+
+ At this stage almost every element of the language must be still checked for
+ conformance to MS'implementation. Help is particularly needed for those areas
+ I know little of (mcs internals are still quite obscure to me). I'd like to
+ implement class properties, the missing statements, exception handling,
+ structures and actual event support (not necessarily in this order). Once we
+ have all this stuff set up and reasonably bug-free, more work could be done
+ on helper functions and Object-vars handling.
+
+** Questions and Answers
+
+Q: Why introduce a new language MonoBasic, not VisualBasic.NET?
+
+A: MonoBasic includes VisualBasic.NET and just adds addtionally
+functionality. \ No newline at end of file