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

前端 未结 4 732
时光取名叫无心
时光取名叫无心 2020-12-22 23:44

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

相关标签:
4条回答
  • 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).

    0 讨论(0)
  • 2020-12-23 00:05

    The given element syntax. For example:

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

    Means all identifiers must conform to the given syntax rule.

    0 讨论(0)
  • 2020-12-23 00:15

    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 (::=).

    0 讨论(0)
  • 2020-12-23 00:20

    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.

    0 讨论(0)
提交回复
热议问题