feat(joinir): Phase 88 - Pattern4 continue + variable step increment
Continue Pattern 拡張: - then側の i=i+const 差分加算 + acc更新を許可 - continue_pattern.rs:193 で可変ステップ検出 Dev Router 許可: - ast_lowerer/mod.rs:92 で normalized_dev feature時に新パターンを有効化 Fixtures & Tests: - jsonparser_unescape_string_step2_min fixture追加(submodule) - normalized_joinir_min.rs に shape テスト追加 - shapes.rs に expected shape 定義 Documentation: - joinir-architecture-overview.md に Phase 88 到達点を追記 Impact: - Pattern4 continue + 可変インクリメント(i+=1 or i+=2)対応 - _unescape_string 制御構造の土台確立 - normalized_dev tests PASS Next: _unescape_string 残り複合ループ対応 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -796,6 +796,33 @@ pub fn build_jsonparser_parse_object_continue_skip_ws_structured_for_normalized_
|
||||
module
|
||||
}
|
||||
|
||||
/// JsonParser _unescape_string の「i+=2 + continue」コアを Structured で組み立てるヘルパー(dev-only)。
|
||||
///
|
||||
/// 実ループ(`tools/hako_shared/json_parser.hako::_unescape_string`)から、
|
||||
/// 文字列処理を除いて制御構造(continue + 可変ステップ更新)だけを抽出した最小フィクスチャ。
|
||||
///
|
||||
/// Fixture: docs/private/roadmap2/phases/normalized_dev/fixtures/jsonparser_unescape_string_step2_min.program.json
|
||||
pub fn build_jsonparser_unescape_string_step2_min_structured_for_normalized_dev() -> JoinModule {
|
||||
const FIXTURE: &str = include_str!(
|
||||
"../../../../docs/private/roadmap2/phases/normalized_dev/fixtures/jsonparser_unescape_string_step2_min.program.json"
|
||||
);
|
||||
|
||||
let program_json: serde_json::Value = serde_json::from_str(FIXTURE)
|
||||
.expect("jsonparser_unescape_string_step2_min fixture should be valid JSON");
|
||||
|
||||
let mut lowerer = AstToJoinIrLowerer::new();
|
||||
let module = lowerer.lower_program_json(&program_json);
|
||||
|
||||
if joinir_dev_enabled() && joinir_test_debug_enabled() {
|
||||
eprintln!(
|
||||
"[joinir/normalized-dev] jsonparser_unescape_string_step2_min structured module: {:#?}",
|
||||
module
|
||||
);
|
||||
}
|
||||
|
||||
module
|
||||
}
|
||||
|
||||
/// まとめて import したいとき用のプレリュード。
|
||||
pub mod prelude {
|
||||
pub use super::{
|
||||
@ -806,6 +833,7 @@ pub mod prelude {
|
||||
build_jsonparser_parse_object_continue_skip_ws_structured_for_normalized_dev,
|
||||
build_jsonparser_skip_ws_real_structured_for_normalized_dev,
|
||||
build_jsonparser_skip_ws_structured_for_normalized_dev,
|
||||
build_jsonparser_unescape_string_step2_min_structured_for_normalized_dev,
|
||||
build_pattern2_break_fixture_structured, build_pattern2_minimal_structured,
|
||||
build_pattern3_if_sum_min_structured_for_normalized_dev,
|
||||
build_pattern3_if_sum_multi_min_structured_for_normalized_dev,
|
||||
|
||||
Reference in New Issue
Block a user