POS-scoped deletion blocks metathesis analysis of other words (ParseWord incomplete)
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with the ParseWord path and the conformance fixture languages/metathesis-phase-isolation, adding the prHDel rule to reproduce the missing parses for nui and mu+i. Trace how the optional deletion node is handled across deeper strata and compare it with rewrite-rule handling. Done means ParseWord returns NIU and MI+3SGU while forward generation and the existing fixture expectations still pass.
由索引模型根据 Issue 内容生成。
描述
A part-of-speech-scoped deletion rule makes metathesis words of another part of speech unparseable. Forward generation still produces them, so ParseWord is incomplete.
Repro
Start from conformance fixture languages/metathesis-phase-isolation (PR #480, 34215889) and add one deletion rule to the surface Morphology stratum, scoped to a part of speech that no metathesis word uses:
<PhonologicalRule id="prHDel">
<PhoneticInput><PhoneticSequence><SimpleContext naturalClass="ncH" /></PhoneticSequence></PhoneticInput>
<PhonologicalSubrules>
<PhonologicalSubrule requiredPartsOfSpeech="posRedup">
<PhoneticOutput><PhoneticSequence /></PhoneticOutput>
<Environment>
<LeftEnvironment><PhoneticTemplate><PhoneticSequence><SimpleContext naturalClass="ncVowel" /></PhoneticSequence></PhoneticTemplate></LeftEnvironment>
<RightEnvironment><PhoneticTemplate><PhoneticSequence><SimpleContext naturalClass="ncVowel" /></PhoneticSequence></PhoneticTemplate></RightEnvironment>
</Environment>
</PhonologicalSubrule>
</PhonologicalSubrules>
</PhonologicalRule>
(ncH = <SegmentNaturalClass id="ncH"><Segment segment="cH" /></SegmentNaturalClass>; add prHDel to the Morphology stratum's phonologicalRules.)
| Word | Root stratum / POS | Expected | Got |
|---|---|---|---|
nui |
SimpleMeta / posSimpleMeta | NIU |
none |
mu+i |
ComplexMeta / posComplexMeta | MI+3SGU |
none |
Both words still generate forward (they are in the fixture's expected set, and removing prHDel restores them). The rule can never apply to either word in synthesis: wrong part of speech, and their roots live in deeper strata.
What seems to happen
Unapplying the deletion inserts an optional h between every vowel pair, before the part of speech is known, so n u (h) i. The deeper strata's metathesis rules then fail to match u–i adjacency across that optional node, so neither the (h)-present nor the (h)-absent reading reaches the metathesis unapplication. The optional node should be skippable, as it is for rewrite rules.
Notes
- Found while adding reduplication × phonology cases for #519. The fixture now uses
V _ aso it doesn't hit this. - It is independent of #519; master fails the same way.
- Scope unknown: any POS-scoped deletion in a shallower stratum may block metathesis in deeper ones.
- 主要语言
- C#
- 星标
- 29
- 派生
- 17
- 平均合并
- 4 天 15 小时
- 30 天内合并 PR
- 8
环境准备
我们还没有检查这个项目的环境配置文件。先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sillsdev/machine 的其他 Issue
-
ConvertUsfmVersificationHandler does not move headings immediately before re-versified verses to the new chapter可能已有人在做 @Enkidu93 于 4 天前认领。 未关闭
sillsdev/machine#518 · 已指派 1 人 ·
维护者通常 1 天内回复
-
ConvertUsfmVersificationHandler doesn't merge verses correctly可能已有人在做 @Enkidu93 于 4 天前认领。 未关闭
sillsdev/machine#517 · 已指派 1 人 ·
维护者通常 1 天内回复
-
Environment matchers pay for captures they never read; key the traversal on what the caller consumes未关闭
难度 5/5 一周以上 新手友好度 45/100
sillsdev/machine#515 · 1 条评论 ·
维护者通常 1 天内回复
-
enhancement
难度 5/5 一周以上 新手友好度 35/100
维护者通常 1 天内回复
-
HermitCrab: Word.ExpandAlternatives discards Unify's success flag and can null the realizational FS未关闭
难度 5/5 一周以上 新手友好度 38/100
维护者通常 1 天内回复
相似的 Issue
-
area-ai untriaged
难度 2/5 1-3 小时 新手友好度 85/100
dotnet/extensions#7790 ·
维护者通常 1 天内回复
-
P2 testing
难度 1/5 1 小时以内 新手友好度 90/100
维护者通常 1 天内回复
-
area-Infrastructure-coreclr os-ios os-maccatalyst os-tvos untriaged
难度 2/5 1-3 小时 新手友好度 78/100
dotnet/runtime#134766 · 3 条评论 ·
维护者通常 1 天内回复
-
0 - Backlog Bug
难度 2/5 1-3 小时 新手友好度 88/100
BrighterCommand/Brighter#4444 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 88/100
维护者通常 1 天内回复