4e: Parsing (Combinators)
+bend
+bendAccepts
Produces
Source
++ bend
~/ %bend
=+ raq=|*([a=* b=*] [~ u=[a b]])
|@
++ $
~/ %fun
|* [vex=edge sab=rule]
?~ q.vex
vex
=+ yit=(sab q.u.q.vex)
=+ yur=(last p.vex p.yit)
?~ q.yit
[p=yur q=q.vex]
=+ vux=(raq p.u.q.vex p.u.q.yit)
?~ vux
[p=yur q=q.vex]
[p=yur q=[~ u=[p=u.vux q=q.u.q.yit]]]
--Examples
+comp
+compAccepts
Produces
Source
Examples
+fail
+failAccepts
Produces
Source
Examples
+glue
+glueAccepts
Produces
Source
Examples
+less
+lessAccepts
Produces
Source
Examples
+pfix
+pfixAccepts
Produces
Source
Examples
+plug
+plugAccepts
Produces
Source
Examples
+pose
+poseAccepts
Produces
Source
Examples
+sfix
+sfixAccepts
Produces
Source
Examples
+simu
+simuAccepts
Produces
Source
Examples
Last updated