Szukam generator parser, który podając EBNF dla języka LL (k) da mi parser C# i generuje klasy typy zdefiniowane w EBNF.Co to jest dobry kompilator kompilatora kompilatora C#/analizatora składni?
Odpowiedz
Gold jest OK jak daleko generatory parser iść.
Nazwa MinosseCC została zmieniona na CSharpCC. Obecna wersja jest w przestrzeni Google Code i jest portem JavaCC 3.2, podczas gdy wersja rozwojowa (port JavaCC 5.0) jest rozwijana na GitHub (http://github.com/deveel/csharpcc) – Antonello
ANTLR (nic innego do powiedzenia)
dobrze, musisz powiedz coś, aby uzyskać 15 znaków. ;) +1 – kenny
Myślę, że ANTLR ma prawdziwe problemy z podawaniem odpowiednich komunikatów o błędach. Powodzenia w szukaniu np. gdzie umieścić specyfikację @inlude! Dokumentacja jest oszałamiająca i nigdy nie pokazuje preferowanego sposobu robienia rzeczy. Gramaty drzewa to strata czasu. Strona ANTLR ma nawet ogromny wpis na blogu. –
Hmm, wygląda jak http://www.antlr.org/wiki/display/ANTLR3/Antlr+3+CSharp+Target został ostatnio zaktualizowany 3 lata temu i brakuje wszystkich bloków kodu - poczekaj, nie, właśnie to dzieje się, gdy JavaScript jest wyłączony. W każdym razie C# zawsze był celem ANTLR drugiej klasy. Kiedy użyłem go po raz pierwszy, kod źródłowy C# Runtime nie był dostępny: autor (nie ten sam co autor ANTLR) wypuścił plik binarny bez określonej licencji IIRC i odpadł z powierzchni ziemi. Użyłem Reflectora do rekonstrukcji kodu źródłowego. – Qwertie
Grammatica obsługuje LL (k). http://grammatica.percederberg.net/
Znajdź ironii http://irony.codeplex.com/
Plusy: Jest to proste Minusy: -Brak dokumentu -Rather Powolne
Coco/R (od wiatru - "Johannes Kepler" Uniwersytet Linz)
W bloku o nazwie LLLPG znajduje się nowy generator parsera obsługujący gramatyki LL (k) i asercje o zerowej szerokości. Może być używany bez biblioteki środowiska wykonawczego (wystarcza klasa podstawowa). Dokumentacja jest teraz dość szczegółowa i wykorzystałem LLLPG do przeanalizowania większości dialektów języka C# o nazwie Enhanced C# (która w rzeczywistości jest głównym językiem wprowadzania LLLPG). Składnia wejściowa nie jest jednak EBNF (jest to rodzaj mashup kodu stylu C# + ANTLR).
Pełne ujawnienie: napisałem. Pytania mile widziane.
- 1. dobry python do kompilatora exe?
- 2. Czy jest to błąd kompilatora VC++ 2010?
- 3. Czy kompilator C# jest mądrzejszy od kompilatora VB.NET?
- 4. D programowanie niekompletnego kompilatora
- 5. Magia kompilatora: dlaczego?
- 6. Dodaj własne ostrzeżenie kompilatora
- 7. Devirtualization kompilatora, niezbyt inteligentny?
- 8. Autotools: Włącz ostrzeżenia kompilatora
- 9. optymalizacji kompilatora Java String
- 10. Błąd kompilatora wewnętrznego VC++
- 11. Gdzie jest kod źródłowy kompilatora java?
- 12. Wybór odpowiedniego asemblera do kompilatora
- 13. Którego kompilatora D użyć?
- 14. Wyrażenia Lambda: zachowanie kompilatora
- 15. Optymalizacje kompilatora Erlang
- 16. Co robi flaga "optymalizacji" kompilatora scala?
- 17. Co to jest dobry JSP IDE
- 18. Co to jest dobry współczynnik testowania kodu?
- 19. Skąd wiesz, co to jest dobry indeks?
- 20. Kompilator niestandardowego katalogu wykonawczego kompilatora Maven2 i katalogu docelowego
- 21. Czy to jest opcjonalny parametr błędu kompilatora C# 4.0?
- 22. Błąd kompilatora ArrayList
- 23. Warunkowo Ukryj kod kompilatora
- 24. CMake narzeka "Identyfikacja kompilatora CXX jest nieznana"
- 25. Parser kodu parsera (bez kompilatora)
- 26. Wyświetlanie rozszerzonego kodu kompilatora - C++
- 27. Jak wykonać inżynierię wsteczną kompilatora?
- 28. Jak programowo użyć kompilatora JDT?
- 29. Tworzenie kompilatora Go domyślnie int64
- 30. Konfigurowanie IntelliJ do używania kompilatora Groovy Zamiast kompilatora Java
Powiedziałbym, że jest całkiem niezły – SpaceghostAli
OP proszony o LL (k). Złoto to LALR. –
popraw mnie jeśli się mylę: czy nie ma podzbiorów gramatyki LL gramatyk LALR? –