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 " )請參閱待辦事項列表。