Repository navigation
Conversation
Requested in bab2min#163: analyze `들어가신다` as `들어가시/VV` + `ㄴ다/EF` instead of `들어가/VV` + `시/EP` + `ㄴ다/EF`, so that only the final ending is separated from the stem. This follows the note on the issue: a new bit flag and the joining logic in `joinAffixTokens`. The left side accepts every tag `isVerbClass` covers (VV, VA, VX, VCP, VCN, XSV, XSA) and EP itself, so a chain of prefinal endings collapses into the stem as well (`드시/VV` + `었/EP` + `겠/EP` => `드시었겠/VV`). A derived stem still needs `joinVerbSuffix` to become one token, which is what that flag is for. The new flag is not part of `joinAffix` or `all`, so nothing changes unless it is asked for. It is mirrored in the C, Java, Swift and WASM bindings the way `joinParticleYo` is. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The test covers a single prefinal ending, a chain of two, adjectives and the negative copula, and a derived stem with and without `joinVerbSuffix`. It also pins the analysis without the flag, so that turning it off keeps the current output. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (7)
Included review availability: Your plan provides up to 4 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe PR adds the ChangesjoinEp matching
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Feature Suggested reviewers: Merge Risk: ⚪ Minimal · up to The new opt-in option joins prefinal endings while preserving existing defaults, with consistent API exposure and focused coverage. No current merge-blocking risk is evidenced. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@bab2min 안녕하세요. 리뷰 재촉은 아니고, 이 PR의 워크플로가 실행 승인 대기 상태로 멈춰 있어서 알려드립니다. 현재 head( 같은 날 올린 #278은 승인이 되어 7종 전부 통과했는데, 이 PR만 누락된 것 같습니다.
번거로우시겠지만 확인 부탁드립니다. |
|
@bab2min 안녕하세요. 시간 되실 때 리뷰 부탁드립니다. 현재 head( |
#163 구현입니다. 이슈에 남겨주신 대로
Match에 비트 플래그joinEp를 추가하고joinAffixTokens에 결합 로직만 넣었습니다.사양
원 요청(bab2min/kiwipiepy 토론 #165)에서 확인해주신 형태를 그대로 따랐습니다.
결합 규칙
(V. | XSV | XSA) + EP와EP + EP를 왼쪽 태그를 유지한 채 합칩니다. 왼쪽 조건은isVerbClass(VV, VA, VX, VCP, VCN, XSV, XSA)를 그대로 썼습니다.Match::noneMatch::joinEp파생 용언의 어간을 하나로 만들려면 기존
joinVerbSuffix를 함께 켜면 됩니다(
공부하셨다→공부하시었/VV+다/EF). 두 플래그의 역할이 나뉘어 있어 따로두었는데,
joinEp하나만으로공부하시었/VV까지 만들어지는 편이 낫다면 그렇게바꾸겠습니다.
범위
joinAffix에도all에도 넣지 않았습니다. 켜지 않으면 기존 동작이그대로입니다.
joinParticleYo와 동일하게 C API(KIWI_MATCH_JOIN_EP), Java, Swift, WASM바인딩의 상수도 함께 추가했습니다. 비트는 비어 있던
1 << 28입니다.반영되면 그쪽에도 올리겠습니다.
테스트
TEST(KiwiCpp, JoinEp)을 추가했습니다. 위 표의 경우들과, 플래그를 켜지 않았을때 기존 분석 결과가 유지되는지를 함께 확인합니다.
kiwi-test전체를 돌렸습니다.기존 163개 통과 → 신규 1개 포함 164개 전부 통과.
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
joinEpmatching option across supported APIs.Tests