Grammar that creates an R command from a Prolog term. Terms
recognised:
- The atoms
true
and false
are mapped to TRUE and FALSE.
- Other Prolog atoms are mapped to an R name. If required,
the name is quoted using backquotes.
- A term +(Atom) is mapped to an R string.
- A Prolog string is mapped to an R string. The server
should run in UTF-8 mode for exchange of Unicode data.
- A Prolog number is mapped to an R number.
- A Prolog list is added to Assignments. These are used
to create a temporary R variable. The R command translation
contains the variable name
Left$Right
is translated as is.
- An array index
X[I,...]
is translated as is. Empty
elements in the index, e.g., the R expression a[,3]
can be written as `a['',3]`, `a[-,3] or
a[*,3]`.
- Known operators are passed as infix operators. The
following operators are known:
+, -, *, /, mod, '%%', ^,
>=, >, ==, <, <=, =<, \=, '!=', :, <-
Expr1,Expr2
is translated into two R statements separated
by a newline.
- Compound terms are translated to function calls.
This library loads r_expand_dot.pl
, which uses the `.` infix
operator to make a.b
and a.b()
valid syntax.
- Arguments:
-
Assignments | - is a list Name=Value for data assignments. |