What does a double colon followed by an equals sign (::=) mean in programming documentation?

送分小仙女□ 提交于 2019-11-28 15:38:10

问题


What does ::= mean in programming documentation?
For example in the Lua documentation: or in Python documentation.


回答1:


It symbolizes 'symbol derivation rule' in Backus–Naur Form

Meaning that in:

<symbol> ::= __expression__ 

nonterminal <symbol> consists of (is defined as, is constructed from, derives from) __expression__

It's used to describe language grammars.

Notice that both examples are in Extended Backus–Naur Form, but using a traditional BNF symbol-expression separator (::=).




回答2:


This is Backus-Naur Form (BNF) notation describing the language. ::= in this context means is defined as.

For example, in the Python language documentation you refer to, an identifier is defined as a letter or an underscore, followed by a letter, a digit or an underscore. The notation then goes on to describe what a letter and a digit is defined as, and so on.




回答3:


As others have already said, it's part of the BNF notation. Wikipedia has an explanation and some examples, which I won't repeat here.

The history and evolution of the ::= symbol itself is explained in The History of the ALGOL Effort (p29 onwards).




回答4:


The given element syntax. For example:

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

Means all identifiers must conform to the given syntax rule.



来源:https://stackoverflow.com/questions/9196066/what-does-a-double-colon-followed-by-an-equals-sign-mean-in-programming-do

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!