2011-08-24 43 views
22

Qualcuno può indicarmi lo scopo dell'utilizzo di dll ANTLR in un progetto ASP.Net, C#.Quando si utilizza ANTLR

ho notato antlr.runtime, Antlr3.Runtime, Antlr3.Utlility assiemi viene fatto riferimento in qualche progetto.

Sarebbe bello se potessi citare alcuni esempi del mondo reale o qualsiasi link a una pagina web sarà utile.

+1

Non so perché e da dove ma questo antlr3 è presente nel mio progetto API Web ASP.NET. Posso rimuoverlo? – Tohid

risposta

2

Avresti bisogno di queste dll se stai analizzando un testo in fase di esecuzione utilizzando una grammatica antlr.

In genere ci sono due passaggi.

1) eseguire il parser java antlr sui file .g per generare un lexer C#, una grammatica C# e possibilmente tree walker C#.

2) Creare questi file nell'applicazione. Questi file funzioneranno insieme alla dll antlr.runtime o alla dll antlr3.runtime se si utilizza ANTLR versione 3.

Il programma C# può ora analizzare i file di testo utilizzando la grammatica che è stata compilata al passaggio 1.

7

ANTLR è un generatore di parser in grado di generare parser in più lingue, incluso C#. La homepage di ANTLR è here.

Il creatore Terence Parr ha anche pubblicato un libro, The Definitive ANTLR Reference.

+0

Grazie per la risposta. Mi chiedo ancora se ho bisogno di aggiungere un riferimento per questo se creo un'applicazione C# ASP.Net. Altrimenti, in quali casi è necessario fare riferimento a ANTLR? – iniki

+0

Stai usando ANTLR per creare un Lexer/Parser? Se è così, avrai un file che definisce una grammatica (probabilmente un file ".g"). In caso contrario, dovresti essere in grado di rimuovere i riferimenti alle DLL. – luketorjussen

37

Il pacchetto Antlr viene utilizzato dal pacchetto WebGrease. Il pacchetto WebGrease viene utilizzato dal pacchetto di ottimizzazione Web ASP.NET.

Se si desidera rimuovere Antlr, rimuovere il pacchetto di ottimizzazione Web ASP.NET. A sua volta rimuoverà gli altri 2 pacchetti.

Non influisce molto sulle prestazioni, purché l'applicazione sia stata progettata correttamente.

Problemi correlati