#navi_header|JavaScript| JavaScriptのAST,構文解析,Call Graph, CFG(Control Flow Graph)生成周りの2015-03時点での参考URLメモです。 ** JavaScriptのcall graphを生成するには? - How to generate call-graphs for given javascript? - Stack Overflow -- http://stackoverflow.com/questions/10182387/how-to-generate-call-graphs-for-given-javascript - Get Control flow graph from Abstract Syntax Tree -- http://www.drawbackz.com/stack/440545/get-control-flow-graph-from-abstract-syntax-tree.html ** JavaScriptの構文解析ライブラリ JavaScriptのParserにはどんなのがある?: - Parser API - Mozilla | MDN -- https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Parser_API - Java Parser for JavaScript: List all Functions/Variables - Stack Overflow -- http://stackoverflow.com/questions/22985727/java-parser-for-javascript-list-all-functions-variables Esprimaというのが有望そう?: - Esprima -- http://esprima.org/ - Esprima Documentation -- http://esprima.org/doc/index.html - Esprima: Parser -- http://esprima.org/demo/parse.html# - Swatinem/esgraph -- https://github.com/Swatinem/esgraph -- Esprimaの出力からcall graphをgraphviz形式で出力してくれる。 ** JavaScriptの構文解析→AST変換までしてくれるライブラリなど 結構ライブラリが充実してきてる。Lintなどで構文解析する需要が大きいらしい。 - JavaScript AST Walker -- http://azu.github.io/slide/tkbjs/js-ast-walker.html#0 - カジュアルJavaScript AST -- http://azu.github.io/slide/JSojisan/#1 - tkbjsでJavaScript ASTについて発表してきました | Web Scratch -- http://efcl.info/2013/1117/res3481/ - JSオジサンで現在のJavaScript ASTについて発表してきた | Web Scratch -- http://efcl.info/2014/0328/res3756/ - JavaScript AST visualizer -- http://jointjs.com/demos/javascript-ast -- これとか、AST構文を分かりやすくグラフ表示にしてくれる。Esprimaの応用例らしい。 -- →元はJSでダイアグラムを作るライブラリのデモらしい。 -- JointJS - JavaScript diagramming library - Demos. --- http://jointjs.com/demos - ajaxorg/treehugger -- https://github.com/ajaxorg/treehugger -- これはAST構文ツリーを辿るためのライブラリとして紹介されてた: ** JSのカバレッジ計測 ASTを変換することでカバレッジ計測用のコードを挿入するアプローチ。以下はあくまでもブラウザ上で実行されるJSのカバレッジ計測。node.jsエコシステムについては未調査。 - script-cover - Javascript code coverage detector for web pages in Chrome - Google Project Hosting -- https://code.google.com/p/script-cover/ - Google Testing Blog: ScriptCover makes Javascript coverage analysis easy -- http://googletesting.blogspot.jp/2011/10/scriptcover-makes-javascript-coverage.html - ScriptCoverDesign - script-cover - An overview of ScriptCover design - Javascript code coverage detector for web pages in Chrome - Google Project Hosting -- https://code.google.com/p/script-cover/wiki/ScriptCoverDesign #navi_footer|JavaScript|