Permalink
Browse files

More C# grammars

git-svn-id: https://slps.svn.sourceforge.net/svnroot/slps@791 ab42f6e0-554d-0410-b580-99e487e6eeb2
  • Loading branch information...
grammarware committed May 6, 2010
1 parent dab48cb commit 76c8366b96c93efef8e60acf5869a00443d4b36e
@@ -0,0 +1,9 @@
all:
../../../../shared/tools/pdf2bgf msft-ls-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-grammar.bgf
../../../../shared/tools/bgf2bnf msft-ls-grammar.bgf msft-ls.bnf
rm -f msft-output.bgf
clean:
rm -f msft-output.bgf msft-ls-grammar.bgf msft-ls.bnf
@@ -0,0 +1,27 @@
C#
Language Specification
Version 1.2
http://download.microsoft.com/download/5/e/5/5e58be0a-b02b-41ac-a4a3-7a22286214ff/csharp%20language%20specification%20v1.2.doc
Copyright © Microsoft Corporation 1999-2003. All Rights Reserved.
Please send corrections, comments, and other feedback to csharp@microsoft.com
Notice
© 1999-2003 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 358, §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 dynamic assembly module
(added manually to keywords.lst)
page 380, §B.2.13
[ global-attribute-target-specifier attribute-list ,]
instead of
[ global-attribute-target-specifier attribute-list , ]
(changed manually in msft-ls-annex.txt)
@@ -0,0 +1,14 @@
Syntactic grammar
Basic concepts
Types
Variables
Expressions
Statements
Namespaces
Classes
Structs
Arrays
Interfaces
Enums
Delegates
Attributes
@@ -0,0 +1,24 @@
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
{ } [ ] ( ) . , : ;
+ - * / % & | ^ ! ~
= < > ? ++ -- && || << >>
== != <= >= += -= *= /= %= &=
|= ^= <<= >>= ->
assembly module add remove get set field method param property
Oops, something went wrong.

0 comments on commit 76c8366

Please sign in to comment.