> require( parser )
> p <- parser( "/tmp/g.R" )
> p
expression(f <- function(x = 3) {
rnorm(10) + runif(10)
})
attr(,"data")
line1 col1 byte1 line2 col2 byte2 token id parent token.desc terminal text
1 1 0 0 1 20 20 291 1 -66 ROXYGEN_COMMENT TRUE #' a roxygen comment
2 2 0 0 2 1 1 263 4 7 SYMBOL TRUE f
3 2 2 2 2 4 4 265 6 66 LEFT_ASSIGN TRUE <-
4 2 0 0 2 1 1 77 7 66 expr FALSE
5 2 5 5 2 13 13 264 9 65 FUNCTION TRUE function
6 2 13 13 2 14 14 40 10 65 '(' TRUE (
7 2 15 15 2 16 16 292 12 65 SYMBOL_FORMALS TRUE x
8 2 17 17 2 18 18 293 14 65 EQ_FORMALS TRUE =
9 2 19 19 2 20 20 261 16 17 NUM_CONST TRUE 3
10 2 19 19 2 20 20 77 17 65 expr FALSE
11 2 21 21 2 22 22 41 19 65 ')' TRUE )
12 2 22 22 2 23 23 123 21 62 '{' TRUE {
13 4 8 1 4 27 20 289 26 62 COMMENT TRUE # a regular comment
14 5 8 1 5 13 6 296 29 31 SYMBOL_FUNCTION_CALL TRUE rnorm
15 5 13 6 5 14 7 40 30 38 '(' TRUE (
16 5 8 1 5 13 6 77 31 38 expr FALSE
17 5 14 7 5 16 9 261 32 33 NUM_CONST TRUE 10
18 5 14 7 5 16 9 77 33 38 expr FALSE
19 5 17 10 5 18 11 41 35 38 ')' TRUE )
20 5 8 1 5 18 11 77 38 54 expr FALSE
21 5 19 12 5 20 13 43 40 54 '+' TRUE +
22 5 21 14 5 26 19 296 42 44 SYMBOL_FUNCTION_CALL TRUE runif
23 5 26 19 5 27 20 40 43 52 '(' TRUE (
24 5 21 14 5 26 19 77 44 52 expr FALSE
25 5 28 21 5 30 23 261 46 47 NUM_CONST TRUE 10
26 5 28 21 5 30 23 77 47 52 expr FALSE
27 5 31 24 5 32 25 41 49 52 ')' TRUE )
28 5 21 14 5 32 25 77 52 54 expr FALSE
29 5 8 1 5 32 25 77 54 62 expr FALSE
30 7 0 0 7 1 1 125 60 62 '}' TRUE }
31 2 22 22 7 1 1 77 62 65 expr FALSE
32 2 5 5 7 1 1 77 65 66 expr FALSE
33 2 0 0 7 1 1 77 66 0 expr FALSE
attr(,"file")
[1] "/tmp/g.R"
attr(,"encoding")
[1] "unknown"
attr(,"class")
[1] "parser"