This project is read-only.

CSharpFactory branch started

After a long break, I started working on project. Now my aim is to refactor the existing code to support not only parsing C# projects but also writing C# code by extending the syntax tree. I'm thinking about a version that can be work in a Visual Studio package and has read-write access to the code represented by the Solution Explorer. The new name of the parse is CSharpFactory. The old version for VS 2005 has been retired. If you need that version, download changeset 14829.

CSharpParser v0.3.3.61 released!

This new version is the first release of CSharpParser supporting C# 3.0 syntax. This version will be built on .NET 3.5 with Visual Studio 2008. The new release only parses the syntax of C# 3.0 files, currently no semantic analysis is supported.

CSharpParser moved to Visual Studio 2008

I have moved CSharpParser to Visual Studio 2008. I know, it is not a good new for those who used the source code under VS 2005, but it is a real time-saving thing for me while developing C# 3.0 syntax parsing.

Brief project definition
The purpose of this project is to create a syntactical and semantical parser for C# compilation units that can be used together with LINQ as a solid base for refactoring and software QA tools. Right now the project is in an experimental phase. The planned phases are the followings:
  • Phase 1: Syntax parsing of C# compilation units, building up a syntax tree as a base for LINQ queries (Done!)
  • Phase 2: Semantical parsing of C# compilation units, building up a semantical tree as a base for LINQ queries (Under development)
  • Phase 3: Tuning - making the performance of parsing and LINQ queries better, polishing the C# compilation unit model toward cleaner queries

Future directions:
  • Not just parsing, but building up a C# compilation unit model
  • Tight integration with Visual Studio 2005/2008

Project documentation
To provide you with information about the project (e.g. how source code should be downoladed and used, how C# parser works, etc.) I put documents into this shared folder. Currently the following documents are available:
  • Parsing C# Code: Document describing how C# Parser of LINQ over C# works. This document is available in .pdf and .xps formats.
Project documents are updated between releases, so it is woth to check them regularly.

  • CSharpParser v0.3.3.61 released! Read the project documents above to use it.
Known Issues
  • Type parameter constraints are not fully checked.
  • Base class checking does not catches all declaration errors for generic classes
  • Members of partial types are not fully merged yet.

Last edited Mar 11, 2009 at 4:40 PM by INovak, version 26