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/web/mbas
diff options
context:
space:
mode:
Diffstat (limited to 'web/mbas')
-rw-r--r--web/mbas57
1 files changed, 57 insertions, 0 deletions
diff --git a/web/mbas b/web/mbas
new file mode 100644
index 00000000000..25dd5f4a2df
--- /dev/null
+++ b/web/mbas
@@ -0,0 +1,57 @@
+* mbas: Mono's VisualBasic.NET Compiler.
+
+ MonoBASIC (mbas) is a CIL compiler for the VisualBasic.NET language,
+ an extended version of Visual Basic. It's based on the MCS compiler
+ and still in heavy development, though many language features are
+ already supported. See mcs/mbas/
+
+** What works
+
+ <ul>
+
+ * Classes, Fields and Methods. Properties are still
+ being worked on.
+
+ * Module definition and Sub/Function functionality
+
+ * 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.
+ </ul>
+
+ A lot of this stuff is implemented rebuilding proper expressions and
+ statements on top of the classes based on those of mcs (look at the grammar -
+ mb-parser.jay - and compare it with cs-parser.jay, if interested), but some
+ are getting deeply changed, to better conform to VB.NET semantics.
+
+** TODO-list
+
+ At this stage almost every element of the language must be still checked for
+ conformance to MS' implementation.
+ We'd like to implement 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.
+
+ Also work on the supporting library (we don't currently depend on it as much
+ as MS vbc-compiled programs, but especially for late-binding scenarios we will)
+ is surely needed: it's in mcs/class/Microsoft.VisualBasic/