\Header{Syntax}{Operator Syntax}
\keyword{documentation}{Syntax}
\begin{Description}\relax
Outlines \R{} syntax and gives the precedence of operators
\end{Description}
\begin{Details}\relax
The following unary and binary operators are defined.  They are listed
in precedence groups, from highest to lowest.
\Tabular{ll}{
\code{[ [[}& indexing\\
\code{::}& name space/variable name separator\\
\code{\$ @}& component / slot extraction\\
\code{\textasciicircum{}}& exponentiation (right to left)\\
\code{- +}& unary minus and plus\\
\code{:}& sequence operator\\
\code{\%any\%}& special operators\\
\code{* /}& multiply, divide\\
\code{+ -}& (binary) add, subtract\\
\code{< > <= >= == !=}& ordering and comparison\\
\code{!}& negation\\
\code{\&  \&\&}& and\\
\code{| ||}& or\\
\code{\textasciitilde{}}& as in formulae\\
\code{-> ->{}>}& rightwards assignment\\
\code{=}& assignment (right to left)\\
\code{<- <{}<-}& assignment (right to left)\\
\code{?}& help (unary and binary)\\
}
Within an expression operators of equal precedence are evaluated
from left to right except where indicated.

The links in the \bold{See Also} section covers most other aspects of
the basic syntax.
\end{Details}
\begin{Note}\relax
There are substantial precedence differences between \R{} and S.  In
particular, in S \code{?} has the same precedence as \code{+ -} and
\code{\& \&\& | ||} have equal precedence.
\end{Note}
\begin{References}\relax
Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)
\emph{The New S Language}.
Wadsworth \& Brooks/Cole.
\end{References}
\begin{SeeAlso}\relax
\code{\Link{Arithmetic}}, \code{\Link{Comparison}}, \code{\Link{Control}},
\code{\Link{Extract}}, \code{\Link{Logic}}, \code{\Link{Paren}}

The \emph{R Language Definition} manual.
\end{SeeAlso}

