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

mbas « web - github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web/mbas
blob: 25dd5f4a2df4e0b6f1ec9e432e03ade6d0e6c902 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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/