중요한
이 패키지는 최대 절전 모드입니다. 비활성이지만 앞으로 다시 방문 할 수도 있습니다.
그 동안 R 코드 분석 요구에 대해 Flowr를 확인하십시오.
Rstatic은 R 코드를보다 쉽게 분석 할 수있는 패키지입니다. 이것들은 지침 원칙입니다.
참조 의미론은 코드를보다 쉽게 변환 할 수 있도록합니다. 중요한 표현을 잃지 않고 주요 코드 변환을 원하십니까? 참고 문헌은 귀하를 다루었습니다. Rstatic 의 코드 객체에는 R6을 통해 참조 의미론이 있습니다.
코드 객체의 메소드 디스패치를 통해 재귀 적 하강 알고리즘을 쉽게 이해할 수 있습니다. 코드가 의미 있고 확장 가능한 클래스로 구성되는 경우 더 효과적입니다. Rstatic 의 클래스 계층 구조는 R의 의미론에 따라 정렬됩니다.
추상 구문 트리에서 노드의 부모에 대한 액세스는 일부 분석에 유용합니다. rstatic은 각 노드의 부모를 투명하게 추적합니다.
이름으로 코드 요소에 대한 액세스는 인덱스보다 명확합니다. 우리는 오히려 my_call[[3]] 보다 Call의 두 번째 인수에 액세스하기 위해 my_call$args[[2]] 작성하고 싶습니다. Rstatic은 코드 요소에 일관된 이름 세트를 사용합니다.
초록 구문 트리는 제어 및 데이터 흐름 정보가 필요한 분석에 이상적이지 않습니다. RSTATIC는 정적 단일 할당 (SSA) 양식의 제어 흐름 그래프로 코드를 변환 할 수 있습니다. SSA 양식은 각 변수 정의에 고유 한 이름을 제공하여 데이터 흐름을 노출시킵니다.
CodeTools 및 CodeDepense는 패키지를 사용하여 R의 내장 언어 객체를 사용하여 코드에서 유사한 정보를 추출합니다. 빠르고 임시 분석에 더 적합 할 수 있습니다.
Rstatic 은 불안정하고 적극적인 개발 중이므로 CRAN에서는 아직 사용할 수 없습니다. 설치하려면 R 프롬프트를 열고 실행하십시오.
install.packages( " devtools " )
devtools :: install_github( " nick-ulle/rstatic " )패키지에는 소개 역할을하는 비네팅이 포함되어 있습니다. 비 네트에 액세스하려면 R 프롬프트를 열고 실행하십시오.
library( rstatic )
vignette( " rstatic-intro " )할 일 목록을 참조하십시오.