C# 5.0 EBNF grammar

boindiil picture boindiil · May 4, 2014 · Viewed 8k times · Source

I am looking for an EBNF grammar of the programming language C# in the Version 5.0. This grammar should be machine readable, so I am able to do some processing with this EBNF grammar

Until now I found out that the language specification document of C# is included in the installation of Visual Studio (%PROGRAMFILES(x86)%\Microsoft Visual Studio 12.0\VC#\Specifications\1033) this document already includes the BNF grammar embedded in the document. However, this is only in BNF syntax and not EBNF and it is embedded in the *.docx document an no separate file, which means it is not sufficient for me.

Additionally I found these resources:

  • MSDN Blog: This is a EBNF grammar for C# version 4.0
  • slps.github.io: This contains the extracted BNF Grammar for C# Version 4.0

So these resources are not sufficient for my project. Do you know a complete EBNF grammar for C# 5.0?

Answer

Pretasoc picture Pretasoc · Sep 9, 2018

I know you're looking for a C# 5.0 Grammar, but there is an ANTLR grammar for c# 6.0 at github. ANTLR uses a kind of EBNF notation and can be parsed by a computer. If you want ANTLR allows you to generate a parser for C# from that grammar. Since C# 6.0 is a superset of C# 5.0, the Version difference shouldn't matter.