2010-12-08 11 views
3

Un analyseur Je cherche devrait:Qu'est-ce qu'un analyseur Ruby suggéreriez-vous pour analyser les sources de Ruby?

  • être l'analyse syntaxique Ruby amical,
  • être élégante par la conception de règles,
  • produisent des erreurs d'analyse syntaxique utilisateur conviviale,
  • documentation utilisateur devrait être disponible dans le volume plus qu'un exemple de calculatrice,
  • UPD: permet d'omettre les espaces blancs facultatifs qui écrivent une grammaire.

L'analyse rapide n'est pas une caractéristique importante.

J'ai essayé Citrus mais le manque de documentation et le besoin de spécifier chaque espace dans les règles m'ont juste éloigné de lui.

+0

Quelle version de la syntaxe Ruby devez-vous prendre en charge? – Phrogz

+0

Eh bien, si vous êtes prêt à y consacrer du temps, Ragel peut être votre meilleur pari. – rmk

+0

La version de Ruby en tant que langue d'entrée n'a pas beaucoup d'importance pour mon projet car seul un sous-ensemble de la langue sera implémenté - 1.8 ou 1.9 par exemple. Merci, rmk. –

Répondre

4

Ou si vous voulez analyser Ruby lui-même:

parse_tree and ruby_parser

Edit:

Je viens de voir votre dernier commentaire au sujet de besoin un sous-ensemble de Ruby pour y notre projet, dans ce cas, je vous recommande également de jeter un oeil à tinyrb.

+0

Cependant, les grammaires * treetop/citrus * sont difficiles à écrire en raison de la nécessité de spécifier des espaces blancs optionnels * après chaque élément * x_X. Ragel est recommandé uniquement pour le travail lex sur le site officiel; Je vais le regarder cependant. –

+0

Merci Michael! ** Treetop ** est plutôt un outil rapide; J'ai besoin de spécifier chaque espace manuellement mais ce n'est pas très pénible. –