parser.ts
にあります。ScannerはソースコードをASTに変換するためにParser
によって内部的に制御されます。下記は、望まれる結果の概要です。scanner
と同様の理由です。再初期化が可能な場合は再作成したくありません)。実際には、Parserのためのstate変数とシングルトンscanner
を含むnamespace Parser
として実装されています。前に述べたように、const scanner
を含んでいます。Parserの関数はこのScannerを管理します。CompilerHost
によって実際に実行されるので、間接的です)。基本的に以下が、単純化したコールスタックです:parseSourceFile
は、Parserのstateを準備するだけでなく、initializeState
を呼び出すことによってscanner
の状態を準備します。その後、 parseSourceFileWorker
を使ってソースファイルを解析します。ts.createSourceFile
を使用して)ソースファイルのASTを取得するためにTypeScriptのParserを使用するサンプルコードを次に示します。code/compiler/parser/runParser.ts