gralha-text-scan
Releases (2)
Definitions (50)
scan.bend
- def choose
- def max.u32
- def min.u32
- def min
- def max
- def clamp
- def code
- def space
- def digit
- def rev
- def string.equal.go`same` says whether the characters before `a` and `b` matched: deciding it one step ahead keeps the loop a tail call on the shrinking `a`.
- def string.equal
- def branch
- def trim
- type Scan
- def until.goScanning loops decide each character one step ahead (`hit` says whether `c`, the character before `t`, ends the scan), so the rest of the text is only ever held once: a shared tail would make every step pay for the sharing.
- def until
- def prefix
- def drop
- def through
- def until.sequence
- def separatorSVG number grammar, including adjacent signs and scientific notation.
- def separators.go
- def separators
- def number.exponent
- type Number
- def number.classA number is read straight into a float: digits accumulate the mantissa (fraction digits also scale a divisor), an exponent accumulates its own digits, and a sign is taken where it may appear.
- def number.accepts
- def number.stage
- def number.mark
- def number.pow10
- def number.tail
- def number.finishThe value from the parts; `rest` is the string from the stop.
- def number.go`c` is the character before `t`; `ok` says whether it was read, and the parts are the ones after it.
- def numberThe loop starts as if after a character that was read, with nothing yet.
- def number.default
- def scalar
- def numbers.next
- def numbers.goEvery number read takes at least one character (a digit), so the text's length bounds how many there are.
- def numbers
- def nth
- def uints.nth
- def hex.digit
- def hex
- def trim.both
- def unit
- def string.contains
- def scan.head
- def unquote
- def strings.has