2011-08-24 12 views
22

¿Puede alguien guiarme por favor con el propósito de usar dll ANTLR en un proyecto ASP.Net, C#.Cuándo usamos ANTLR

acabo de notar antlr.runtime, Antlr3.Runtime, Antlr3.Utlility conjuntos que se están referenciados en algún proyecto.

Será genial si puede citar algunos ejemplos del mundo real o cualquier enlace a una página web será útil.

+1

No sé por qué y desde dónde, pero este antlr3 está presente en mi proyecto ASP.NET Web API. ¿Puedo eliminarlo? – Tohid

Respuesta

2

Necesitará estas dll si está analizando cualquier texto en tiempo de ejecución utilizando una gramática antlr.

Normalmente hay dos pasos.

1) ejecute el analizador java antlr sobre sus archivos .g para generar un grabador C#, gramática C# y posiblemente caminantes de árbol C#.

2) Cree esos archivos en su aplicación. Esos archivos funcionarán junto con el dll antlr.runtime o antlr3.runtime dll si está utilizando ANTLR versión 3.

Su programa C# ahora puede analizar archivos de texto utilizando la gramática compilada en el paso 1.

7

ANTLR es un generador de analizadores que puede generar analizadores en varios idiomas, incluido C#. La página principal de ANTLR es here.

El creador Terence Parr también ha publicado un libro, The Definitive ANTLR Reference.

+0

Gracias por su respuesta. Todavía me pregunto si necesito agregar una referencia si creo una aplicación C# ASP.Net. De lo contrario, ¿en qué casos debo hacer referencia a ANTLR? – iniki

+0

¿Está utilizando ANTLR para crear un Lexer/Parser? Si es así, tendrá un archivo que define una gramática (probablemente un archivo ".g"). De lo contrario, debería poder eliminar las referencias a los archivos DLL. – luketorjussen

37

El paquete WebGrease utiliza el paquete Antlr. El paquete WebGrease es utilizado por el paquete de optimización web de ASP.NET.

Si desea eliminar Antlr, elimine el paquete de optimización web de ASP.NET. A su vez eliminará los otros 2 paquetes.

No afecta mucho el rendimiento, siempre que haya diseñado su aplicación correctamente.