rstatic
1.0.0
重要的
这个软件包是冬眠:不活动的,尽管我将来可能会重新访问它。
同时,请查看flowr,以了解您的R代码分析需求。
Rstatic是一个软件包,可以更轻松地分析R代码。这些是指导原则:
参考语义使代码易于转换。是否想进行主要的代码转换而不会失去重要的表达方式?参考文献已涵盖。 RStatic的代码对象通过R6具有参考语义。
代码对象上的方法调度使递归下降算法易于理解。如果将代码组织成有意义的,可扩展的类,这将更加有效。 Rstatic的类层次结构是根据R的语义安排的。
在抽象语法树中访问节点的母体对某些分析很有用。 rstatic透明地跟踪每个节点的父母。
按名称访问代码元素比索引清晰。我们宁愿写my_call$args[[2]]以访问呼叫的第二个参数,而不是my_call[[3]] 。 rstatic为代码元素使用一致的名称集。
抽象的语法树不是需要控制和数据流信息的分析的理想选择。 rstatic可以将代码转换为静态单分配(SSA)表单中的控制流程图。 SSA表格通过给出每个变量定义一个唯一名称来揭示数据流。
CodeTools和编码软件包使用R的内置语言对象从代码中提取类似的信息。它们可能更适合快速,临时分析。
Rstatic是不稳定的,并且正在积极发展,因此Cran尚不可用。要安装,打开R提示并运行:
install.packages( " devtools " )
devtools :: install_github( " nick-ulle/rstatic " )该软件包包括一个用作简介的小插图。要访问小插图,请打开R提示并运行:
library( rstatic )
vignette( " rstatic-intro " )请参阅待办事项列表。