From f49b184a093ab5f653ac36ccc4939c45515a2f4b Mon Sep 17 00:00:00 2001 From: Cliff Click Date: Sat, 24 Oct 2026 15:23:20 -0700 Subject: Move combined chapter 25 baseline to chapter 28b --- chapter25/docs/examples/A_helloWorld.smp | 2 - chapter25/docs/examples/BubbleSort.smp | 36 ---------------- chapter25/docs/examples/Capitalize.smp | 22 ---------- chapter25/docs/examples/Dijkstra.smp | 72 -------------------------------- chapter25/docs/examples/FileIO.smp | 50 ---------------------- 5 files changed, 182 deletions(-) delete mode 100644 chapter25/docs/examples/A_helloWorld.smp delete mode 100644 chapter25/docs/examples/BubbleSort.smp delete mode 100644 chapter25/docs/examples/Capitalize.smp delete mode 100644 chapter25/docs/examples/Dijkstra.smp delete mode 100644 chapter25/docs/examples/FileIO.smp (limited to 'chapter25/docs/examples') diff --git a/chapter25/docs/examples/A_helloWorld.smp b/chapter25/docs/examples/A_helloWorld.smp deleted file mode 100644 index 4ed6abdf..00000000 --- a/chapter25/docs/examples/A_helloWorld.smp +++ /dev/null @@ -1,2 +0,0 @@ -sys.io.p("Hello, World!\n"); -return 0; diff --git a/chapter25/docs/examples/BubbleSort.smp b/chapter25/docs/examples/BubbleSort.smp deleted file mode 100644 index ca6906b5..00000000 --- a/chapter25/docs/examples/BubbleSort.smp +++ /dev/null @@ -1,36 +0,0 @@ - -// An implementation of -// https://sampleprograms.io/projects/bubble-sort/ -// -// Bubble sort, with reading (parsing) and writing (formatting) the data. - -val sort = { !sys.aryi64 nums -> - sys.aryi64?! more = nums; - while( more ) { - more = null; - for( var i = 0; i < nums.len-1; i++ ) - if( nums.buf[i] > nums.buf[i+1] ) - more = nums.swap(i,i+1); - } -}; - -// Read one process argument of the form "[ 4, 3, 2, 1]" and print it sorted. -// args[0] is the executable name, as with native C argc/argv. -val main = { u8[~][] args -> - val usage = { -> - sys.io.p("Usage: please provide a list of at least two integers to sort in the format \"[1, 2, 3, 4, 5]\"\n"); - return 0; - }; - if( args# != 2 ) return usage(); - - var nums = sys.aryi64.parseAryI64(args[1]); - if( !nums ) return usage(); - if( nums.len < 2 ) return usage(); - - // Bubble sort array of integers - sort(nums); - - // Print the same bracketed array-list format accepted as input. - nums.str().add('\n').write(1); - return 0; -}; diff --git a/chapter25/docs/examples/Capitalize.smp b/chapter25/docs/examples/Capitalize.smp deleted file mode 100644 index 8e31c18f..00000000 --- a/chapter25/docs/examples/Capitalize.smp +++ /dev/null @@ -1,22 +0,0 @@ - -// An implementation of -// https://sampleprograms.io/projects/capitalize/ - -val main = { u8[~][] args -> - if( args# > 2 ) { - sys.io.p("Use quotes around multiple strings.\n"); - return 0; - } - if( args# != 2 || args[1]# == 0 ) { - sys.io.p("Usage: please provide a string\n"); - return 0; - } - - u8[~] input = args[1]; - var output = new u8[input# + 1]; - sys.ary.copy(output,0,input,0,input#); - output[0] = sys.char.toupper(input[0]); - output[input#] = '\n'; - sys.io.p(output); - return 0; -}; diff --git a/chapter25/docs/examples/Dijkstra.smp b/chapter25/docs/examples/Dijkstra.smp deleted file mode 100644 index fd595eb5..00000000 --- a/chapter25/docs/examples/Dijkstra.smp +++ /dev/null @@ -1,72 +0,0 @@ - -// An implementation of -// https://sampleprograms.io/projects/dijkstra/ - -val shortestPath = { !sys.aryi64 matrix, int nodes, int src, int dst -> - i64 infinity = (1 << 63)-1; - var dist = new i64[nodes]; - var visited = new sys.adt.bitset(); - // All nodes are infinitely far from each other - for( int i=0; i 0 && !visited.get(node) && best+weight < dist[node] ) - dist[node] = best+weight; - } - } - count++; - } - return result; -}; - -val usage = { -> - sys.io.p("Usage: please provide three inputs: a serialized matrix, a source node and a destination node\n"); - return 0; -}; - -val main = { u8[~][] args -> - // Exactly 3 args - if( args# != 4 ) return usage(); - // First is a serialized square matrix of positive numbers - var matrix = sys.aryi64.parseAryI64(args[1]); - if( !matrix ) return usage(); - if( !matrix.len ) return usage(); - // All numbers are positive - for( int i=0; i= nodes || dst < 0 || dst >= nodes ) - return usage(); // Source and destination land within the graph - - i64 cost = shortestPath(matrix,nodes,src,dst); - if( cost >= 0 ) { - new sys.aryu8().num(cost).add('\n').write(1); - return 0; - } - return usage(); -}; diff --git a/chapter25/docs/examples/FileIO.smp b/chapter25/docs/examples/FileIO.smp deleted file mode 100644 index e48d435b..00000000 --- a/chapter25/docs/examples/FileIO.smp +++ /dev/null @@ -1,50 +0,0 @@ - -// An implementation of -// https://sampleprograms.io/projects/file-input-output/ - -val FILE = "output.txt"; - -val main = { u8[~][] args -> - var str = new sys.aryu8(); - str.addAry("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\n"); - str.addAry("Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.\n"); - str.addAry("Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.\n"); - str.addAry("Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.\n"); - - // Create - i32 fd = sys.io.create(FILE); - if( fd == -1 ) return _error(); - // Write - int wrote = sys.io.writeOff(fd,str.buf,0,str.len); - if( wrote == -1 ) return _error(); - if( wrote != str.len ) return _error2(-2); - // Close - if( sys.io.close(fd) != 0 ) return _error(); - - // Open - i32 fd2 = sys.io.open(FILE); - if( fd2 == -1 ) return _error(); - // Read - var got = sys.io.read(fd2); - if( got# != str.len ) return _error2(-3); - // Close - if( sys.io.close(fd2) != 0 ) return _error(); - - // Check contents are equal - if( sys.ary.cmp(got,0,str.buf,0,str.len) ) - return _error2(-4); - - // Remove - if( sys.io.remove(FILE) != 0 ) return _error(); - - sys.io.p("File I/O succeeded\n"); - return 0; -}; - -val _error2 = { i32 errno -> - sys.io.remove(FILE); - new sys.aryu8().addAry("Failed with error code ").num(errno).add('\n').write(sys.libc.STDERR); - sys.libc._exit(errno); -}; - -val _error = { -> _error2(sys.libc.errno()); }; -- cgit v1.2.3