[REBOL] Re: Parse surprise
From: lmecir:mbox:vol:cz at: 18-Jan-2003 11:18
Hi Romano,
would you like to have something like PE?
pe/pe "" [any (pe/ret "done")] ; == "done"
----- Original Message -----
From: "Romano Paolo Tenca"
> I should like to have a method to stop a parse rule inside paren code and
> reurn a value like true or false (or something else).
The source of PE:
pe: make object! [
pe: function [
"Parses a series according to rules."
input [series!] "Input series to parse"
rules [block! string! none!] "Rules to parse by"
/all "Parses all chars including spaces."
/case "Uses case-sensitive comparison."
] [value] [
res?: false
either rebol/words/all [
error? value: try [
apply/r/a :parse compose [
(either all ['all] [])
(either case ['case] [])
] reduce [input rules]
]
res?
] [
res?: false
return get/any 'res
] [value]
]
res?: false
res: none
ret: func [
value [any-type!]
] [
res?: true
error? set/any 'res get/any 'value
make error! ""
]
]