J'ai commencé à apprendre AntlR et j'ai à la fois le livre 2007 "la référence définitive en AntlR" et les antlrworks (un outil interactif pour créer des grammaires). Et, être ce genre de personne, j'ai commencé au chapitre 3. ("Une visite rapide pour l'impatience"). p>
C'est un processus assez douloureux, notamment car certaines erreurs sont plutôt impénétrables (par exemple, Antlr: "Attribut manquant accès à la portée de la règle" Problème , qui signifie juste pour moi "Vous avez quelque chose de mal"). De plus, j'ai des grammaires très simples (3-4 productions uniquement) et une entrée simple (2 lignes) qui, lorsqu'elle est exécutée, donnez une erreur "OutofMemory". P>
Le site AntLR est utile mais quelque peu fragmenté et certains utilisateurs ont commenté ( https: // Stackoverflow. com / Questions / 278480 / Good-Tutoriel-For -TlR ) que le livre et les didacticiels attendent un niveau d'entrée élevé. Je suis réticent à approcher de la liste de discussion en AntLR à cause de cela. P>
Un problème est que AntlR V3 a des changements significatifs de V2. Une réponse sur SO (et sur les pages Antlr) a été référée à une syntaxe V2 qui n'est plus disponible. P>
Certaines des questions anti-ANTLR sur elles ont beaucoup aidé beaucoup, mais les trouver est un peu ad hoc. J'aimerais donc savoir comment afin que les utilisateurs puissent aider à rendre le processus d'apprentissage moins douloureux. (Si vous vous référez au livre de référence, il serait utile de pointer sur des pages particulières). P>
Et plus de ces trimes seraient utiles. P>
3 Réponses :
Je suis d'accord - Antlr n'est pas pour les faibles de cœur. Cela attend un niveau d'entrée élevé, car les grammates et les analysaires ne sont pas triviaux. P>
avec cela dit, voici quelques suggestions: P>
Antlr ne sera pas facile à maîtriser. Le livre est bon, mais dense. Les messages d'erreur sont cryptiques, comme vous l'avez noté. Je serais surpris si quelqu'un ici pouvait le rendre facile. P>
Juste pour signaler, Antlrworks est également génial pour la construction de grammaires et comporte un peu comme vous liste pour Intellij.
Antlrworks est un plug-in Intellij. Je ne l'ai pas utilisé à l'extérieur de l'IDE.
Désolé, mais mon expérience d'Antlr (en effet Javacc, Bison ou tout anal d'analyseur complet) est que la plupart de votre apprentissage seront en corrige vos propres erreurs! P>
Obtenir de bons exemples de Code des autres peuples découpera quelque peu, les meilleurs exemples semblent vraiment simples - mais il vous manque toute la transpiration et les cheveux qui tirent pour les amener à regarder aussi facilement. P>
Je viens de commencer avec elle et "tirer les cheveux" est en effet la terminologie technique correcte pour la courbe d'apprentissage associée à ANTLR. Bien que j'ai le sentiment d'avoir l'impression qu'une fois que vous atteignez le sommet de MT Antlr, la vue d'Atop est spectaculaire.
Même si vous préférez la ligne de commande, il vaut la peine d'utiliser des antlrworks lorsque vous avez des problèmes. La représentation diagramatique peut faciliter la voir ce que je me trompe. P>
Une image vaut mille messages d'erreur. P>
Bien que non spécifiquement sur ANTLR, TER a écrit un livre ultérieur appelé modèle de mise en œuvre de la langue. C'est un excellent travail I> avec pertinence pour les débutants et le vétérinaire. I | MVHO Un must absolu pour quiconque fait de l'analyse de travail.