An R script will terminate when one tries to use an undefined variable, with a message such as Error in print(x) : Object "x" not found This run-time error might occur after the script has already been running for some time. In some cases it would be nice to get such warnings before the script is run, just as a syntax error caused by a missing parenthesis is caught. Are there any "static analysis" tools for R? Such a tool would not have to be perfect to be useful. Besides using undefined variables, defining variables that are never used is something I'd like to be warned about.
If I understand well what you need then (I think) the answer is No;
this is a feature of the language called "Lazy Evaluation". For more
info look at e.g., the "R Language Definition" document, section
4.3.3.
Best,
Dimitris
----
Dimitris Rizopoulos
Ph.D. Student
Biostatistical Centre
School of Public Health
Catholic University of Leuven
Address: Kapucijnenvoer 35, Leuven, Belgium
Tel: +32/16/336899
Fax: +32/16/337015
Web: http://www.med.kuleuven.ac.be/biostat/
http://www.student.kuleuven.ac.be/~m0390867/dimitris.htm
----- Original Message -----
From: "Vivek Rao" <rvivekrao at yahoo.com>
To: <r-help at stat.math.ethz.ch>
Sent: Monday, April 11, 2005 4:18 PM
Subject: [R] static analysis tools for R code?
> An R script will terminate when one tries to use an
> undefined variable, with a message such as
>
> Error in print(x) : Object "x" not found
>
> This run-time error might occur after the script has
> already been running for some time. In some cases it
> would be nice to get such warnings before the script
> is run, just as a syntax error caused by a missing
> parenthesis is caught.
>
> Are there any "static analysis" tools for R? Such a
> tool would not have to be perfect to be useful.
> Besides using undefined variables, defining variables
> that are never used is something I'd like to be warned
> about.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>
Look at Luke Tierney's codetools package. https://stat.ethz.ch/pipermail/r-devel/2003-July/027103.html It is useful, and has been run over R itself several times. On Mon, 11 Apr 2005, Vivek Rao wrote:> An R script will terminate when one tries to use an > undefined variable, with a message such as > > Error in print(x) : Object "x" not found > > This run-time error might occur after the script has > already been running for some time. In some cases it > would be nice to get such warnings before the script > is run, just as a syntax error caused by a missing > parenthesis is caught. > > Are there any "static analysis" tools for R? Such a > tool would not have to be perfect to be useful. > Besides using undefined variables, defining variables > that are never used is something I'd like to be warned > about.-- Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595