我在用于 ABNF 语法开发的 NuGram IDE Eclipse 插件中看到了一些意外行为。
假设我有一条规则:
$fifties =
50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59
;
句子生成器会提供匹配项 5 0、5 1、5 2……我通常会期望 50、51、52 等等,但根据 NuGram 的覆盖工具,这些被认为是 OOG。
来发现它会用空格分割任何多位数字,除非有一个领先的非数字:
1234 -> 1 2 3 4
1234asdf -> 1 2 3 4 asdf
asdf1234 -> asdf1234
1234asdf5678 -> 1 2 3 4 asdf5678
据我所知,正常的 ABNF 语法不会这样做。还是我忘记了什么?