Parse.step: def of emerging-ezjson@1.4.0.0 Import: import emerging-ezjson@1.4.0.0/src/parse.bend as Parse Lines 195-226 of emerging-ezjson@1.4.0.0/src/parse.bend: https://jend.leeeet.dev/read.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&start_line=195&end_line=226 import Base import emerging-ezjson@1.4.0.0/src/lex.bend as Lex # one token def step(tok: Lex.Tok, st: P) -> P: match tok: case Lex.TOpenArr{}: step.open_arr(st) case Lex.TOpenObj{}: step.open_obj(st) case Lex.TCloseArr{}: P{bad, root, stack} = st close_arr(stack, root, bad) case Lex.TCloseObj{}: P{bad, root, stack} = st close_obj(stack, root, bad) case Lex.TColon{}: P{bad, root, stack} = st step.colon(stack, root, bad) case Lex.TComma{}: P{bad, root, stack} = st step.comma(stack, root, bad) case Lex.TStr{s}: P{bad, root, stack} = st put.str(stack, root, KOwn{s}, bad) case Lex.TWord{raw}: step.word(raw, st) case Lex.TStrS{src, n}: P{bad, root, stack} = st put.str(stack, root, KCut{src, n}, bad) case Lex.TWordS{src, n}: step.span(src, n, st) case Lex.TBad{}: P{bad, root, stack} = st P{True{}, root, stack} Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/lex.bend&name=Tok https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=Key https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=P https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=close_arr https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=close_obj https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=put.str https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.colon https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.comma https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.open_arr https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.open_obj https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.span https://jend.leeeet.dev/definition.txt?path=emerging-ezjson@1.4.0.0/src/parse.bend&name=step.word