9

典型的なコンパイラコースを構成するオンラインコース/大学の講義を知っている人はいますか? 私はコンピューティングの理論を持っていましたが、残念ながら私の学校ではコンパイラ構築のコースを提供していませんでした。

そこに講義があることは知っています。特に優れた製品の推奨事項を期待していました。

また、この分野の初心者向けの本はありますか? 少なくともドラゴンブック以外の何か。初級者レベルは問題ありません。市場には中級者向けのテキストがたくさんあることは知っています。

ありがとう!

4

3 に答える 3

10

編集: この SO の質問がクローズされない場合は、この重複した SO の投稿を確認してください。これは、より徹底的に質問に回答します。

MIT の OpenCourseWare サイトのいくつかのリソース:

6.035 コンピュータ言語工学
6.827 マルチスレッド並列処理: 言語とコンパイラ

前者は、おそらくあなたが考えていたことの線に沿っています。また、講義のビデオの一部も含まれています。
後者は... 間違いなく大学院レベルのコースです。また、従来のコンパイル チェーンよりもマルチスレッドに重点が置かれています。(しかし、コードスレッドを効率的にチャンクするには、元のプログラムで表現されたセマンティクスを適切に把握する必要があります...)

于 2009-10-13T06:55:44.160 に答える
5

このコースをチェックアウトできます: http://ecee.colorado.edu/ecen4553

コース情報

Python のような高水準プログラミング言語はプログラミングを簡単にしますが、どのように機能するのでしょうか? Python と最新のコンピューターの機械語命令との間には大きなギャップがあります。Python プログラムを Intel x86 アセンブリ言語に変換する方法を学びます。

ほとんどのコンパイラ コースでは、解析、意味解析、レジスタ割り当てなど、一度に 1 つのコンパイラ フェーズについて説明します。このアプローチの問題点は、コンパイラ全体がどのように組み合わされているか、および各フェーズがそのように設計されている理由を理解するのが難しいことです。代わりに、毎週、Python 言語のより大きなサブセットを順次実装しています。最初のサブセットは算術ステートメントの小さな言語であり、完了する頃には言語にはオブジェクト、継承、およびファーストクラスの関数が含まれています。

前提条件: 少なくとも 1 つのプログラミング言語 (Java、C、C++、Python など) に堪能であること。学生は Python で多くのプログラミングを行いますが、Python の予備知識は必要ありません。このコースは、Python の短期集中コースから始まります。Python は、最も簡単に学べる言語の 1 つです。アセンブリ言語の予備知識は役に立ちますが、必須ではありません。

于 2009-10-13T06:52:46.443 に答える
4

これを見てください http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf ;)

これは非常に基本的な紹介です。最近のコンパイラはやや複雑です。

于 2009-10-13T06:34:42.253 に答える