getParseData
Get Detailed Parse Information from Object

### Description

Given a parsed expression, produce a data.frame containing detailed information about the parsed expression, including comments.

### Usage

    getParseData(x, includeText = NA)
    getParseText(parseData, id)

### Arguments

x | A parsed expression, as returned by parse. The parsing must be done with the keep.source argument equal to TRUE, to keep the parsing information used by getParseData.
includeText | A logical value.
parseData | A data.frame returned by getParseData.
id | A vector of integers.

### Details

The includeText argument specifies whether the data.frame produced by getParseData contains the text for each of the parsed tokens.

- If includeText is TRUE, then the data.frame contains a column named 'text' with the text corresponding to each row.
- If includeText is FALSE, then the data.frame has no 'text' column.
- If includeText is NA, then there is a 'text' column, but it has only text values for terminal tokens.

Value

getParseData | returns a data.frame with one row for each of the tokens in the parsed expression. The data.frame columns are the following: "line1" Line number of the first character of the token text. "col1" Column number of the first character of the token text. "line2" Line number of the last character of the token text. "col2" Column number of the last character of the token text. "id" An integer identifying the token. "parent" The ID of the parent token of this token. "token" S string giving the token type. "terminal" A logical value, TRUE if the token has no children. "text" The text string for this token. If the includeText argument is FALSE, this column is not present.
getParseText | returns a vector of strings, giving the token strings corresponding to the specified ID numbers.

See Also
parse.
Examples

    ex <- parse(text="#comm1\nx<-function(x) {\n#comm2\n  x+1\n}\n",
                keep.source=TRUE)
    pd <- getParseData(ex)
    #    line1 col1 line2 col2 id parent          token terminal     text
    # 1      1    1     1    6  1      0        COMMENT     TRUE   #comm1
    # 20     2    1     5    1 20      0           expr    FALSE
    # 3      2    1     2    1  3      4         SYMBOL     TRUE        x
    # ...
    getParseText(pd, 1)
    # [1] "#comm1"

Package utils version 6.1.5-18
Package Index