Sto cercando un generatore di parser che abbia un EBNF per un linguaggio LL (k) mi dia un parser C# e generi classi dei tipi definiti nell'EBNF.Che cos'è un buon compilatore di compilatori/parser C#?
risposta
Gold è ok per quanto riguarda un parser generatori di andare.
MinosseCC è stata rinominata CSharpCC. La versione corrente è su Google Code space ed è la porta di JavaCC 3.2, mentre una versione di sviluppo (porta di JavaCC 5.0) è in fase di sviluppo su GitHub (http://github.com/deveel/csharpcc) – Antonello
ANTLR (niente altro da dire)
bene è necessario dì qualcosa per ottenere 15 caratteri. ;) +1 – kenny
Penso che ANTLR abbia problemi reali dando i messaggi di errore corretti. Buona fortuna a capire ad es. dove mettere la specifica @inlude! La documentazione è sconcertante e non mostra mai il modo preferito di fare cose. Le grammatiche sugli alberi sono una perdita di tempo .. il sito ANTLR ha anche un enorme blog su questo. –
Hmm, sembra http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Target è stato aggiornato l'ultima volta 3 anni fa e mancano tutti i blocchi di codice - aspetta, no, è proprio quello che succede quando JavaScript è disabilitato. Ad ogni modo, C# è sempre stato un obiettivo ANTLR di seconda classe. Quando l'ho usato per la prima volta, il codice sorgente di C# Runtime non era disponibile: l'autore (non lo stesso dell'autore di ANTLR) ha rilasciato il binario senza licenza IIRC specificata e ha lasciato la faccia della terra. Ho usato Reflector per ricostruire il codice sorgente. – Qwertie
Grammatica supporta LL (k). http://grammatica.percederberg.net/
Trova ironia http://irony.codeplex.com/
PRO: E 'semplice CONTRO: -Mancanza del documento -Rather Lento
Coco/R (del vento - "Johannes Kepler" Università di Linz)
C'è un nuovo generatore di parser sul blocco chiamato LLLPG, che supporta grammatiche LL (k) e asserzioni a larghezza zero. Può essere usato senza una libreria di runtime (è sufficiente una classe base). La documentazione è abbastanza dettagliata ora, e ho usato LLLPG per analizzare la maggior parte di un dialetto di C# chiamato Enhanced C# (che, di fatto, è la lingua di input principale di LLLPG). La sintassi di input non è EBNF, tuttavia (è una specie di mashup di C# + codice stile ANTLR).
Full disclosure: l'ho scritto. Domande benvenute
- 1. cos'è un buon compilatore c
- 2. Un buon compilatore C++ ottimizzerà un riferimento?
- 3. Che cos'è un buon compilatore BASIC per Mac OSX?
- 4. Che cos'è un buon motore di template HTML per C++?
- 5. Compilatore C/C++ che genera codice offuscato
- 6. Implementazione di un buon C++ 0x error_condition?
- 7. Compilatore PIC16 C
- 8. Compilatore C++ che supporta le caratteristiche C++ 0x?
- 9. Che cos'è un buon HTML5 Outliner?
- 10. Che cos'è un buon controllo selettore openid?
- 11. Che cos'è un buon codec video lossless?
- 12. Che cos'è un buon multiplexer terminale libero?
- 13. Che cos'è un buon jQuery timePicker?
- 14. Passaggio del compilatore C# di Roslyn
- 15. C'è un buon modo per analizzare il codice C# 3.0?
- 16. Qualcuno può consigliare un buon framework RESTful C/C++
- 17. Che cos'è un buon gioco che coinvolge la codifica?
- 18. Esiste un compilatore come servizio per C++?
- 19. C compilatore ??) sostituzione
- 20. Un compilatore ANSI C può rimuovere un ciclo di ritardo?
- 21. compilatore C# Enhancement Suggerimento
- 22. C Errore # compilatore CS0433
- 23. Compilatore PIC C gratuito
- 24. Supporto del compilatore per l'imminente C++ 0x
- 25. Buon metodo di apprendimento per Objective-C?
- 26. Un buon generatore di numeri casuali per C
- 27. Buon libro in stile C#?
- 28. Come scrivere un semplice compilatore in C/++?
- 29. Compilatore C a Brainfuck (per aver molestato un professore)?
- 30. Che cos'è un buon strumento di pulizia CSS?
Direi che è piuttosto buono l'OP – SpaceghostAli
LL (k). L'oro è LALR. –
correggimi se ho torto: non sono presenti grammatiche LL grammatiche LALR? –