diff options
author | Johannes Roith <johannes@mono-cvs.ximian.com> | 2002-12-16 02:03:03 +0300 |
---|---|---|
committer | Johannes Roith <johannes@mono-cvs.ximian.com> | 2002-12-16 02:03:03 +0300 |
commit | 63ef7bccd20ccb10e57a0e6aacbfd063c0551260 (patch) | |
tree | bf57074a1915fd398b2e3832399e9c7c0bd6c863 /docs | |
parent | 4863ad2d710768fc35a5d626545c08e44b587f61 (diff) |
add mono basic compiler page
svn path=/trunk/mono/; revision=9692
Diffstat (limited to 'docs')
-rw-r--r-- | docs/mbas | 46 |
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 |