私は1999年から仕事と楽しみのためにプログラミングをしています。私は新しいことを学びたいと思っています。私の仕事の大部分はデータの読み取り、統合、分析であるため、最近は構文解析に重点を置いています。また、オーバーヘッドが十分に低ければ、非常に単純なドメイン固有言語で表現できると思う反復的なタスクが多数あります。この件についていくつか質問があります。
- 私の現在の構文解析コードのほとんどは、形式文法を定義していません。私は通常、選択した言語で何かを一緒にハックします。それは簡単で、その方法を知っていて、そのコードを非常に高速に記述できるからです。一緒に仕事をしている他の人にとっても、メンテナンスは簡単です。ほとんどのプログラマーがパーサーを作成するために使用したハックと比較して、文法を定義し、実際のパーサーを生成して( ANTLRまたはYACCで行うように)物事を解析することの長所と短所は何ですか?
- C ++、Perl、Rubyで文法ベースのパーサーを作成するための最良のパーサー生成ツールは何ですか?私はANTLRを調べましたが、C ++ターゲットでANTLRv3を使用することについてはあまりわかりませんでしたが、それ以外の点では面白そうです。私が読むべきANTLRに似ている他のツールは何ですか?
- 誰かが構文解析についてもっと学びたいと思っている標準的な本や記事は何ですか?残念ながら、コンパイラのコースは私の教育の一部ではなかったので、基本的な資料は大歓迎です。ドラゴンブックについて素晴らしいことを聞いたことがありますが、他に何がありますか?