Compiler/Verifying syntax: Difference between revisions
→Generic PEG Library: def q: def box:
(→Generic PEG Library: Omit calls to trace) |
(→Generic PEG Library: def q: def box:) |
||
Line 699:
consume($re)
| .result = .result + [.match] ;
def q($s):
select(.remainder | startswith($s))
| .remainder |= .[$s | length :] ;
def literal($s):
| .result += [$s];
Line 711 ⟶ 715:
# optional white space
def ws: consume("[ \n\r\t]*");
# Tagging
def box(E):
((.result = null) | E) as $e
| .remainder = $e.remainder
| .result += [$e.result] # the magic sauce
;
</syntaxhighlight>
|