phase15: update CLAUDE.md with Phase 15 enhancements from AGENTS.md

- Add JIT Self-Host Quickstart section for Phase 15
- Include important flags reference (plugins, parsers, debugging)
- Add Codex async workflow documentation for parallel tasks
- Update test execution with Phase 15 smoke tests
- Improve build time notes (JIT vs LLVM)
- Align with current Phase 15 progress and tooling

🎉 Bootstrap (c0→c1→c1') test confirmed working\!

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Tomoaki
2025-09-05 15:18:13 +09:00
parent a2b89fae7e
commit e323120c59
19 changed files with 393 additions and 62 deletions

View File

@ -0,0 +1,9 @@
// array_p0 minimal example for JIT smoke
static box Main {
init { }
main(args) {
// Placeholder: do nothing, return 0
return 0
}
}

View File

@ -0,0 +1,9 @@
// map_p0 minimal example for JIT smoke
static box Main {
init { }
main(args) {
// Placeholder: do nothing, return 0
return 0
}
}

View File

@ -0,0 +1,9 @@
// string_p0 minimal example for JIT smoke
static box Main {
init { }
main(args) {
// Placeholder: do nothing, return 0
return 0
}
}

12
apps/std/array_std.nyash Normal file
View File

@ -0,0 +1,12 @@
// nyashstd.array P0 scaffold (JIT-only)
// Minimal placeholder to define file layout and ny_plugins mapping.
static box StdArray {
init { }
len(a) { return 0 }
push(a, v) { return 0 }
pop(a) { return 0 }
slice(a, b, e) { return a }
}

12
apps/std/map_std.nyash Normal file
View File

@ -0,0 +1,12 @@
// nyashstd.map P0 scaffold (JIT-only)
// Minimal placeholder to define file layout and ny_plugins mapping.
static box StdMap {
init { }
len(m) { return 0 }
get(m, k) { return 0 }
set(m, k, v) { return 0 }
keys(m) { return 0 }
}

30
apps/std/string_std.nyash Normal file
View File

@ -0,0 +1,30 @@
// nyashstd.string P0 scaffold (JIT-only)
// NOTE: This is a minimal placeholder to establish file layout and ny_plugins mapping.
// Methods are intentionally simple to avoid relying on NyRT intrinsics.
static box StdString {
init { }
// Return length estimate for ASCII (placeholder: returns input length via naive loop)
length(s) {
// naive count; parser subset-safe
let i = 0
// TODO: real iteration when string iteration is available
return 0
}
// concat placeholder: return second argument as a stub
concat(a, b) { return b }
// slice placeholder: return input as-is
slice(s, begin, end) { return s }
// equals placeholder: always false for now
equals(a, b) { return 0 }
// indexOf placeholder: not found
indexOf(haystack, needle) { return -1 }
toString(s) { return s }
}

View File

@ -0,0 +1,9 @@
// using/nyash.link E2E sample (placeholder)
static box Main {
init { }
main(args) {
// When using/nyash.link is active, modules can be resolved here.
// Placeholder just returns 0 for now.
return 0
}
}