web-dev-qa-db-ja.com

TypeScript 100.0%はTypeScriptでどのように書かれていますか?

GitHub上のTypeScriptリポジトリ で、GitHubによると、リポジトリには100.0%のTypeScript(。tsファイル)が含まれています

enter image description here

どのように機能しますか?また、TypeScriptを単独でJavaScriptにコンパイルする方法は?

52
M98

これは compiler bootstrapping と呼ばれ、多くの理由で一般的です。特に、あなたが書いている言語は、その言語で実装している概念を理解するのに最適な言語であることが多いです。あなたが書いている...

この記事を見ると、ほとんどの主要言語にはセルフホスティングコンパイラ(C、C++)があります。そうすることは、新しいコンパイラを介して大量のコードを実行していることを意味します。これは機能の良いテストです。通常、現在の言語よりも利点のある新しい言語が必要なため、コンパイラを作成しています。そのため、コンパイラの作成中にこれらの利点を活用できるのは理にかなっています。

最初のパスは既存の言語で作成する必要がありますが、コンパイラを入手したら、それを使用して次のリビジョンなどをコンパイルできます。明らかに、これにより、コンパイラはn-1リビジョン。ただし、コンパイラを制御するため、軽微な問題になります。ウィキペディアの引用:

C++コンパイラclangの主要部分は、g ++とMicrosoft Visual C++の両方でコンパイルできるC++のサブセットで記述されています。

TypeScriptはJavaScriptのスーパーセットであるため、コンパイラは(理論的には)共有構文で記述され、どちらでもコンパイルできます。私はそれがここにあるとは思わないが、関係はあなたに最初のコンパイラのための良い開始言語を与える。

58
ssube

TypeScriptは自己ホスト型であり、Last-Known-Good(LKG)バージョンを維持して次のバージョンをコンパイルします。現在(2016年8月30日)、そのバージョンは lib ディレクトリにあります。

18
daragua