From 4ae6a06d94b228a5eb67c8473131a791e310c233 Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sat, 24 Oct 2026 15:25:58 -0700 Subject: Rename modules chapter to 28a --- chapter-modules/src/main/smp/sys/scan.smp | 39 ------------------------------- 1 file changed, 39 deletions(-) delete mode 100644 chapter-modules/src/main/smp/sys/scan.smp (limited to 'chapter-modules/src/main/smp/sys/scan.smp') diff --git a/chapter-modules/src/main/smp/sys/scan.smp b/chapter-modules/src/main/smp/sys/scan.smp deleted file mode 100644 index 44bedaaa..00000000 --- a/chapter-modules/src/main/smp/sys/scan.smp +++ /dev/null @@ -1,39 +0,0 @@ - -// Scanner; a simple string parser. -struct scan { - int !x; // Cursor - bool !bad; // True after a malformed token - u8[~] buf; // Buffer to parse - - new scan = { u8[~] b -> buf = b; }; - - // Skip whitespace - val skip = { -> - while( x < buf# && buf[x] <= ' ' ) - x++; - return self; - }; - - // True if find required character, and skip it; else False. - val match = { u8 c -> - skip(); - if( x >= buf# ) return false; - if( buf[x] != c ) return false; - x++; - return true; - }; - - // Parse a simple number - val number = { -> - skip(); - bool neg = match('-'); - if( x >= buf# || buf[x] < '0' || '9' < buf[x] ) { - bad = true; - return 0; - } - i64 n = 0; - while( x < buf# && '0' <= buf[x] & buf[x] <= '9' ) - n = n*10 + (buf[x++] - '0'); - return neg ? -n : n; - }; -}; -- cgit v1.2.3