phase29aq(p3): expand split stdlib subsets
This commit is contained in:
@ -20,6 +20,8 @@ Goal: JoinIR の最小回帰セットを SSOT として固定する。
|
||||
- ScanWithInit (stdlib index_of_string, VM): `phase29aq_string_index_of_string_min_vm`
|
||||
- Pattern2 (stdlib parse_integer, VM): `phase29aq_string_parse_integer_min_vm`
|
||||
- SplitScan (stdlib split, VM): `phase29aq_string_split_min_vm`
|
||||
- SplitScan (stdlib split char, VM): `phase29aq_string_split_char_min_vm`
|
||||
- SplitScan (stdlib split string, VM): `phase29aq_string_split_string_min_vm`
|
||||
- Pattern1 (stdlib to_upper, VM): `phase29aq_string_to_upper_min_vm`
|
||||
- Pattern5 (Break, VM): `phase286_pattern5_break_vm`
|
||||
- Pattern5 (strict shadow, VM): `phase29ao_pattern5_strict_shadow_vm`
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
---
|
||||
Status: Done
|
||||
Scope: stdlib split subset expansion (char/string)
|
||||
Related:
|
||||
- docs/development/current/main/phases/phase-29aq/README.md
|
||||
- docs/development/current/main/phases/phase-29ae/README.md
|
||||
---
|
||||
|
||||
# Phase 29aq P3: split subset expansion (stdlib coverage)
|
||||
|
||||
Goal: expand stdlib split coverage with char and string delimiter fixtures and
|
||||
wire them into the JoinIR regression gate (phase29ae pack). Behavior is
|
||||
unchanged; inputs avoid empty segments.
|
||||
|
||||
## Subsets (SSOT)
|
||||
|
||||
- Char delimiter: `split("a b c", " ")` (single-character separator)
|
||||
- String delimiter: `split("a--b--c", "--")` (multi-character separator)
|
||||
|
||||
Notes:
|
||||
- Empty segments are excluded by input in fixtures (no leading/trailing or
|
||||
repeated delimiters).
|
||||
- No new Plan/Composer vocabulary; reuse existing SplitScan subset.
|
||||
|
||||
## Fixtures / smokes
|
||||
|
||||
- `apps/tests/phase29aq_string_split_char_min.hako`
|
||||
- `apps/tests/phase29aq_string_split_string_min.hako`
|
||||
- `tools/smokes/v2/profiles/integration/joinir/phase29aq_string_split_char_min_vm.sh`
|
||||
- `tools/smokes/v2/profiles/integration/joinir/phase29aq_string_split_string_min_vm.sh`
|
||||
|
||||
## Gate wiring
|
||||
|
||||
- Add both smokes to `tools/smokes/v2/profiles/integration/joinir/phase29aq_stdlib_pack_vm.sh`.
|
||||
- Ensure `phase29ae_regression_pack_vm.sh` runs the stdlib pack.
|
||||
- Update `docs/development/current/main/phases/phase-29ae/README.md`.
|
||||
|
||||
## Verification
|
||||
|
||||
- `cargo build --release`
|
||||
- `./tools/smokes/v2/run.sh --profile quick`
|
||||
- `./tools/smokes/v2/profiles/integration/joinir/phase29ae_regression_pack_vm.sh`
|
||||
@ -58,7 +58,8 @@ Plan/Composer subsets (or mark unsupported) before adding new subsets.
|
||||
|
||||
- P1: Add stdlib subsets in priority order (index_of/last_index_of → parse_integer → split).
|
||||
- P2: Add stdlib subsets (index_of_string → to_upper).
|
||||
- P3: Expand split subsets (char/string delimiters; empty segments excluded by input).
|
||||
|
||||
## Next (planned)
|
||||
|
||||
- P3: Expand split/scan derivatives (candidate: starts_with/ends_with).
|
||||
- P4: Expand split/scan derivatives (candidate: starts_with/ends_with).
|
||||
|
||||
Reference in New Issue
Block a user