getParseData
位於 utils
包(package)。 說明
如果"keep.source"
選項是TRUE
,R的解析器將附加其解析的對象的詳細信息。這些函數檢索該信息。
用法
getParseData(x, includeText = NA)
getParseText(parseData, id)
參數
x |
從 |
includeText |
邏輯性;是否在結果中包含已解析項目的文本 |
parseData |
從 |
id |
要檢索其文本的項目標識符向量 |
細節
在 3.0.0 版本中,R解析器被修改為包含 Romain Francois 在他的文章中編寫的代碼parser
包。這將構建有關解析代碼中每個標記和更高級別構造的詳細信息表。該表存儲在srcfile
與解析代碼中的源引用相關聯的記錄,並由getParseData
函數。
值
為了getParseData
:
如果解析數據不存在,NULL
。否則返回一個 DataFrame ,包含以下列:
line1 |
整數。項目開始的行號。這是 |
col1 |
整數。項目開始的列號。第一個字符是第 1 列。這對應於 |
line2 |
整數。項目結束的行號。 |
col2 |
整數。項目結束處的列號。 |
id |
整數。與該項目關聯的標識符。 |
parent |
整數。該項目的父項的 |
token |
字符串。令牌的類型。 |
terminal |
合乎邏輯的。標記是否是“terminal”,即解析樹中的葉子。 |
text |
字符串。如果 |
DataFrame 的行名稱將等於 id
值,並且 DataFrame 將具有 "srcfile"
屬性,其中包含所使用的 srcfile
記錄。這些行將按源文件中的起始位置排序,父項出現在其子項之前。
為了getParseText
:
長度相同的字符向量id
包含關聯的文本項。如果它們不包含在parseData
,將從原始文件中檢索它們。
注意
getParseData
返回的結果與原始 parser
代碼返回的結果存在許多差異:
-
保留的列較少。
-
不返回內部令牌編號。
-
col1
從 1 開始計數,而不是從 0 開始計數。 -
id
值不會附加到解析樹的元素,它們僅保留在getParseData
返回的表中。 -
#line
指令被識別,但其他注釋標記(例如,roxygen
注釋)未被識別。
按設計解析數據探索解析器實現的細節,這些細節如有更改,恕不另行通知。對解析數據進行計算的應用程序可能需要每個 R 版本的更新。
例子
fn <- function(x) {
x + 1 # A comment, kept as part of the source
}
d <- getParseData(fn)
if (!is.null(d)) {
plus <- which(d$token == "'+'")
sum <- d$parent[plus]
print(d[as.character(sum),])
print(getParseText(d, sum))
}
作者
Duncan Murdoch
參考
Romain Francois (2012). parser: Detailed R source code parser. R package version 0.0-16. https://github.com/halpo/parser.
也可以看看
相關用法
- R getFromNamespace 用於開發命名空間的實用函數
- R getS3method 獲取 S3 方法
- R getWindowsHandles 在 MS Windows RGui 中獲取 Windows 句柄
- R getWindowsHandle 獲取 Windows 句柄
- R getAnywhere 檢索 R 對象,包括從命名空間檢索
- R glob2rx 將通配符或通配符模式更改為正則表達式
- R globalVariables 檢查包時使用的聲明
- R select.list 從列表中選擇項目
- R COMPILE 編譯用於 R 的文件
- R readRegistry 讀取 Windows 注冊表配置單元
- R browseVignettes 在 HTML 瀏覽器中列出暈影
- R hasName 檢查姓名
- R nsl 按主機名查找 IP 地址
- R edit 調用文本編輯器
- R create.post 準備電子郵件和帖子的輔助函數
- R hsearch-utils 幫助搜索實用程序
- R download.packages 從類似 CRAN 的存儲庫下載軟件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表對象及其結構
- R Rscript R 前端腳本
- R bug.report 發送錯誤報告
- R PkgUtils 用於構建和檢查附加包的實用程序
- R cite 引用參考書目條目
- R SweaveSyntConv 轉換 Sweave 語法
- R RSiteSearch 搜索文檔中的關鍵詞或短語
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Get Detailed Parse Information from Object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。