对于Perl 6最长令牌匹配,什么是"额外的断路器"?

bri*_*foy 7 regex perl6

正则表达式中Perl 6最长交替文档向概要5提出,以记录最长令牌匹配的规则.如果不同的替代方案匹配相同长度的子字符串,则有三个规则:

  • 最长的声明性前缀打破了平局
  • 最高的特异性打破了平局
  • "如果仍然打成平局,请使用额外的断路器."
  • 最左边的轮换终于赢了

这是我很好奇的第三条规则.

rwi*_*zel 1

首先,文本的组织方式清楚地表明实现的行为必须是确定性的(而不是随机的)。

其次,更重要的是,描述现有实现的确切行为可能会填满整个难以理解的页面,因为必须描述每个极端情况。此外,这样的规范将限制实现的自由度。我们假设某些实现支持“最快实现”标志。这样的实现可以使用未指定的部分来进行捷径。因此,请保留未指定的行为。限制在最低限度有一些优点。