「インターネット全体」を読んでいましたが、TypeScryptソースから構文ツリー(Esprimaのようなもの)を取得する例は見つかりませんでした。 私はどのように私は唯一の活字体ソーステキスト用のJavaScriptコードTypeScript:構文ツリーを取得
var answer = 6 * 7;
からこのようなオブジェクト(Esprima Parser例)
{
"type": "Program",
"body": [
{
"type": "VariableDeclaration",
"declarations": [
{
"type": "VariableDeclarator",
"id": {
"type": "Identifier",
"name": "answer"
},
"init": {
"type": "BinaryExpression",
"operator": "*",
"left": {
"type": "Literal",
"value": 6,
"raw": "6"
},
"right": {
"type": "Literal",
"value": 7,
"raw": "7"
}
}
}
],
"kind": "var"
}
]
}
得ることができます意味ですか?
P.S.私はあなた自身の恐ろしい自転車を書くことを望まないので、あなたの助けを大いに願っています)
P.P.私は、libにファイルtypescript.ts(.jsファイル)とtypescriptServices.ts(.jsファイル)が私を助けるためにと思うが、私は:(
は、ユーザーのスティーブに
おかげで多くのことを解決方法がわかりませんフェントンに興味がある人ならばここで は、私のコードです:
// uses
var typeScriptLS = new Harness.TypeScriptLS();
var ServicesFactory = new Services.TypeScriptServicesFactory();
var serviceShim = ServicesFactory.createLanguageServiceShim(typeScriptLS);
// add lib.d.ts
var _libText = window.document.getElementById('lib.d.ts').innerText;
typeScriptLS.addScript('lib.d.ts', _libText.replace(/\r\n?/g,"\n"), true);
// add greeter.ts
var _sourceText = window.document.getElementById('greeter.ts').innerText;
typeScriptLS.addScript('greeter.ts', _sourceText.replace(/\r\n?/g,"\n"), true);
// script name
var _scriptName = 'greeter.ts';
// get syntax tree
var _st = serviceShim.languageService.getSyntaxTree(_scriptName);
//console.log(_st);
console.log(JSON.stringify(_st, "", 2));
? tsc.js、typescript.js、またはtypescriptServices.jsのどこにでも「ハーネス」は表示されません。または、より広義には、このSolvedコードサンプルをどのように実行しますか? –
あなたが待っていたらすみません。/src/harness/ (https://github.com/Microsoft/TypeScript)。しかし、今では私のコードが無効になる可能性があります – bukvaG
[TypeScriptのシンタクスツリーを入手するにはどうすればいいですか?](http://stackoverflow.com/questions/18714501/how-can-weget-the-syntax-tree-タイプコピー) – ColinE