1

我在用于 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 语法不会这样做。还是我忘记了什么?

4

1 回答 1

1

这是因为 NuGram IDE 将数字视为单独的 DTMF 音调。我同意此行为应仅适用于 DTMF 语法,而不适用于语音语法。

您可以用双引号将数字序列括起来,例如:

$fifties =
    "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59"
;

希望有帮助!

于 2012-08-07T00:40:52.413 回答