在这种情况下,您不能像使用上下文运算符那样,{X within Y}
因为它们只能用于单个注释,而不能用于一系列注释。
但是您可以使用“技巧”:
在中包含Sentence
注释Input
。 这是主要的事情。即使您没有Sentence
在规则中的任何地方使用,它也可以防止在注释 的 位置出现新句子的情况下进行此类匹配。 但是,这不能防止句子与注释本身 开始的匹配。
使用!
运算符禁止任何句子与第二个注释在同一点开始{Lookup, !Sentence}
。
Phase: secondpass
Input: Lookup Sentence
Options: control = brill
Rule: A3b
(
{Lookup.majorType == "trouble"}
{Lookup.majorType == "alteration", !Sentence}
):label
--> :label.A3b = {rule= "A3b"}