J'ai besoin d'un analyseur ou d'une grammaire pour C# 3.0 (licence open-source). Quel est le meilleur choix aujourd'hui?Meilleur analyseur pour C#?
Répondre
Découvrez le projet ANTLR. http://www.antlr.org/
Vous pouvez obtenir C# grammaire d'ici: http://www.antlr.org/grammar/list
Check out Metaspec's C# parser:
L'analyseur Metaspec C# est entièrement conforme à la norme ECMA-334 et les normes ECMA-335 . En outre, il prend en charge les extensions spécifiques à Microsoft. Pour plus de détails sur la bibliothèque de l'analyseur C#, , voir la documentation en ligne (édition C# ou édition C++).
C# 3.0 fonctionnalités prises en charge:
- nouveau C# 3.0 inférence de type algorithme
- variables locales implicitement typées
- initializers objet
- collection initializers
- création d'un objet anonyme expressions
- lambda expressions
- types anonymes
- Méthodes d'extension
- expressions requête
- méthodes partielles
C# 2.0 Caractéristiques supportées:
- génériques
- types nullables
- méthodes anonymes
Est-ce * open source *? – skevar7
Je ne suis pas sûr - vous devrez contacter Metaspec pour obtenir une copie de leur licence. –
Cela dépend de ce que vous optimzing sur.
Si vous optimisez sur la capacité à transformer C#, voir le C# Front End pour un analyseur qui gère C# 1.2, 2.0 et 3.0 (y compris la syntaxe LINQ). Le frontal C# est construit au-dessus de DMS Software Reengineering Toolkit qui fournit l'analyse, la construction automatique d'AST, la prise en charge des tables de symboles, la transformation source-source du programme en utilisant la syntaxe au niveau source avec des motifs et AST en arrière-plan. Si vous cherchez à transformer le code C#, c'est l'outil pour le faire. (DMS est également utilisé pour analyser et transformer du code en Java, C, C++, JavaScript, COBOL et beaucoup d'autres langages).
Si vous optimisez sur open source, ce n'est pas l'outil que vous voulez.
Je recommande au moins de regarder le projet LINQOverC# hébergé sur codeproject.com.
URL: http://www.codeplex.com/LinqOverCSharp
Il y a quelques (mineur?Problèmes connus, et n'a pas été mis à jour depuis Janvier 2008 (ce qui pourrait être un gros problème), mais le code source d'un parseur C# 3.0 (rapide et 100% .Net) est là pour le prendre.
Mes choses préférées sur cet analyseur:
Il peut charger un fichier de projet Visual Studio (csproj) à peu près hors de la boîte, et d'analyser tout le tralala (y compris les références de montage).
Vous pouvez interroger, énumérer, filtrer, etc. le modèle d'objet analysé (arborescence) à l'aide de LINQ. Ce qui le rend presque trivial à parcourir de haut en bas et tout ce que vous êtes en train d'analyser.
Voici un exemple de requête de LINQ pour trouver une variable ou un paramètre dans une méthode où le nom de la variable = 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. PHP: Meilleur analyseur de date que strtotime
- 2. Objective-C DOM analyseur XML pour iPhone
- 3. C++ .net Analyseur HTML
- 4. Profiler/Analyseur pour Erlang?
- 5. Analyseur pour la syntaxe Mathematica?
- 6. Analyseur DOM pour non xml
- 7. Analyseur personnalisé pour JQuery Tablesorter
- 8. Analyseur Javascript pour l'expression simple
- 9. Un analyseur lexical pour SPDH
- 10. Analyseur HTML
- 11. Analyseur utilisant RegEx et XML, en C#
- 12. analyseur d'entrée de texte dans C#
- 13. PHP Lexical et analyseur syntaxique écrit en C/C++
- 14. analyseur JavaScript Python
- 15. Meilleur format XML binaire pour JavaME
- 16. Analyseur syntaxique léger
- 17. composant ou code pour un analyseur d'onde
- 18. Analyseur de ligne de commande pour Qt4
- 19. Un analyseur pour la trame SPDH
- 20. Fichier d'indentation Vim pour Treetop (analyseur Ruby)
- 21. Analyseur de ligne de commande C# compatible avec la GPL
- 22. Python 3.1 RSS Analyseur?
- 23. Analyseur AMF0 dans ObjectiveC
- 24. Analyseur MSXML en Java
- 25. Lucene hébreu analyseur
- 26. Analyseur de code HTML
- 27. Analyseur de code ColdFusion?
- 28. analyseur .NET HTTP
- 29. Quel est le meilleur profileur C++ gratuit pour Windows?
- 30. Quel est le meilleur wrapper C# disponible gratuitement pour BITS?
curiosité .. pourquoi voudriez-vous un? – RCIX
Expérimentation avec des transformations de code. – skevar7
Si vous utilisez Visual Studio SDK, vous pouvez obtenir un modèle d'objet document complet du projet C# pour effectuer de telles transformations. VS l'utilise déjà pour la réfraction et l'intellisense et beaucoup d'addines l'utilisent aussi. –