[R] [R-devel] Source Code for function

Bert Gunter bgunter@4567 @end|ng |rom gm@||@com
Fri Sep 6 20:30:02 CEST 2019


The following may be of use (it gives the parse tree of the text):

> z <- as.list(parse(text = "function(x)x %*% x"))
> z[[1]]
function(x) x %*% x
> z[[c(1,1)]]
`function`
> z[[c(1,2)]]
$x
> z[[c(1,3)]]
x %*% x
> z[[c(1,3,1)]]
`%*%`
> z[[c(1,3,2)]]
x
> z[[c(1,3,3)]]
x


Bert Gunter



On Fri, Sep 6, 2019 at 10:14 AM Wang Jiefei <szwjf08 using gmail.com> wrote:

> If you are looking for an R code parser, I think the `parse` and `eval`
> function might be a good start point. See the example below.
>
> > parse(text="function(x)message(x)")
> expression(function(x)message(x))
> > eval(parse(text="function(x)message(x)"))
> function(x)message(x)
>
> Best,
> Jiefei
>
> On Fri, Sep 6, 2019 at 12:55 PM Golden, Shelby <GoldenS using njhealth.org>
> wrote:
>
>> Hello Bert,
>>
>> Thank you for the reply and your clarifications. Yes, it might be helpful
>> to look into R’s formal grammar to see how “function” parses input to
>> delegate correct syntax. Is that accessible online?
>>
>> Thank you,
>> Shelby
>>
>>
>> From: Bert Gunter <bgunter.4567 using gmail.com>
>> Date: Friday, September 6, 2019 at 10:44 AM
>> To: "Golden, Shelby" <GoldenS using NJHealth.org>
>> Cc: "r-help using R-project.org" <r-help using r-project.org>, "Gillenwater, Lucas" <
>> GILLENWATERL using NJHEALTH.ORG>
>> Subject: Re: [R] [R-devel] Source Code for function
>>
>> 1. This is a plain text list; all html is stripped. So there is no red
>> highlighting.
>>
>> 2. There is no "source code" for "function" -- it is a reserved keyword.
>> Or are you looking for R's formal grammar -- e.g. how it parses input to
>> determine correct syntax?
>>
>>
>>
>> Bert Gunter
>>
>> "The trouble with having an open mind is that people keep coming along
>> and sticking things into it."
>> -- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
>>
>>
>> On Fri, Sep 6, 2019 at 8:51 AM Golden, Shelby <GoldenS using njhealth.org
>> <mailto:GoldenS using njhealth.org>> wrote:
>> Hi all,
>>
>> I have been attempting to access the source code for the keyword
>> “function” to better understand how it assigns and stores logical inputs,
>> like in the subset() [base] function. Does anyone know how I can access the
>> source code for this?
>>
>> For example, if I have
>> norm <- function(x){
>>       sqrt(x%*%x))
>> }
>> I am looking for the source code for the “function” portion, highlighted
>> in red.
>>
>> Thank you for your time and assistance,
>> Shelby Golden
>> Lab Researcher Technician
>> Dr. Russell Bowler’s Lab
>> Department of Medicine
>> National Jewish Health in Denver, CO
>> Phone: (303) 270-2598
>>
>> NOTICE: This email message is for the sole use of the intended
>> recipient(s) and may contain confidential and privileged information. Any
>> unauthorized review, use, disclosure or distribution is prohibited. If you
>> are not the intended recipient, please contact the sender by reply email
>> and destroy all copies of the original message.
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org<mailto:R-help using r-project.org> mailing list -- To
>> UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help<
>> http://mx2.njhealth.org:32224/?dmVyPTEuMDAxJiZmMWRiYmMxZjFmNmI5ZDBkMz01RDcyOEQwN18yMjk2OF8zOTk2XzEmJjljNzlmMDA4YWRmZTZjMz0xMjMzJiZ1cmw9aHR0cHMlM0ElMkYlMkZzdGF0JTJFZXRoeiUyRWNoJTJGbWFpbG1hbiUyRmxpc3RpbmZvJTJGci1oZWxw
>> >
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html<
>> http://mx2.njhealth.org:32224/?dmVyPTEuMDAxJiZlMTkwYmMwMzFlNjk4ZTAzNz01RDcyOEQwN18yMjk2OF8zOTk2XzEmJmFkYTkxMWRkMWRhZTFkNz0xMjMzJiZ1cmw9aHR0cCUzQSUyRiUyRnd3dyUyRVItcHJvamVjdCUyRW9yZyUyRnBvc3RpbmctZ3VpZGUlMkVodG1s
>> >
>> and provide commented, minimal, self-contained, reproducible code.
>>
>>         [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
>> http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
>>
>

	[[alternative HTML version deleted]]



More information about the R-help mailing list