microsoft/Typescript
6 articles
前提知識
- ›コンパイラの基本概念(字句解析、構文解析、AST、型システム)に関する基礎知識
- ›TypeScript言語の利用者としての実務経験
- ›JavaScriptのクロージャとモジュールパターンへの理解
01
3万フィート上空から見るTypeScriptコンパイラ:アーキテクチャとコードベースの全体像
TypeScript 6.0 コンパイラリポジトリの高レベルツアー — ディレクトリ構造、5フェーズのパイプライン、コアデータ構造、レイヤードアーキテクチャ、ビルドツールを解説します。
02
ソーステキストからASTへ:スキャナー、パーサー、そしてノードシステム
TypeScriptのフロントエンドを深掘りする:ステートフルなScanner、再帰下降Parser、SyntaxKindによる分類システム、そしてNodeの型階層。
03
バインダー:シンボルテーブルと制御フローグラフの構築
TypeScript のバインダーが宣言から Symbol を生成し、階層的なシンボルテーブルを構築し、型の絞り込みのために FlowNode グラフを構築する仕組みを解説します。
04
型チェッカー:54,000行の型理論、実装の全貌
TypeScript の型チェッカーの内側へ — オンデマンドアーキテクチャ、Type 階層、代入可能性アルゴリズム、型推論、制御フロー narrowing、そして Program オーケストレーターまで。
05
Emitter パイプライン:変換処理、コード生成、宣言ファイル
TypeScript の emitter が、コードの段階的な変換・宣言ファイルの生成・emit ヘルパー・ソースマップ出力のために、AST トランスフォーマーのチェーンをどのように組み立てて動かすか。
06
Language Service と tsserver:IDE 体験を支える仕組み
TypeScript の Language Service がエディタ機能のためにコンパイラをラップする仕組みと、tsserver が VS Code などのエディタ向けに JSON プロトコルでこれらの機能を公開する方法について解説します。