Regex.lex.step: def of bend-kit-regex@0.8.0.0 Import: import bend-kit-regex@0.8.0.0/regex.bend as Regex Lines 340-376 of bend-kit-regex@0.8.0.0/regex.bend: https://jend.leeeet.dev/read.txt?path=bend-kit-regex@0.8.0.0/regex.bend&start_line=340&end_line=376 import Base def lex.step(s: String, toks: List<&2, Tok>) -> Lx: match s: case SNil{}: LDone{toks} case SCon{'\\', t}: lex.esc(esc(t), toks) case SCon{'[', SCon{'^', t}}: lex.class(True{}, class(t, True{}), toks) case SCon{'[', t}: lex.class(False{}, class(t, True{}), toks) case SCon{'(', SCon{'?', SCon{':', t}}}: LGo{t, TOpen{False{}} <> toks} case SCon{'(', SCon{'?', t}}: LFail{} case SCon{'(', t}: LGo{t, TOpen{True{}} <> toks} case SCon{')', t}: LGo{t, TClose{} <> toks} case SCon{'|', t}: LGo{t, TBar{} <> toks} case SCon{'*', t}: lex.rep(0, None{}, t, toks) case SCon{'+', t}: lex.rep(1, None{}, t, toks) case SCon{'?', t}: lex.rep(0, Some{1}, t, toks) case SCon{'{', +t}: +m = num(t) lex.brace.min(U32.is_eq(Num.n(m), 0), m, t, toks) case SCon{'.', t}: LGo{t, TAtom{NSet{True{}, [Rng{10, 10}]}} <> toks} case SCon{'^', t}: LGo{t, TAtom{NAssert{0}} <> toks} case SCon{'$', t}: LGo{t, TAtom{NAssert{1}} <> toks} case SCon{Chr{+c}, t}: LGo{t, TAtom{lit(c)} <> toks} Uses (22): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Maybe https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32.is_eq https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Word.Con https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Word.Nil https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=Item https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=Lx https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=Node https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=Num.n https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=Tok https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=class https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=esc https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=lex.brace.min https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=lex.class https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=lex.esc https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=lex.rep https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=lit https://jend.leeeet.dev/definition.txt?path=bend-kit-regex@0.8.0.0/regex.bend&name=num