The R Interpreter
R is an interpreted language. When you enter expressions into the R console (or run an R script in batch mode), a program within the R system, called the interpreter, executes the actual code that you wrote. Unlike C, C++, and Java, there is no need to compile your programs into an object language. Other examples of interpreted languages are LISP, Perl, and JavaScript.
All R programs are composed of a series of expressions. These expressions often take the form of function calls. The R interpreter begins by parsing each expression, translating syntactic sugar into functional form. Next, R substitutes objects for symbols (where appropriate). Finally, R evaluates each expression, returning an object. For complex expressions, this process may be recursive. In some special cases (such as conditional statements), R does not evaluate all arguments to a function. As an example, let’s consider the following R expression:
> x <- 1
On an R console, you would typically type x <- 1 and then press the Enter key. The
R interpreter will first translate this expression into the following
function call:
`<-`(x, 1)
Next, the interpreter evaluates this function. It assigns the
constant value 1 to the symbol
x in the current environment and
then returns the value 1.
Let’s consider another example. (We’ll assume it’s from the same
session, so that the symbol x is
mapped to the value 1.)
> if (x > 1) "orange" else "apple" [1] "apple"
Here is how the R interpreter would evaluate this expression. ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access