scanner.ts
)parser.ts
)binder.ts
)checker.ts
)emitter.ts
)Semantic
は英語で「意味」を意味します。このコンセプトが頭の中にあると便利です。Symbol
はTypeScript semanticシステムの主要な建設部材です。示されているように、シンボルはバインディングの結果として作成されます。シンボルは、AST内の宣言ノードを、同じエンティティに寄与する他の宣言に接続します。core.ts
:TypeScriptコンパイラが使うコアユーティリティ。いくつか重要なもの:let objectAllocator: ObjectAllocator
:シングルトンのグローバルとして定義された変数です。それは、getNodeConstructor
(Nodeはparser
/AST
を見るときに扱います)、getSymbolConstructor
(シンボルはbinder
のときに扱います)、getTypeConstructor
(型はchecker
で扱います)、 getSignatureConstructor
(シグネチャはインデックス、シグネチャの呼び出しと構成物です)。types.ts
には、コンパイラ全体で使用される、主要なデータ構造とインターフェースがあります。いくつかの重要なサンプルの抜粋です:SyntaxKind
SyntaxKind
enumによって識別されます。TypeChecker
CompilerHost
Program
がSystem
と対話するために使用されます。Node
system.ts
です。TypeScriptコンパイラとオペレーティングシステムとのすべての対話は、System
インターフェースを介して行われます。インターフェースとその実装( WScript
とNode
)はsystem.ts
で定義されています。あなたはそれをOperating Environment(OE)として考えることができます。Program
の概念を見ていきましょう。