Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Tree: 69f62669a8

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
.gitignore
AssemblyInfo.cs
ChangeLog
Makefile
NOTES
README
anonymous.cs
argument.cs
assembly.cs
assign.cs
async.cs
attribute.cs
cfold.cs
class.cs
codegen.cs
complete.cs
const.cs
constant.cs
context.cs
convert.cs
cs-parser.jay
cs-tokenizer.cs
decl.cs
delegate.cs
doc-bootstrap.cs
doc.cs
driver.cs
dynamic.cs
ecore.cs
enum.cs
eval.cs
expression.cs
field.cs
flowanalysis.cs
generic.cs
ikvm.cs
import.cs
iterators.cs
lambda.cs
linq.cs
literal.cs
location.cs
mcs-build.csproj
mcs-net_4_0.csproj
mcs-net_4_5.csproj
mcs.csproj
mcs.exe.sources
mcs.sln
membercache.cs
method.cs
modifiers.cs
module.cs
namespace.cs
nullable.cs
parameter.cs
pending.cs
property.cs
reflection.cs
repl.txt
report.cs
settings.cs
statement.cs
support.cs
typemanager.cs
typespec.cs
visit.cs

README

These are the sources to the Mono C# compiler 
---------------------------------------------

	Read the mcs/docs/compiler.txt for an overview of the compiler.

Testing the Compiler
--------------------

	You might want to use the `make btest' in this directory to 
	have the compiler bootstrap itself, this is the basic regression
	test.

	Before commiting changes to MCS, make sure that all the tests
	in `mcs/tests' pass, and all the tests in 'mcs/errors' have the
	expected result, type:

	  cd mcs		# The top-level 'mcs' directory
	  make compiler-tests

	If you want to test the installed compiler, you can run:

	  cd mcs		# The top-level 'mcs' directory
	  make test-installed-compiler

Full Bootstrap
==============

	To finally ensure the state of the compiler, it is ideal to do
	a full bootstrap, to do this, do:

		cd mcs
		make clean;
		make
		make install

	That installs the compiler and assemblies compiled by the new compiler.

	Then, repeat that step again:

		make clean
		make

	If things work, the compiler has not added a new regression
	while building the mscorlib and the compiler itself.

Tests
=====

	When bugs are fixed, new tests must be added to the
	`mcs/tests' directory to excercise the problem and to guarantee
	that we keep the compiler in a good state.

	When an error is reported, it should be added to mcs/errors.

	We try to make the errors numbers be the same as the ones in
	Microsoft C#, if this is not possible, allocate a negative error
	number, and list it in mcs/errors/errors.txt
Something went wrong with that request. Please try again.