-
08-06-2019 - |
質問
聞いたのですが"という考え方のx回試言語で書くコンパイラ/通訳、言語そのものです。たということを達成することができたし、周囲を見回るビットを見たいと言ってきか
- 書き初期コンパイラは、異なる言語です。
- 手符号化の最初のコンパイラを組み立て、というような特別な場合の
私は、このように実際に x回試 言語という意味では両方が可能です。があるので、実際に書くコンパイラの独自の養成講座を開催します。
解決
があるので、実際に書くコンパイラの独自の養成講座を開催します。
す してい 一部既存の言語を書く新しいコンパイラです。また、新しいいのC++コンパイラというだけのものC++コンパイルすることにより、既存のコンパイラです。一方で、合成のコンパイラのための新しい言語のうYazzleofすれば安定性がさらに向上記の新しいコンパイラのその他の言語によります。一般的になり得るかということですが、他のプログラミング言語ですが、なれてしまいます。できる組み立て、必要な場合には、機械のコードです。
の場合 た 今ブートストラップコンパイラのためのYazzleof、一般的な書きコンパイラのための言語です。くすくコンパイラのためのYazzle-liteの可能な最小のサブセットのYazzleof(したという人もいるかもしれな 可愛らしい小 サブセットの少なくとも).その後Yazzle-liteいコンパイラのための言語です。(これは明らかで発生に伴う一つのジャンプします。) でYazzle-liteは、適切なサブセットのYazzleofしておりますコンパイラでコンパイルそのものです。
があり 本当に 良いwriteup約x回試コンパイラから最低レベルは、現代の機械は基本的には、六角レンチをエディタ)、 X回試簡単なコンパイラから.できた https://web.archive.org/web/20061108010907/http://www.rano.org/bcompiler.html.
他のヒント
説明のままに通知するものとします。が議論の コンパイラでコンパイル:理の原則-手法-ツール (ドラゴン書籍):
- 書くコンパイラC1言語X言語Y
- 使用のコンパイラC1書C2のコンパイラのためのX言語の言語X
- 今C2は完全に自己を主催。
超面白い その はUnixの共作 トンプソン's チューリング賞 講演があります。
賞を始めとすると:
僕がいつも多くの"鶏と卵"のことで引き起こされる問題のコンパイラは自身の言語です。このさい、使用したい特定の例からCコンパイラです。
とができるようにどのように描いていてバージョンのUnix Cコンパイラが常にできたログイン、パスワードを入力しなので、Cコンパイラが認識するログインプログラムの追加と特別なコードです。
第二のパターンの目的は、Cコンパイラです。交換用のコードはStage Iでは自己再生プログラムに挿入します両方のトロイの木馬をコンパイラです。このことは学習段階としてのステージIIの一例です。まず最初にコンパイルを修正したソースは通常のCコンパイラをbuggedバイナリー.設では、このバイナリーとしての公式C.できるようになってきたの除去のバグのソースからコンパイラのバイナリを再び挿入するバグの場合はいつでも、取りまとめを行いました。もちろん、ログインコマンドはbuggedない微量ソースです。
の本当に嬉しかったというのは、聞いたことは、シンプルにわかりやすく書く限られたコンパイラのその他の言語により、その利用のための複雑版の新しい言語です。この第二版を行うために使用することができコンパイルそのものは、次のバージョン。各時間ベースで作成している最新バージョンを使用します。
この定義 x回試:
のシンプルなシステムの活性化、複雑なシステムとして同じ目的です。
編集:の Wikipedia記事コンパイラのx回試 カバーのようでした。
チェックpodcast ソフトウェア工学のラジオ第61 (2007-07-06)プGCCコンパイラの内部、GCC x回試です。
ドナルドE.Knuth 実際に構築 ウェブ 書き込むことによって、コンパイラに囲まれた高原地帯に位置し、その後手コンパイルで組み立てまたは機械のコードです。
私の理解では、最初の Lisp 通訳bootstrapped、直接目で見、手で触って、作成、コンストラクタに機能、トークンリーダー.その訳は次に読み込みます。
から確認することができます自分で読み込み元の義紙 再帰的機能の象徴的表現とその計算機によって.
他の代替をbytecode機言語を使用するか、既に持っている場合で特徴んでもなくコンパイラをbytecode、bytecode、ご希望の言語を利用中などのツールキットのパーサを出力するASTしてXMLとして、そのコンパイル、XML bytecode用XSLT(または別のパターンマッチング言語やツリーに基づく表).でないと削除の依存関係を他の言語がることを意味するのx回試作品という結果で終えられるよう最後のシステム。
このコンピュータ科学のキャッシュ-フローパラドックスです。うには思えないく最初のコンパイラでアセンブラやその他の言語です。ればなりますので注意してください、ばいいのかLispを行います。
実は、と思いLispほとんど認.チェック そのWikipediaに参入.その記事によると、Lispエバール機能が実装される IBM704 機械コードは、完全にコンパイラ(書Lisp自体も)が生まれることは1962年で MIT.
一部のbootstrappedコンパイラでコンパイルまたはシステムの維の両方の形式のオブジェ形態にリポジトリ:
存 は語るbytecode通訳(つまりコンパイラに存bytecode)は、ネイティブコンパイラ(x86-64や腕など---。アセンブラ).そのsvnリポジトリの両方を含むソースコード(ファイル
*/*.{ml,mli}
のbytecode(ファイルboot/ocamlc
形態のコンパイラです。なんとなく構築するにはまずそのbytecode(以前のバージョンのコンパイラ)をコンパイルそのものです。その後、出来たて作成bytecodeできるコンパイルはネイティブコンパイラです。で存svnリポジトリに含まれ*.ml[i]
ソースファイルのboot/ocamlc
bytecodeファイルです。の 錆 コンパイラのダウンロードを使用
wget
, る必要がありますインターネット接続)が、前のバージョンのバイナリをコンパイルそのものです。溶融 はLisp-言語をカスタマイズにまで拡張 GCC.でC++コードによるbootstrapped翻訳家。生成されたC++コードの翻訳者に配布してのsvnリポジトリに含まれ
*.melt
ソースファイルmelt/generated/*.cc
"オブジェクトファイル"の翻訳家。J.Pitratの CAIA 人工知能システムは完全に自己生成する.ご利用可能でのコレクションとして何千もの
[A-Z]*.c
生成されたファイル(も発生するdx.h
ヘッダファイル)のコレクションの_[0-9]*
データファイルです。複数のスキームのコンパイラはもbootstrapped.Scheme48、鶏肉、...