Table.bind_name: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/rules/table.bend as Table Lines 143-157 of bolt@1.27.0.0/src/rules/table.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/rules/table.bend&start_line=143&end_line=157 import Base import bolt@1.27.0.0/src/syntax/lex.bend as Lex import bolt@1.27.0.0/src/syntax/tree.bend as Tree # the one plain name a statement binds, or empty def bind_name(nn: Tree.Node, +seen: Bool, +bad: Bool, +nm: String) -> String: match nn: case Tree.NCons{Tree.Leaf{Lex.Tok{Lex.TEq{}, t, l, c}}, rest}: bind_at(seen, bad, nm) case Tree.NCons{Tree.Leaf{Lex.Tok{Lex.TName{}, +t, l, c}}, rest}: bind_name(rest, True{}, Bool.or(bad, seen), t) case Tree.NCons{Tree.Leaf{Lex.Tok{Lex.TUpper{}, t, l, c}}, rest}: bind_name(rest, seen, True{}, nm) case Tree.NCons{Tree.Group{open, kids, close}, rest}: bind_name(rest, seen, bad, nm) case Tree.NCons{h, rest}: bind_name(rest, seen, bad, nm) case other: "" Uses (7): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/rules/table.bend&name=bind_at https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/lex.bend&name=Tok https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/lex.bend&name=TokKind https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=Node