wcc/ww: drop underscores from next/peek/remaining-tokens (F-Z)
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
// 2/3/4-byte needles and falls back to two_way (Crochemore-Perrin)
|
||||
// for longer (ref/hare/bytes/index.ha:61, ref/hare/bytes/two_way.ha).
|
||||
// Correctness equivalent.
|
||||
// - peek_token dispatches index/rindex by branching on `reverse`
|
||||
// - peektoken dispatches index/rindex by branching on `reverse`
|
||||
// rather than a function-pointer `ifunc` (ref/hare/bytes/tokenize.ha:97).
|
||||
// ww has no fn pointers in scope yet — same pattern as lib/strings
|
||||
// `move`. Outwardly identical.
|
||||
@@ -23,7 +23,7 @@ package bytes;
|
||||
import os;
|
||||
import types;
|
||||
|
||||
// done — iteration sentinel returned by next_token / peek_token at
|
||||
// done — iteration sentinel returned by nexttoken / peektoken at
|
||||
// end-of-input. ref/hare/bytes/tokenize.ha uses the built-in `done`
|
||||
// token; ww spells it per-package the same way lib/encoding/utf8 does
|
||||
// (utf8.ww:36). Plain `void` (not `!void`): continuation signal.
|
||||
@@ -242,8 +242,8 @@ export fn tokenize(in: []u8, delim: u8...) tokenizer = {
|
||||
return t;
|
||||
};
|
||||
|
||||
// rtokenize — reverse-direction tokenize. First next_token yields the
|
||||
// last token, last next_token yields the first. ref/hare/bytes/tokenize.ha:40.
|
||||
// rtokenize — reverse-direction tokenize. First nexttoken yields the
|
||||
// last token, last nexttoken yields the first. ref/hare/bytes/tokenize.ha:40.
|
||||
export fn rtokenize(in: []u8, delim: u8...) tokenizer = {
|
||||
assert(delim.len > 0, "bytes.rtokenize called with empty slice");
|
||||
assert((in.len: i64) < types.I64_MAX,
|
||||
@@ -259,10 +259,10 @@ export fn rtokenize(in: []u8, delim: u8...) tokenizer = {
|
||||
return t;
|
||||
};
|
||||
|
||||
// peek_token — next token without advancing the cursor. Returns done
|
||||
// once `s.delim` has been zeroed by a prior past-end next_token.
|
||||
// peektoken — next token without advancing the cursor. Returns done
|
||||
// once `s.delim` has been zeroed by a prior past-end nexttoken.
|
||||
// ref/hare/bytes/tokenize.ha:91.
|
||||
export fn peek_token(s: *tokenizer) ([]u8 | done) = {
|
||||
export fn peektoken(s: *tokenizer) ([]u8 | done) = {
|
||||
if (s.delim.len == 0) {
|
||||
let d: done; return d;
|
||||
};
|
||||
@@ -338,12 +338,12 @@ export fn peek_token(s: *tokenizer) ([]u8 | done) = {
|
||||
return r;
|
||||
};
|
||||
|
||||
// next_token — current token, then advance past it and the delim.
|
||||
// nexttoken — current token, then advance past it and the delim.
|
||||
// Once the input is exhausted, returns done and zeros `s.delim` so
|
||||
// subsequent peeks short-circuit. ref/hare/bytes/tokenize.ha:59.
|
||||
export fn next_token(s: *tokenizer) ([]u8 | done) = {
|
||||
export fn nexttoken(s: *tokenizer) ([]u8 | done) = {
|
||||
let b: []u8;
|
||||
match (peek_token(s)) {
|
||||
match (peektoken(s)) {
|
||||
case let v: []u8 => { b = v; };
|
||||
case done => { let d: done; return d; };
|
||||
};
|
||||
@@ -380,9 +380,9 @@ export fn next_token(s: *tokenizer) ([]u8 | done) = {
|
||||
return b;
|
||||
};
|
||||
|
||||
// remaining_tokens — the unconsumed portion of `s.in`. Read-only view.
|
||||
// remainingtokens — the unconsumed portion of `s.in`. Read-only view.
|
||||
// ref/hare/bytes/tokenize.ha:145.
|
||||
export fn remaining_tokens(s: *tokenizer) []u8 = {
|
||||
export fn remainingtokens(s: *tokenizer) []u8 = {
|
||||
return s.in;
|
||||
};
|
||||
|
||||
@@ -409,16 +409,16 @@ export fn splitn(in: []u8, delim: []u8, n: i32) [][]u8 = {
|
||||
let tok: tokenizer = tokenize(in, delim...);
|
||||
let i: i32 = 0;
|
||||
for (i < n - 1) {
|
||||
match (next_token(&tok)) {
|
||||
match (nexttoken(&tok)) {
|
||||
case let s: []u8 => { append(toks, s); };
|
||||
case done => { return toks; };
|
||||
};
|
||||
i += 1;
|
||||
};
|
||||
match (peek_token(&tok)) {
|
||||
match (peektoken(&tok)) {
|
||||
case done => void;
|
||||
case let pk: []u8 => {
|
||||
let r: []u8 = remaining_tokens(&tok);
|
||||
let r: []u8 = remainingtokens(&tok);
|
||||
append(toks, r);
|
||||
};
|
||||
};
|
||||
@@ -447,16 +447,16 @@ export fn rsplitn(in: []u8, delim: []u8, n: i32) [][]u8 = {
|
||||
let tok: tokenizer = rtokenize(in, delim...);
|
||||
let i: i32 = 0;
|
||||
for (i < n - 1) {
|
||||
match (next_token(&tok)) {
|
||||
match (nexttoken(&tok)) {
|
||||
case let s: []u8 => { append(toks, s); };
|
||||
case done => { return toks; };
|
||||
};
|
||||
i += 1;
|
||||
};
|
||||
match (peek_token(&tok)) {
|
||||
match (peektoken(&tok)) {
|
||||
case done => void;
|
||||
case let pk: []u8 => {
|
||||
let r: []u8 = remaining_tokens(&tok);
|
||||
let r: []u8 = remainingtokens(&tok);
|
||||
append(toks, r);
|
||||
};
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user