Lex.num.next: def of cswap-bend-cli@0.1.0.0 Import: import cswap-bend-cli@0.1.0.0/json/lex.bend as Lex Lines 84-88 of cswap-bend-cli@0.1.0.0/json/lex.bend: https://jend.leeeet.dev/read.txt?path=cswap-bend-cli@0.1.0.0/json/lex.bend&start_line=84&end_line=88 import Base # JSON number grammar as a state machine: 0 start, 1 after -, 2 after 0, # 3 int digits, 4 after ., 5 frac digits, 6 after e, 7 after exp sign, # 8 exp digits, 99 dead. 2, 3, 5 and 8 accept. def num.next(+st: U32, +c: Char) -> U32: num.next2(st, Char.is_digit(c), eqc(c, '0'), eqc(c, '.'), eqc(c, 'e') || eqc(c, 'E'), eqc(c, '-') || eqc(c, '+'), eqc(c, '-')) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Bool.or https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Char.is_digit https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/json/lex.bend&name=eqc https://jend.leeeet.dev/definition.txt?path=cswap-bend-cli@0.1.0.0/json/lex.bend&name=num.next2