2010-09-20 11 views
6

He estado buscando una biblioteca gratuita (como en "cerveza gratis") que pueda analizar código C# 3.0 (en realidad, C# 2.0 con lambdas lo haría) y devolver algún tipo de AST/código DOM para un proyecto personal. Sin embargo, la mayoría de las alternativas que he visto hasta ahora son insuficientes:¿Hay una buena manera de analizar el código de C# 3.0?

  • Microsoft.CSharp.CSharpCodeProvider.Parse tiros un NotImpementedException;
  • Visual Studio's "exposed" code parser sucks;
  • Las formas del compilador C# de Mono son impenetrables (y al lado de las que no están documentadas);
  • El C# Parser project at CodePlex solo analiza el código C# 2.0 y por lo tanto nos olvidamos de las lambdas;
  • Otro proyecto en SourceForge claims to parse C# to CodeDOM, pero tiene 2000 días, así que supongo que no es C# 3.0;
  • ... y continúa para varias páginas de resultados de Google.

Entonces ... ¿hay un analizador de C# 3.0 que funcione, que pueda ser enchufado a otro proyecto?

Respuesta

2

Eche un vistazo a http://antlrcsharp.codeplex.com/ Es una gramática C# 4 para el generador de analizadores Antlr.

+0

interesante, voy a ver lo que hace. – zneak

+0

¿Sabes si hay ejemplos disponibles en alguna parte? – zneak

+0

Eche un vistazo al código de prueba de unidad de proyecto: http://antlrcsharp.codeplex.com/SourceControl/changeset/view/53069#421907. –

Cuestiones relacionadas