Source/Packages

Compiler.Parser

packages/compiler/src/Compiler/Parser.alpha

5,902 lines337 declarations199.2 KiBSHA-256 6d135c41813d

def · lines 1471–1495

parseDecimalSpelling

Full file
1471def parseDecimalSpelling =
1472  (lambda unrestricted spelling : Bytes .
1473    (app
1474      (bytes-eliminate
1475        (lambda unrestricted remaining : Bytes .
1476          (pi unrestricted accumulator : Nat . (family DecimalParseResult)))
1477        (lambda unrestricted accumulator : Nat .
1478          (constructor DecimalParseResult DecimalParsed accumulator))
1479        (lambda unrestricted head : Byte .
1480          (lambda unrestricted tail : Bytes .
1481            (lambda unrestricted parseTail : (pi unrestricted accumulator : Nat . (family DecimalParseResult)) .
1482              (lambda unrestricted accumulator : Nat .
1483                (eliminate
1484                  DecimalDigitResult
1485                  (lambda unrestricted result : (family DecimalDigitResult) .
1486                    (family DecimalParseResult))
1487                  (decodeDecimalDigit head)
1488                  (branch
1489                    DecimalDigitMatched
1490                    decimalDigitValue
1491                    .
1492                    (parseTail (advanceDecimal accumulator decimalDigitValue)))
1493                  (branch NotDecimalDigit . (constructor DecimalParseResult DecimalInvalid)))))))
1494        spelling)
1495      zero))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.