2011-07-12 10 views
1

私は熱心なプログラマーです。私はドラゴンの本を持っており、再帰的なパーサの仕組みを理解しようとしていますが、かなり難しいです。私も言語ソースコードを少し見てきましたが、小さな言語でさえもかなり複雑です。例えばパーサを学習するための小さな言語

: Luaがコード 約18Kラインセッド、約20K アイコンでは約41K エド(テキストエディタ)はたったの約2.7Kであるが、私は知っている言語にはかなり異なるようです。

誰も小さな小さな言語を勉強することをおすすめできますか?それが有用であるかどうかは関係ありません。

ウィキペディアは「小さなプログラミング言語を指すが、それへのリンクがありません。読み取り、パトリック

答えて

0

ため

おかげでANTLRのwikiで見つけcalculator exampleを見てみましょう。そこから、あなたが試すことができますこのようテレンスパーのclass siteの下部にあるCSVファイル、または演習を解析するなど、いくつかの他のタスク

+0

大丈夫、ありがとうございました。Matt – Patrick

0

私はC言語のようないくつかの言語のBNFを研究示唆している:。http://www.cs.man.ac.uk/~pjj/bnf/c_syntax.bnf

コードを調べても、再帰的パーサーを理解するのに役立つものではないためです。 BNFが何であるかを調べ、C_syntax bnfを学び、いくつかのコードを書いて紙に書いてみてください。私はコンパイラを書いています。

+0

ありがとうIgoris。私は数回BNFに遭遇しましたが、それが完全な目的であることを理解したことはありません、私はこれを行ってくれます、ありがとう - Patrick – Patrick

+0

私は[リンク](http://www.garshol.priv.no/download/text/bnf.html) )トップダウンとボトムアップパーサーも説明されているので、多くのお手伝いをします。 –

1

Tinyは、彼のパスカルベースのチュートリアル「コンパイラをビルドしましょう」のためにJack Crenshawによって開発されました。チュートリアルは、今までのリンクから移動しました!コンパイラの背後にあるアイデアを教えるために、いくつかの人がそれを使用していると思います。

それは1980年代後半のアタリST/comodore Amigaのタイプの家庭用コンピュータで使用されるようMC680x0プロセッサをターゲットアセンブリを出力現状ではバージョンはこちらhttp://www.e-booksdirectory.com/details.php?ebook=1137e

があります。

コードはイントロであり、そのほとんどは洗練されたコードではなく、単純で機能します。パーサは非常に基本的なものです。

関連する問題