使用 Tree-sitter 构建 PHP 代码控制流图 (CFG)
周刊
gallery
小世界
归档
历史归档📁
文章分类🗂️
文章标签🏷
周刊
gallery
小世界
归档
历史归档📁
文章分类🗂️
文章标签🏷
引言
如何从 AST 构建 CFG?
从 AST 构建 CFG 的基本步骤和原理
代码概览:基于 Tree-sitter 的 PHP CFG 构建器
构建 AST
构建 CFG
函数定义 (function_definition)
复合语句块 (compound_statement)
if 语句 (if_statement)
else_if_clause 和 else_clause
循环语句 (while_statement, for_statement, foreach_statement)
do_statement (do-while 循环)
switch_statement (switch 语句)
goto_statement (goto 语句)
return_statement, break_statement, continue_statement, exit_statement
普通语句
待处理 ⚠️
总结
感谢