40 lines
1.3 KiB
Plaintext
40 lines
1.3 KiB
Plaintext
//ww:run-exit 13
|
|
// Migrated from 700_e2e row 104.
|
|
package main;
|
|
import bufio;
|
|
import io;
|
|
import memio;
|
|
fn main() i32 = {
|
|
let raw: [11]u8;
|
|
raw[0] = 102u8; raw[1] = 111u8; raw[2] = 111u8; raw[3] = 10u8;
|
|
raw[4] = 98u8; raw[5] = 97u8; raw[6] = 114u8; raw[7] = 10u8;
|
|
raw[8] = 98u8; raw[9] = 97u8; raw[10] = 122u8;
|
|
let mst: memio.stream = memio.fixed(raw[0:11]);
|
|
let m: io.stream = &mst.vt;
|
|
let buf: [16]u8;
|
|
let sc: bufio.scanner = bufio.newscannerbuf(m, buf[0:16]);
|
|
let acc: i32 = 0;
|
|
let l1: (str | io.eof | io.error | bufio.overflow) = bufio.scanline(&sc);
|
|
match (l1) {
|
|
case let s: str => acc += s.len;
|
|
case io.eof => acc += -100;
|
|
case let _e: io.error => acc += -1000;
|
|
case bufio.overflow => acc += -10000;
|
|
};
|
|
let l2: (str | io.eof | io.error | bufio.overflow) = bufio.scanline(&sc);
|
|
match (l2) {
|
|
case let s: str => acc += s.len;
|
|
case io.eof => acc += -100;
|
|
case let _e: io.error => acc += -1000;
|
|
case bufio.overflow => acc += -10000;
|
|
};
|
|
let l3: (str | io.eof | io.error | bufio.overflow) = bufio.scanline(&sc);
|
|
match (l3) {
|
|
case let s: str => acc += -100;
|
|
case io.eof => acc += 7;
|
|
case let _e: io.error => acc += -1000;
|
|
case bufio.overflow => acc += -10000;
|
|
};
|
|
return acc;
|
|
};
|