From e02a7e790650b31b713dde5c39ad6172c048f571 Mon Sep 17 00:00:00 2001 From: Xander Date: Thu, 13 Jul 2023 00:26:49 +0200 Subject: int to string conversion implementation --- kernel/output/print.dats | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'kernel/output') diff --git a/kernel/output/print.dats b/kernel/output/print.dats index 22fe575..9b5def0 100644 --- a/kernel/output/print.dats +++ b/kernel/output/print.dats @@ -2,14 +2,20 @@ #define ATS_DYNLOADFLAG 0 + staload "kernel/output/writer.sats" +staload "kernel/itoa.dats" extern fun print_newline() : void -implement print_newline() : void = put_string("\n") +implement print_newline() = put_string("\n") extern fun assert_errmsg(b: bool, msg: string) : void -implement assert_errmsg(b: bool, msg: string) : void = put_string(msg) +implement assert_errmsg(b,msg) = if (~b) then put_string(msg) +extern fun print_int {n : nat | n > 0} (n : int n) : void +implement print_int(n) = put_string(itoa(n,10)) + overload print with put_string of 1 +overload print with print_int of 1 macdef assertloc(tf) = assert_errmsg (,(tf), $mylocation) -- cgit v1.2.3