def num.next

cswap-bend-cli@0.1.0.0 · json/lex.bend:84

import cswap-bend-cli@0.1.0.0/json/lex.bend as Lex
import Base

84# JSON number grammar as a state machine: 0 start, 1 after -, 2 after 0,
85# 3 int digits, 4 after ., 5 frac digits, 6 after e, 7 after exp sign,
86# 8 exp digits, 99 dead. 2, 3, 5 and 8 accept.
87def num.next(+st: U32, +c: Char) -> U32:
88  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)

Used by (1)