option {qmrparser} | R Documentation |
Optional parser
Description
Applies a parser to the text. If it does not succeed, an empty token is returned.
Optional parser never fails.
Usage
option(ap,
action = function(s ) list(type="option",value=s ),
error = function(p,h) list(type="option",pos =p,h=h))
Arguments
ap |
Optional parser |
action |
Function to be executed if recognition succeeds. It takes as input parameters information derived from parsers involved as parameters |
error |
Function to be executed if recognition does not succeed. I takes two parameters:
|
Details
In case of success, action
gets the node
returned by parser passed as optional. Otherwise, it gets the node
corresponding to token empty
: list(type="empty" ,value="")
Function error
is never called. It is defined as parameter for the sake of homogeneity with the rest of functions.
Value
Anonymous functions, returning a list.
function(stream)
–> list(status,node,stream)
From these input parameters, an anonymous function is constructed. This function admits just one parameter, stream, with streamParser
class, and returns a three-field list:
status
"ok" or "fail"
node
With
action
orerror
function output, depending on the casestream
With information about the input, after success or failure in recognition
Examples
# ok
stream <- streamParserFromString("123 Hello world")
( option(numberNatural())(stream) )[c("status","node")]
# ok
stream <- streamParserFromString("123 Hello world")
( option(string())(stream) )[c("status","node")]