[Rd] Issue with getParserData in R3.0.0
Brian Lee Yung Rowe
rowe at muxspace.com
Mon Jan 14 02:43:51 CET 2013
Hello,
I am migrating my package lambda.r to R3.0.0 and am experiencing some issues with the getParserData function (which replaces the parser package). Basically the function works in the R shell but fails when either called from RUnit or from R CMD check.
I've narrowed it down to the function getSrcfile, which is returning different values depending on the code path. From the command line (works okay):
debug: srcfile <- getSrcfile(x)
Browse[2]>
debug: if (is.null(srcfile)) return(NULL) else data <- srcfile$parseData
Browse[2]> srcfile
<text>
When running from the Runit script I get this instead:
debug: srcfile <- getSrcfile(x)
Browse[3]>
debug: if (is.null(srcfile)) return(NULL) else data <- srcfile$parseData
Browse[3]> srcfile
NULL
Below is an example calling the getParserData from the command line:
> text <- "abs_max(a, b) %::% numeric:numeric:numeric"
> parse(text=text)
expression(abs_max(a, b) %::% numeric:numeric:numeric)
> getParseData(parse(text=text))
line1 col1 line2 col2 id parent token terminal text
27 1 1 1 42 27 0 expr FALSE
14 1 1 1 13 14 27 expr FALSE
1 1 1 1 7 1 3 SYMBOL_FUNCTION_CALL TRUE abs_max
3 1 1 1 7 3 14 expr FALSE
2 1 8 1 8 2 14 '(' TRUE (
4 1 9 1 9 4 6 SYMBOL TRUE a
...
The RUnit call from the command line is
runTestFile('/home/brian/workspace/lambda.r/inst/unitTests/runit.dispatching.4.R')
and fails because of the NULL value of srcfile. The first line of the runit test file is
abs_max(a, b) %::% numeric:numeric:numeric
Any insights are appreciated.
Brian
More information about the R-devel
mailing list