สำคัญ
แพ็คเกจนี้อยู่ในการจำศีล: ไม่ได้ใช้งานแม้ว่าฉันจะกลับมาอีกครั้งในอนาคต
ในระหว่างนี้ให้ตรวจสอบ FlowR สำหรับความต้องการการวิเคราะห์รหัส R ของคุณ
Rstatic เป็นแพ็คเกจที่ทำให้ง่ายต่อการวิเคราะห์รหัส R นี่คือหลักการชี้นำ:
ความหมายอ้างอิงทำให้รหัสง่ายต่อการแปลง ต้องการทำการแปลงรหัสที่สำคัญโดยไม่สูญเสียการแสดงออกที่สำคัญหรือไม่? คุณได้รับการอ้างอิง วัตถุรหัสของ Rstatic มีความหมายอ้างอิงโดยวิธี R6
วิธีการจัดส่งบนวัตถุโค้ดทำให้อัลกอริทึมการสืบเชื้อสายแบบเรียกซ้ำได้ง่ายขึ้น สิ่งนี้มีประสิทธิภาพมากขึ้นหากรหัสถูกจัดระเบียบเป็นคลาสที่มีความหมายและขยายได้ ลำดับชั้นของชั้นเรียนของ Rstatic จัดขึ้นตามความหมายของ R.
การเข้าถึงพาเรนต์ของโหนดในแผนผังไวยากรณ์นามธรรมมีประโยชน์สำหรับการวิเคราะห์บางอย่าง Rstatic โปร่งใสติดตามพ่อแม่ของแต่ละโหนด
การเข้าถึงองค์ประกอบรหัสตามชื่อนั้นชัดเจนกว่าโดยดัชนี เราอยากเขียน my_call$args[[2]] เพื่อเข้าถึงอาร์กิวเมนต์ที่สองของการโทรมากกว่า my_call[[3]] Rstatic ใช้ชุดชื่อที่สอดคล้องกันสำหรับองค์ประกอบรหัส
ต้นไวยากรณ์นามธรรมไม่เหมาะสำหรับการวิเคราะห์ที่ต้องการข้อมูลการควบคุมและการไหลของข้อมูล RSTATIC สามารถแปลงรหัสเป็นกราฟการไหลของการควบคุมในรูปแบบการกำหนดเดี่ยวแบบคงที่ (SSA) รูปแบบ SSA เปิดเผยกระแสข้อมูลโดยให้ชื่อที่ไม่ซ้ำกันแต่ละคำจำกัดความของตัวแปร
แพ็คเกจ codetools และ codedepends ใช้วัตถุภาษาในตัวของ R เพื่อแยกข้อมูลที่คล้ายกันจากรหัส พวกเขาอาจเหมาะสมกว่าสำหรับการวิเคราะห์แบบรวดเร็วและเฉพาะกิจ
Rstatic ไม่เสถียรและอยู่ภายใต้การพัฒนาที่ใช้งานอยู่ดังนั้นจึงยังไม่สามารถใช้ได้กับ Cran หากต้องการติดตั้งให้เปิดพรอมต์ R แล้วเรียกใช้:
install.packages( " devtools " )
devtools :: install_github( " nick-ulle/rstatic " )แพ็คเกจนี้มีบทความสั้น ๆ ที่ทำหน้าที่เป็นบทนำ ในการเข้าถึงบทความสั้น ๆ ให้เปิดพรอมต์ R แล้วเรียกใช้:
library( rstatic )
vignette( " rstatic-intro " )ดูรายการสิ่งที่ต้องทำ