[Rd] should the text for RIGHT_ASSIGN be -> in getParseData()?

Duncan Murdoch murdoch.duncan at gmail.com
Fri Jul 5 13:29:47 CEST 2013


On 13-07-05 3:31 AM, Yihui Xie wrote:
> Hi,
>
> The text column for '->' becomes '<-' in the data frame returned by
> getParseData():
>
>> getParseData(parse(text='1->x'))
>    line1 col1 line2 col2 id parent        token terminal text
> 7     1    1     1    4  7      0         expr    FALSE
> 1     1    1     1    1  1      2    NUM_CONST     TRUE    1
> 2     1    1     1    1  2      7         expr    FALSE
> 3     1    2     1    3  3      7 RIGHT_ASSIGN     TRUE   <-
> 4     1    4     1    4  4      6       SYMBOL     TRUE    x
> 6     1    4     1    4  6      7         expr    FALSE
>
> Is that expected?

It's by design, but I agree it's not ideal.  The reason for it is that 
"1 -> x" is parsed as `<-`(x, 1).  I think the parser only does 
translations like this for -> and ->>.  Currently the parser shows the 
name of the binary operator as the text.

I'll look into adding special handling for translations like this.  We 
will still parse the assignment in the same way, but the getParseData 
text could be the true text.

Duncan Murdoch


>
>> sessionInfo()
> R version 3.0.1 (2013-05-16)
> Platform: x86_64-pc-linux-gnu (64-bit)
>
> locale:
>   [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
>   [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
>   [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
>   [7] LC_PAPER=C                 LC_NAME=C
>   [9] LC_ADDRESS=C               LC_TELEPHONE=C
> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>
> attached base packages:
> [1] stats     graphics  grDevices utils     datasets  methods   base
>
> Regards,
> Yihui
> --
> Yihui Xie <xieyihui at gmail.com>
> Phone: 206-667-4385 Web: http://yihui.name
> Fred Hutchinson Cancer Research Center, Seattle
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>



More information about the R-devel mailing list