2008-12-11 36 views
8

estoy buscando llave en mano ANTLR gramática para C# que genera un útil de sintaxis abstracta del árbol (AST) y de que sea el lenguaje de back-end agnóstico o se dirige a C#, C, C++ o D.C# ANTLR gramática?

No hace necesidad de admitir informes de errores.

P.S. No estoy dispuesto a hacer casi ninguna reparación ya que la alternativa no es muy difícil.

+0

Hola, ¿Pudo obtener una gramática para C#. Si es así, ¿podría compartirlo? –

+0

Nunca encontré uno que fuera lo suficientemente fácil. – BCS

+0

¿Cuál es la "alternativa no difícil" que está contemplando? –

Respuesta

5

Aquí hay un enlace C# grammar, así como una descripción general de C# and ANTLR. Hay otros para los otros idiomas que mencionaste here.

+0

Eso es solo para C# 1.0. C# 2.0 requiere un analizador sustancialmente más fuerte para manejar genéricos, pero ANTLR debería ser capaz de manejarlo. Buena suerte con C# 3.0 y LINQ! :) – leppie

+0

Um, ¿la descripción general de C# y ANTLR solo cubre el tiempo de ejecución C# ANTLR? Como en el PO, se solicitó una forma de analizar el código C# usando ANTLR, pero este enlace proporciona una guía para usar el código C#, generado por ANTLR, para analizar un lenguaje potencialmente arbitrario. – fostandy

3

El DMS Software Reengineering Toolkit proporciona una gramática validada completa para C# 1.2, 2.0 y 3.0 con expresiones genéricas y LINQ.

Crea automáticamente AST, le permite el acceso programático a los AST para el análisis o la transformación, o puede aplicar las transformaciones fuente a fuente que también manipulan directamente el árbol. El AST resultante puede imprimirse muy bien en el código fuente, incluso reteniendo sangrías y comentarios.

DMS también tiene frontales maduros para otros lenguajes como Java, PHP5, JavaScript, COBOL, C y C++.

EDITAR: 1/31/2010: El analizador DMS C# se ha ampliado para manejar C# 4.0 completo.

+0

No es gratis, pero se ve bastante genial. – BCS

Cuestiones relacionadas