Penting
Paket ini dalam hibernasi: tidak aktif, meskipun saya dapat meninjau kembali di masa depan.
Sementara itu, periksa Flowr untuk kebutuhan analisis kode R Anda.
Rstatic adalah paket yang membuatnya lebih mudah untuk menganalisis kode R. Ini adalah prinsip -prinsip panduan:
Referensi Semantik membuat kode lebih mudah diubah. Ingin membuat transformasi kode utama tanpa kehilangan jejak ekspresi penting? Referensi yang telah Anda bahas. Objek kode RSTATIC memiliki semantik referensi melalui R6 .
Metode pengiriman objek kode membuat algoritma keturunan rekursif lebih mudah dipahami. Ini lebih efektif jika kode diatur ke dalam kelas yang bermakna dan dapat diperluas. Hirarki kelas Rstatic diatur sesuai dengan semantik R.
Akses ke induk dari suatu node dalam pohon sintaksis abstrak berguna untuk beberapa analisis. Rstatic secara transparan melacak orang tua masing -masing node.
Akses ke elemen kode dengan nama lebih jelas dari pada indeks. Kami lebih suka menulis my_call$args[[2]] untuk mengakses argumen kedua panggilan daripada my_call[[3]] . Rstatic menggunakan serangkaian nama yang konsisten untuk elemen kode.
Pohon sintaks abstrak tidak ideal untuk analisis yang membutuhkan informasi aliran-dan data. Rstatic dapat mengonversi kode ke grafik aliran kontrol dalam formulir penugasan tunggal statis (SSA). Formulir SSA memaparkan aliran data dengan memberikan setiap definisi variabel nama yang unik.
Paket Codetools dan CodeSgends menggunakan objek bahasa bawaan R untuk mengekstrak informasi serupa dari kode. Mereka mungkin lebih tepat untuk analisis ad-hoc cepat.
Rstatic tidak stabil dan di bawah pengembangan aktif, jadi belum tersedia di cran. Untuk menginstal, buka prompt R dan jalankan:
install.packages( " devtools " )
devtools :: install_github( " nick-ulle/rstatic " )Paket termasuk sketsa yang berfungsi sebagai pengantar. Untuk mengakses sketsa, buka prompt R dan jalankan:
library( rstatic )
vignette( " rstatic-intro " )Lihat daftar yang harus dilakukan.