What does a double colon followed by an equals sign (::=) mean in programming documentation?
What does ::=
mean in programming documentation?
For example in the Lua documentation: or in Python documentation.
Solution 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 (::=
).
Solution 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.