* ILTokenizer.cs: Handle comments first, handle whitespace in hex
[mono.git] / mcs / docs / compiler
index 921075b290f21633fc6980ec6488269d7febe06b..e7dbb51b01f79f767e8f8a70dbbdd7bbdeb15484 100755 (executable)
                statements live in this file.  This also drives the
                semantic analysis process.
 
+           iterators.cs:
+
+               Contains the support for implementing iterators from
+               the C# 2.0 specification.
+
        Declarations, Classes, Structs, Enumerations
 
            decl.cs
        At the time the assignment expression `a = "hello"' is parsed,
        it is not know whether a is a class field from this class, or
        its parents, or whether it is a property access or a variable
-       reference.  The actual meaning of `a' will not be discvored
+       reference.  The actual meaning of `a' will not be discovered
        until the semantic analysis phase.
 
 ** The Tokenizer and the pre-processor
 
 ** Constants
 
-       Constants in the Mono C# compiler are reprensented by the
+       Constants in the Mono C# compiler are represented by the
        abstract class `Constant'.  Constant is in turn derived from
        Expression.  The base constructor for `Constant' just sets the
        expression class to be an `ExprClass.Value', Constants are
                * InUnsafe
                  Whether we are inside an unsafe block
                
-* Miscelaneous
+* Miscellaneous
 
 ** Error Processing.
 
        The error codes in the Mono C# compiler are the same as those
        found in the Microsoft C# compiler, with a few exceptions
        (where we report a few more errors, those are documented in
-       mcs/errors/errors.txt).  The goal is to reduce confussion to
+       mcs/errors/errors.txt).  The goal is to reduce confusion to
        the users, and also to help us track the progress of the
        compiler in terms of the errors we report. 
 
        RootContext.WarningLevel in a few places to decide whether a
        warning is worth reporting to the user or not.  
 
+* Debugging the compiler
+
+       Sometimes it is convenient to find *how* a particular error
+       message is being reported from, to do that, you might want to use
+       the --fatal flag to mcs.  The flag will instruct the compiler to 
+       abort with a stack trace execution when the error is reported.
+
+       You can use this with -warnaserror to obtain the same effect
+       with warnings. 
+
+* Editing the compiler sources
+
+       The compiler sources are intended to be edited with 134 columns of width
+       
\ No newline at end of file