Source/Packages

Compiler.IntegerLiteral

packages/compiler/src/Compiler/IntegerLiteral.alpha

903 lines95 declarations31.8 KiBSHA-256 578f5c4899f4

def · lines 833–863

integerLiteralParse

Full file
833def integerLiteralParse =
834  (lambda unrestricted radix : (family IntegerLiteralRadix) .
835    (lambda unrestricted kind : (family IntegerLiteralKind) .
836      (lambda unrestricted sign : (family IntegerLiteralSign) .
837        (lambda unrestricted width : (family IntegerLiteralWidth) .
838          (lambda unrestricted digits : Bytes .
839            (nat-eliminate
840              (lambda unrestricted current : Nat . (family IntegerLiteralResult))
841              (integerLiteralFailureResult
842                (constructor IntegerLiteralFailure IntegerLiteralMissingDigits))
843              (lambda unrestricted predecessor : Nat .
844                (lambda unrestricted induction : (family IntegerLiteralResult) .
845                  (eliminate
846                    IntegerLiteralSyntaxResult
847                    (lambda unrestricted current : (family IntegerLiteralSyntaxResult) .
848                      (family IntegerLiteralResult))
849                    (integerLiteralValidateSeparators radix digits)
850                    (branch
851                      IntegerLiteralSyntaxAccepted
852                      .
853                      (integerLiteralFinish
854                        kind
855                        sign
856                        width
857                        (integerLiteralFoldDigits radix (integerLiteralStripSeparators digits))))
858                    (branch
859                      IntegerLiteralSyntaxFailed
860                      failure
861                      .
862                      (integerLiteralFailureResult failure)))))
863              (integerLiteralHasDigits digits)))))))

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.