Skip to content

handoff: P4 fallback=0 セッション (2026-06-25) — #43根治/#21/string比較、残作業と再開手順 #36

Description

@opaopa6969

このセッションの成果

P4 fallback=0(#32)に向け、生成マッパーの根本バグ(#43系)を中心に修正。correctnessバグは全て解消し、2つのPRに反映済み。

クローズ済みissue(検証付き)

#11, #12, #23, #25, #27, #29, #30

修正(PR)

unlaxer-parser PR #44 (branch fix/issue-43-mapper-recursion) — MapperGenerator根治 + revision 3.0.5:

tinyexpression PR #34 (branch fix/issue-43-21-math-arithmetic) — unlaxer 3.0.5採用 + 評価器追従:

検証

abs(-3)+pow(2,3)=11, min(3,5,1)=1, max(3,5,1,9)=9, 'z'.in('a','b')=false, toUpperCase('abc')=='ABC'=true(P4_AST_EVALUATOR / P4_DSL_JAVA_CODE 両方)。パリティ/コーパス回帰ゼロ(160+テスト)。

⚠️ リリース調整(マージ前提・要手動)

tinyexpression PR #34unlaxer-dsl 3.0.5 の公開が前提。手順:

  1. unlaxer-parser PR handoff: P4 fallback=0 セッション (2026-06-27) — #32 codegen根治継続 (3.0.7/3.0.8/3.0.9 release) / 残り C=var宣言・型推論 #44 をマージ
  2. unlaxer-dsl 3.0.5 を Maven Central へデプロイ(GPG/network gated の手動手順、#11参照)
  3. tinyexpression PR fix(p4): math関数算術 & variadic min/max を正答化 (closes #21; refs #22,#43) #34 の CI が依存解決できるようになる → マージ

※ ローカル .m2 には 3.0.5(unlaxer-common / unlaxer-dsl / 親pom)インストール済みなので、ローカルビルド/検証は可能。Central未公開のため #34 のCIは現状赤。

残作業

再開手順

  1. ローカル: 両リポジトリは各fixブランチをcheckout済み。unlaxer-parser revision=3.0.5、.m2 に 3.0.5 導入済み。
  2. tinyexpression のビルド: mvn -o test -Dtinyexpression.skipRailroad=true -Dgpg.skip=true -Dmaven.javadoc.skip=true -Dtest=...(railroad SVG生成はnoise源なのでskip推奨)
  3. 生成物はクリーンビルドで再生成: rm -rf target/generated-sources target/classes
  4. 文法変更時は unlaxer-dsl を .m2 に再install: cd unlaxer-parser && mvn -o -q install -pl unlaxer-dsl -DskipTests -Dgpg.skip=true -Dmaven.javadoc.skip=true -Dspotbugs.skip=true -Derrorprone.skip=true
  5. 既知の落とし穴: surefire-reports は累積するので集計前に rm -rf target/surefire-reports。baselineゲートあり(test-baseline.txt)。

関連: #32, #35, #22, #21, unlaxer-parser#43/#44

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions