Permalink
Browse files

Microsoft C# Language Specification 3.0

git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@790 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information...
grammarware committed May 6, 2010
1 parent dda6992 commit dab48cb685c87abdf761734b032aff30ca143f6a
@@ -0,0 +1,6 @@
all:
../../../../shared/tools/pdf2bgf msft-ls-3.0-annex.txt msft-output.bgf banned-lines.lst keywords.lst
../../../../shared/tools/checkxml bgf msft-output.bgf
../../../../shared/tools/normbgf msft-output.bgf msft-ls-3.0-grammar.bgf
../../../../shared/tools/bgf2bnf msft-ls-3.0-grammar.bgf msft-ls-3.0.bnf
rm -f msft-output.bgf
@@ -0,0 +1,35 @@
C#
Language Specification
Version 3.0
Copyright © Microsoft Corporation 1999-2007. All Rights Reserved.
Please send corrections, comments, and other feedback to sharp@microsoft.com
Notice
© 1999-2007 Microsoft Corporation. All rights reserved.
Microsoft, Windows, Visual Basic, Visual C#, and Visual C++ are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A. and/or other countries/regions.
Other product and company names mentioned herein may be the trademarks of their respective owners.
Errors spotted right away:
page 200, §7.14; page 480, §B.2.4,
explicit-anonymous-function-parameter-list
instead of
explicit-anonymous-function-parameter-list:
and
implicit-anonymous-function-parameter-list
instead of
implicit-anonymous-function-parameter-list:
(changed manually in msft-ls-1.0-annex.txt)
page 73, §3.8; page 473, §B.2.1,
namespace-or-type-name . identifier type-argument-listop
instead of
namespace-or-type-name . identifier type-argument-listopt
(changed manually in msft-ls-1.0-annex.txt)
page 468, §B.1.7
the definition of keyword lacks:
group by join on equals into let get set yield partial var orderby
add remove where from select ascending descending alias field method
param property assembly module
(added manually to keywords.lst)
@@ -0,0 +1,14 @@
Syntactic grammar
Basic concepts
Types
Variables
Attributes
Expressions
Delegates
Classes
Structs
Namespaces
Interfaces
Arrays
Statements
Enums
@@ -0,0 +1,26 @@
abstract as base bool break
byte case catch char checked
class const continue decimal default
delegate do double else enum
event explicit extern false finally
fixed float for foreach goto
if implicit in int interface
internal is lock long namespace
new null object operator out
override params private protected public
readonly ref return sbyte sealed
short sizeof stackalloc static string
struct switch this throw true
try typeof uint ulong unchecked
unsafe ushort using virtual void
volatile while
{ } [ ] ( ) . , : ;
+ - * / % & | ^ ! ~
= < > ? ?? :: ++ -- && ||
-> == != <= >= += -= *= /= %=
&= |= ^= << <<= =>
group by join on equals into let get set yield partial var orderby
add remove where from select ascending descending alias field method
param property assembly module
Oops, something went wrong.

0 comments on commit dab48cb

Please sign in to comment.