def AaParse.head
bend-osdev-apparmor@0.1.0.0 · parse.bend:1425
import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/token.bend as T
import bend-osdev-apparmor@0.1.0.0/error.bend as E
1425
1426def AaParse.head(ts: List<&2, T.AaTerm>, +top: Bool, +src: E.AaSrc) -> Result<&2, &2, E.AaError, AaHead>:
1427 match ts:
1428 case Nil{}:
1429 Fail{E.AaSrc.syntax(src)}
1430 case Con{t, rest}:
1431 match t:
1432 case T.AaTmWord{+w}:
1433 AaParse.head.word(w, T.AaTmWord{w}, rest, top, src)
1434 case T.AaTmQuoted{+q}:
1435 Bool.pick(Result<&2, &2, E.AaError, AaHead>, top, AaParse.head.path(T.AaTmQuoted{q}, rest, src), Fail{E.AaSrc.syntax(src)})
1436 case _:
1437 Fail{E.AaSrc.syntax(src)}