双冒号后跟等号 (::=) 在编程文档中意味着什么?

问题描述 投票:0回答:5

编程文档中的

::=
是什么意思?
例如在 Lua 文档中:或在 Python 文档中。

language-agnostic symbols
5个回答
66
投票

它象征着巴科斯-诺尔范式

中的‘符号推导规则’

意思是:

<symbol> ::= __expression__ 

非终结符

<symbol>
包含(定义为、构造自、派生自)
__expression__

用于描述语言语法。

请注意,这两个示例均采用“扩展巴科斯范式”,但使用传统的 BNF 符号表达式分隔符 (::=

)。


22
投票
这是描述该语言的

Backus-Naur Form (BNF) 符号。在此上下文中,::=

 表示 
定义为

例如,在您引用的Python语言文档中,标识符

被定义为一个字母或下划线,后跟一个字母、数字或下划线。然后,符号继续描述字母和数字的定义,等等。


7
投票
正如其他人已经说过的,它是 BNF 表示法的一部分。维基百科有

解释和一些例子,我在这里不再重复。

::=

符号本身的历史和演变在
ALGOL努力的历史(第29页起)中进行了解释。


5
投票
给定的元素语法。例如:

identifier ::= (letter|"_") (letter | digit | "_")*

表示所有标识符必须符合给定的语法规则。


0
投票
这是 BNF 表示法,用于描述编程语言中不同语言元素的语法或语义。举个例子,在 Transact-SQL 中,这个 BNF 表示法用于定义

expression

 是什么或如何定义 
expression

<expression> ::= { constant | scalar_function | column | variable | ( expression ) | { unary_operator } expression | expression { binary_operator } expression }
“|”符号用于指示我们必须从可用选项中做出单一选择。

参考:

https://learn.microsoft.com/en-us/sql/t-sql/language-elements/expressions-transact-sql?view=sql-server-ver16

© www.soinside.com 2019 - 2024. All rights reserved.