在 Web Speech API 的示例中,始终指定语法。例如,在MDN 的 color change example中,语法为:
#JSGF V1.0;
grammar colors;
public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;
但是,在实际使用 API 时(在 Chrome 54.0.2840.71 上),结果函数:
- 有时返回不符合提供的语法的字符串
- 不提供描述语音的解析树
那么语法实际上是做什么的呢?我怎样才能获得这些行为中的任何一种(仅限于语法并查看解析树)?