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# the states whose plain characters do not change the scanner
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)

Uses (21)

Used by (5)