\HeaderA{language-class}{Classes to Represent Unevaluated Language Objects}{language.Rdash.class}
\aliasA{<--class}{language-class}{<.Rdash..Rdash.class}
\aliasA{call-class}{language-class}{call.Rdash.class}
\aliasA{for-class}{language-class}{for.Rdash.class}
\aliasA{if-class}{language-class}{if.Rdash.class}
\aliasA{name-class}{language-class}{name.Rdash.class}
\aliasA{repeat-class}{language-class}{repeat.Rdash.class}
\aliasA{while-class}{language-class}{while.Rdash.class}
\keyword{classes}{language-class}
\begin{Description}\relax
The virtual class \code{"language"} and the specific
classes that extend it represent unevaluated objects, as produced for
example by the parser or by functions such as \code{\LinkA{quote}{quote}}.
\end{Description}
\begin{Usage}
\begin{verbatim}
### each of these classes corresponds to an unevaluated object
### in the S language.  The class name can appear in method signatures,
### and in a few other contexts (such as some calls to as()).

"("
"<-"
"call"
"for"
"if"
"repeat"
"while"
"name"
"{"

### Each of the classes above extends the virtual class

"language"


\end{verbatim}
\end{Usage}
\begin{Section}{Objects from the Class}
\code{"language"} is a virtual class; no objects may be created from
it.

Objects from the other classes can be generated by a call to
\code{new(Class, ...)}, where \code{Class} is the quoted class name, and
the \dots arguments are either empty or a \emph{single} object that is
from this class (or an extension).
\end{Section}
\begin{Section}{Methods}
\describe{
\item[coerce] \code{signature(from = "ANY", to = "call")}.  A method
exists for \code{as(object, "call")}, calling \code{as.call()}. 
}
\end{Section}

