Hybrid Index, parsing
hiparse
implements the parsing done in Hybrid Index Preprocessing in order to avoid RAM for expanding index expressions.
Not to be called directly
hiparse(x, envir, first = NA_integer_, last = NA_integer_)
x |
an index expression, precisely: |
envir |
the environemtn in which to evaluate components of the index expression |
first |
first index position found so far |
last |
last index position found so far |
This primitive parser recognises the following tokens: numbers like 1, symbols like x, the colon sequence operator :
and the concat operator c
.
hiparse
will Recall
until the index expression is parsed or an unknown token is found.
If an unknown token is found, hiparse
evluates it, inspects it and either accepts it or throws an error, catched by as.hi.call
,
which falls back to evaluating the index expression and dispatching (again) an appropriate as.hi
method.
Reasons for suspending the parsing: if the inspected token is of class 'hi', 'ri', 'bit', 'bitwhich', 'is.logical', 'is.character', 'is.matrix' or has length>16.
undefined (and redefined as needed by as.hi.call
)
Jens Oehlschlägel
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.