The C# parser conforms to the language as defined by Microsoft and by several international standards. It accepts C# version 2.0 including generics. The C# parser builds a syntax tree and a symbol table and it performs name analysis, except for overloading resolution. The system does include a C# preprocessor.
Name analysis associates every use of a name with the corresponding declaration. Name analysis can handle the use of external names declared in other source files, .NET assemblies or DLL files (e. g. mscorlib.dll). The DLL files are handled as follows: They are disassembled using the Microsoft tool ildasm. The resulting assembly code is converted to C# source code by a translator tool developed by us. Then it is handled like any other source file.
References
- Microsoft: C# Language Specification
- ISO/IEC 23270:2003(E) Information technology -- C# Language Specification
- ECMA-334, C# Language Specification, 3rd Edition / June 2005