def read.fast.lex
emerging-eztoml@0.9.0.0 · main.bend:5046
import emerging-eztoml@0.9.0.0/main.bend as EmergingEztoml
import Base
5046
5047def read.fast.lex(
5048 lex: Lex,
5049 qkind: QKind,
5050 bad: String,
5051 rows: List<&2, Val>,
5052 heads: List<&2, String>,
5053 here: List<&2, String>,
5054 parts: List<&2, String>,
5055 buf: List<&2, Char>,
5056 back: Lex,
5057 stack: List<&2, Ctx>,
5058 uni: U32,
5059 left: U32,
5060 arrtab: Bool,
5061 +cc: Char
5062) -> St:
5063 match lex:
5064 case LStr{}:
5065 read.fast.str(qkind, bad, rows, heads, here, parts, buf, back, stack, uni, left,
5066 arrtab, cc)
5067 case LKey{}:
5068 read.fast.key(bare.at(cc), bad, rows, heads, here, parts, buf, back, qkind,
5069 stack, uni, left, arrtab, cc)
5070 case LBare{}:
5071 read.fast.bare(ch.delim(cc), bad, rows, heads, here, parts, buf, back, qkind,
5072 stack, uni, left, arrtab, cc)
5073 case LCom{}:
5074 read.fast.com(ch.ctl(cc), bad, rows, heads, here, parts, buf, back, qkind, stack,
5075 uni, left, arrtab, cc)
5076 case LTop{}:
5077 read.fast.ws(ch.sp(cc), ch.nl(cc), True{}, bad, rows, heads, here, parts, buf,
5078 LTop{}, back, qkind, stack, uni, left, arrtab, cc)
5079 case LArr{}:
5080 read.fast.ws(ch.sp(cc), ch.nl(cc), True{}, bad, rows, heads, here, parts, buf,
5081 LArr{}, back, qkind, stack, uni, left, arrtab, cc)
5082 case LArrC{}:
5083 read.fast.ws(ch.sp(cc), ch.nl(cc), True{}, bad, rows, heads, here, parts, buf,
5084 LArrC{}, back, qkind, stack, uni, left, arrtab, cc)
5085 case LLine{}:
5086 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5087 LLine{}, back, qkind, stack, uni, left, arrtab, cc)
5088 case LVal{}:
5089 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5090 LVal{}, back, qkind, stack, uni, left, arrtab, cc)
5091 case LAfter{}:
5092 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5093 LAfter{}, back, qkind, stack, uni, left, arrtab, cc)
5094 case LInl{}:
5095 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5096 LInl{}, back, qkind, stack, uni, left, arrtab, cc)
5097 case LInlK{}:
5098 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5099 LInlK{}, back, qkind, stack, uni, left, arrtab, cc)
5100 case LInlC{}:
5101 read.fast.ws(ch.sp(cc), ch.nl(cc), False{}, bad, rows, heads, here, parts, buf,
5102 LInlC{}, back, qkind, stack, uni, left, arrtab, cc)
5103 case other:
5104 read.fast.old(bad, rows, heads, here, parts, buf, other, back, qkind, stack,
5105 uni, left, arrtab, cc)