1. ホーム
  2. javascript

TypeScript 100.0%はどのように書かれているのか?

2023-10-08 04:11:15

質問

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

TypeScriptはどのように動作するのでしょうか。また、TypeScriptはどのように自分自身でJavaScriptにコンパイルできるのでしょうか。

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

これは コンパイラのブートストラップ と呼ばれ、多くの理由で一般的です。特に、書いている言語が、書いている言語で実装している概念を理解するのに最適な言語であることが多いからです...。

記事を見てみると、ほとんどの主要な言語にはセルフホスティングコンパイラがあります(C、C++)。そうすることは、大量のコードを新しいコンパイラーで実行することを意味し、これは機能性の良いテストとなります。通常の場合、コンパイラーを書くのは、現在の言語よりも何らかの利点を持つ新しい言語が欲しいからであり、コンパイラーを書きながらそれらの利点を利用できるのは良いことです。

最初のパスは既存の言語で書かなければなりませんが、いったんコンパイラができれば、次のリビジョンをコンパイルするためにそれを使うことができ、その繰り返しです。明らかに、これはコンパイラが n-1 リビジョンの機能しか使えないという制限がありますが、あなたがコンパイラをコントロールするのですから、それは些細な問題であるはずです。Wikipedia を引用します。

C++コンパイラclangの主要部分は、g++とMicrosoft Visual C++の両方でコンパイル可能なC++のサブセットで書かれました。

TypeScriptはJavaScriptのスーパーセットなので、コンパイラは(理論的には)共有構文で書かれ、どちらかの下でコンパイルすることができます。ここではそのようなことはないと思いますが、この関係から、最初のコンパイラのための良い出発言語が得られます。