# 什么是 Backus-Naur 形式？

Qlik Sense 命令行语法和脚本语法在 Backus-Naur 形式符号（也称为 BNF 代码）中进行了介绍。

下表提供了在 BNF 代码中使用的符号的列表，以及如何解释这些符号的说明：

符号

| 符号 | 描述 |
| --- | --- |
| \| | 逻辑 OR：任何一侧的符号均可使用。 |
| ( ) | 定义优先级的括号：用于构建 BNF 语法。 |
| [ ] | 方括号：括号内项目为可选项。 |
| { } | 大括号：括号内项目可不重复或重复多次。 |
| 符号 | 非终端语法类别，即：可进一步分隔为其他符号。例如，上述符号的复合体，其他非终端符号和文本字符串等。 |
| ::= | 开端标记，用于符号定义模块。 |
| 加载 | 由文本字符串构成的终端符号。应依照其在脚本内的原样写入。 |

所有终端符号使用 bold face 字体呈现。例如，“(”应解释为定义优先级的括号，但是“(”则应解释为脚本内的一个字符。

示例：

alias 语句的说明如下：

alias fieldname as aliasname { , fieldname as aliasname}

这应该解释为文本字符串“alias”，其后为任意字段名称，文本字符串“as”以及任意别名。可以指定“fieldname as alias”的任意数量的其他组合，其间用逗号分隔。

下面是正确的语句：

`alias a 
 as first;` `alias a 
 as first, b as second;` `alias a 
 as first, b as second, c as third;`

下面则是错误的语句：

`alias a 
 as first b as second;` `alias 
 a as first { , b as second };`