Potrzebuję parser lub gramatyki dla C# 3.0 (open-source license). Jaki jest najlepszy wybór dzisiaj?Najlepszy analizator składni dla języka C#?
Odpowiedz
Zobacz projekt ANTLR. http://www.antlr.org/
można uzyskać C# gramatyki stąd: http://www.antlr.org/grammar/list
Wyjazd Metaspec's C# parser:
Metaspec C# parser jest w pełni zgodny z ECMA-334 i ECMA-335 standardów . Ponadto obsługuje rozszerzenia specyficzne dla Microsoft. Aby uzyskać szczegółowe informacje na temat biblioteki parserów C#, , zobacz dokumentację online (wydanie C# lub C++).
C# 3.0 obsługiwane funkcje:
- nowy C# 3.0 typ algorytmu wnioskowania
- niejawnie wpisywanych zmiennych lokalnych
- obiektów inicjalizatory
- inicjalizatory kolekcja
- anonimowy stworzenie obiektu wyrażenia
- lambda wyrażenia
- anonimowe typy
- rozszerzenie metod
- zapytania wyrażeń
- metody częściowych
C# 2.0 Obsługiwane funkcje:
- leków generycznych
- dopuszczające wartość null typy
- anonimowe metody
Czy to * open source *? – skevar7
Nie jestem pewien - należy skontaktować się z Metaspec w celu uzyskania kopii licencji. –
Zależy czego optimzing dalej.
Jeśli optymalizujesz możliwość przekształcania C#, , zobacz C# Front End dla analizatora składni obsługującego C# 1.2, 2.0 i 3.0 (w tym składni LINQ). C# Front End jest zbudowany na bazie DMS Software Reengineering Toolkit, który zapewnia parsowanie, automatyczne budowanie AST, obsługę tablic symboli, transformację programu źródłowego do źródła przy użyciu składni na poziomie źródłowym z wzorami i AST z powrotem do źródłowego tekstu. Jeśli chcesz przekształcić kod C#, jest to narzędzie do tego. (DMS służy również do analizy i transformacji kodu w językach Java, C, C++, JavaScript, COBOL i wielu innych językach).
Jeśli optymalizujesz na otwartym kodzie źródłowym, to nie jest to narzędzie, które chcesz.
Polecam przynajmniej patrząc na projekt LINQOverC# hostowany na codeproject.com.
URL: http://www.codeplex.com/LinqOverCSharp
Istnieją pewne (drobne?) znane problemy, a numer nie był aktualizowany od stycznia 2008 roku (co może być dość dużym problemem), ale kod źródłowy dla parsera C# 3.0 (szybki i 100% .NET) jest do zrobienia.
Moje ulubione rzeczy o tym parser:
Można załadować plik projektu Visual Studio (csproj) praktycznie po wyjęciu z pudełka, i analizować całą shebang (włącznie z numerem montażowych).
Możesz zapytać, wyliczyć, przefiltrować itd. Przeanalizowany model obiektu (drzewo) za pomocą LINQ. Co sprawia, że prawie trywialne jest przechodzenie w górę i w dół oraz wszystko, co analizujesz.
Oto zapytań LINQ próba znalezienia zmiennej lub parametru w metodzie, gdzie nazwa zmiennej = VariableName:
variable = (from v in method.Variables
where string.Compare(v.Name, VariableName, false) == 0
select v as LanguageElement).Union(
from p in method.FormalParameters
where string.Compare(p.Name, VariableName, false) == 0
select p as LanguageElement).FirstOrDefault();
- 1. Czy istnieje dobry lekki analizator składni HL7 dla języka Java?
- 2. Analizator składni SPARQL dla kodu Java
- 3. Analizator składni i analizator JavaScript w języku C# .NET 4.5
- 4. Gdzie jest analizator języka TextMate?
- 5. Analizator składni akceptujący identyfikatory Scala?
- 6. Plik wcięcia Vima dla Treetop (analizator składni)
- 7. Android: Najlepszy analizator składni do analizy danych XML
- 8. Jak utworzyć analizator składni AST, który dopuszcza błędy składni?
- 9. Analizator składni ANTLR z ręcznym lexerem
- 10. Niestandardowy analizator składni JQuery Tablesorter
- 11. Analizator składni JSON w PascalScript
- 12. Sprawdzanie składni języka C# z wiersza poleceń
- 13. Analizator składni How To in .NET
- 14. Zagnieżdżony analizator składni logicznej za pomocą ANTLR
- 15. Lekki analizator składni SAX XML w języku C++
- 16. Analizator składni niewrażliwy na wielkość liter w C#
- 17. Uzasadnienie preferowanego języka Pythona dla składni
- 18. pisać rekursywny analizator składni z pyparstwem
- 19. Generator analizatora składni dla Celu C?
- 20. Analizator RSS dla .NET
- 21. UML dla języka programowania C
- 22. wsparcie dla języka C++ 11?
- 23. RDMS dla początkującego języka C?
- 24. Edytor kodu oparty na javascript dla niestandardowej składni języka
- 25. Pisanie analizatora składni (dla języka znaczników): Teoria i praktyka
- 26. Najlepszy/najszybszy sposób nauki języka Java dla doświadczonego programisty .NET/C# i C++
- 27. Analizator języka naturalnego do analizowania danych play-by-play
- 28. Analiza składni języka naturalnego podczas spotkania?
- 29. Analizator wiersza polecenia dla Qt4
- 30. Który analizator składni mikrodanych powinien być używany w Pythonie
Wystarczy ciekawy .. Dlaczego chcesz jednego? – RCIX
Eksperymentowanie z transformacjami kodu. – skevar7
Jeśli używasz pakietu Visual Studio SDK, możesz uzyskać pełny model obiektu dokumentu projektu C#, aby wykonać takie transformacje. VS używa go już do refraktorowania, a intellisense i wiele dodatków również tego używa. –