-
Notifications
You must be signed in to change notification settings - Fork 4.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Platform documentation Update the compiler documentation to discuss supported platforms * Apply suggestions from code review Co-authored-by: Chris Sienkiewicz <chsienki@microsoft.com> --------- Co-authored-by: Chris Sienkiewicz <chsienki@microsoft.com>
- Loading branch information
Showing
2 changed files
with
51 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,19 +1,32 @@ | ||
Compiler Specification | ||
====================== | ||
# Roslyn Compiler | ||
|
||
## Specification | ||
|
||
The compiler specification details the supported (and semi-supported) surface area of the Roslyn VB and C# compilers. This includes | ||
|
||
0. Command-line switches and their meaning | ||
0. Breaking changes from previous versions of the compilers | ||
0. Compiler behaviors that are (intentionally) contrary to the specification | ||
0. Compiler features not described by the language specification | ||
- COM-specific and other Microsoft-specific features | ||
- "Well-known" attributes that affect compiler behavior | ||
- The "ruleset" file syntax and semantics | ||
0. Features included for interoperability between C# and VB, for example | ||
- Named Indexers use from C# | ||
0. Places where the compiler behavior diverges from the language specification | ||
0. Limitations (e.g. identifier length) | ||
0. History of language changes per version | ||
|
||
The language specification itself is not included here. | ||
1. Breaking changes from previous versions of the compilers | ||
2. Compiler behaviors that are (intentionally) contrary to the specification | ||
3. Compiler features not described by the language specification | ||
1. COM-specific and other Microsoft-specific features | ||
2. "Well-known" attributes that affect compiler behavior | ||
3. The "ruleset" file syntax and semantics | ||
4. Features included for interoperability between C# and VB, for example | ||
1. Named Indexers use from C# | ||
5. Places where the compiler behavior diverges from the language specification | ||
6. Limitations (e.g. identifier length) | ||
7. History of language changes per version | ||
|
||
The language specification itself is not included here. | ||
|
||
## Platforms | ||
|
||
The compiler is officially supported in the following configurations: | ||
|
||
- .NET Framework: x86, x64 and ARM64 | ||
- .NET Core: | ||
- Operating Systems: Windows, macOS, Linux | ||
- Architectures: x86, x64, and ARM64 | ||
- Mono Core: x86 and x64 | ||
|
||
The compiler takes contributions for other platforms, such as big-endian architectures, but does not officially support the compiler there. |