私はANTLRを学び始め、2007年の本「The Definitive ANTLR Reference」とANTLRWorks(文法を作成するためのインタラクティブなツール)の両方を持っています。そして、そのような人である私は、第3章(「気楽な人のためのクイックツアー」)から始めました。ANTLRの使い方とよくある間違いの回避
特に、いくつかのエラーがかなり透過的であるため、かなり痛いプロセスです(例:ANTLR: "missing attribute access on rule scope" problem)。私には「あなたが何か間違っている」という意味です。また、私はいくつかの非常に単純な文法(3-4制作のみ)と簡単な入力(2行)を実行すると "OutOfMemory"エラーが出ます。
ANTLRサイトは役に立ちますが、多少断片化しており、一部のSOユーザーは本とチュートリアルでは高い入力レベルを期待しています(https://stackoverflow.com/questions/278480/good-tutorial-for-antlr)。私はこれのためにANTLRディスカッション・リストに近づくことには消極的でした。
続きを読む私たちはそれに慣れ始めています。静かに拡張できる簡単で信頼できる例を持つことは有益でしょう。 ANTLRに基づいた思考をかなり改造してきたので、それは確かに価値のあるものです。
問題点の1つは、ANTLR V3にV2から大きな変化があることです。 SO(およびANTLRページ)の1つの答えは、もはや利用できないV2構文を参照していました。
SOに関するANTLRの質問のいくつかは私を大いに助けてくれましたが、それらを見つけるのはちょっと面倒です。だから私は、SOのユーザーが学習プロセスを苦痛を少なくするためにどのように役立つかを知りたい。 (参考書を参照すると、特定のページを指すのが便利です)。
EDIT。 @duffymoと@JamesAndersonは、ANTLRが困難であることを確認しました。主にパーサーが難しいためです。 (FWIW私はLEX/YACCなどを通っていますが、ANTLRがより強力で使いやすくなっていることは間違いありません)。
のような汚れを避けることが可能な領域を持つことは依然として有用であると思います。- レクサーにパッケージ名を追加するだけでなく、それが優先これらの並べ替えの
多くは有用であろう影響するようパーサ
特に、ANTLRに関するものではありませんが、Terは後でLanguage Implementation Patternsという本を書いています。それは初心者と獣医の両方に関連性のある優れた作品です。 I | MVHOは、解析作業を行う人にとって絶対必要です。 –