Look[S: (Any #read & Equatable[S]), optional D: Any #share, optional V: Any #share]¶
Positive lookahead: will succeed if its child rule matches, but will not advance the match position.
class ref Look[S: (Any #read & Equatable[S]), optional D: Any #share, optional V: Any #share] is
RuleNodeWithBody[S, D, V] ref
Implements¶
- RuleNodeWithBody[S, D, V] ref
Constructors¶
create¶
new ref create(
body': RuleNode[S, D, V] ref,
action': (Action[S, D, V] val | None val) = reference)
: Look[S, D, V] ref^
Parameters¶
Returns¶
- Look[S, D, V] ref^
Public Functions¶
action¶
Returns¶
body¶
Returns¶
call¶
fun box call(
depth: USize val,
loc: Loc[S] val)
: (_BindFrame[S, D, V] ref | _CondFrame[S, D, V] ref | _ConjFrame[S, D, V] ref |
_DisjFrame[S, D, V] ref | _ErrorFrame[S, D, V] ref | _LiteralFrame[S, D, V] ref |
_LookFrame[S, D, V] ref | _NamedRuleFrame[S, D, V] ref | _NegFrame[S, D, V] ref |
_SingleFrame[S, D, V] ref | _StarFrame[S, D, V] ref)
Parameters¶
Returns¶
- (_BindFrame[S, D, V] ref | _CondFrame[S, D, V] ref | _ConjFrame[S, D, V] ref | _DisjFrame[S, D, V] ref | _ErrorFrame[S, D, V] ref | _LiteralFrame[S, D, V] ref | _LookFrame[S, D, V] ref | _NamedRuleFrame[S, D, V] ref | _NegFrame[S, D, V] ref | _SingleFrame[S, D, V] ref | _StarFrame[S, D, V] ref)