alternation | R Documentation |
Applies parsers until one succeeds or all of them fail.
alternation(..., action = function(s) list(type="alternation",value=s), error = function(p,h) list(type="alternation",pos =p,h=h) )
... |
list of alternative parsers to be executed |
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:
|
In case of success, action
gets the node
from the first parse to succeed.
In case of failure, parameter h
from error
gets a list, with information about failure from all the parsers processed.
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
or error
function output, depending on the case
stream
With information about the input, after success or failure in recognition
# ok stream <- streamParserFromString("123 Hello world") ( alternation(numberNatural(),symbolic())(stream) )[c("status","node")] # fail stream <- streamParserFromString("123 Hello world") ( alternation(string(),symbolic())(stream) )[c("status","node")]
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.