1. ホーム
  2. language-agnostic

[解決済み] レキサーの書き方の基本はどこで学べますか?

2023-04-06 05:30:53

質問

レキサーの書き方を教えてください。私の大学のコースでは、パーサー(とそれに付随するレキサー)を書かなければならない課題がありましたが、これは(点数以上の)指示やフィードバックなしに与えられたもので、私はそこからあまり多くを学ぶことはありませんでした。

このトピックを検索した後、私は、私がいるところから数歩進んでいると感じる領域に焦点を当てた、かなり高度な書き込みを見つけることができます。私は、より複雑な言語のトークン化を調査するための基礎として使用できる、非常に単純な言語のレキサーを書くための基礎についての議論を望んでいます。

この段階では、ベストプラクティスや最適化技術にはあまり興味がなく、基本的なことに焦点を当てたいと考えています。私が始めるための良いリソースは何でしょうか?

どのように解決するのですか?

基本的にレキサーの書き方には大きく分けて2つのアプローチがあります。

  1. 手書きで作成する場合、お勧めは この小さなチュートリアル .
  2. 以下のようなレキサー生成ツールを使用します。 レックス . この場合、選択した特定のツールのチュートリアルを読むことをお勧めします。

また、私がお勧めしたいのは 万華鏡チュートリアル から LLVM のドキュメントから引用しています。このチュートリアルでは、簡単な言語の実装を行い、特に小さなレキサーの書き方を説明します。このチュートリアルには、C++版とObjective Caml版があります。

このテーマに関する古典的な教科書は コンパイラ。原理、技法、ツール であり、「ドラゴンブック」としても知られています。しかし、これはおそらく「かなり高度な記述」の範疇に入るものでしょう。