Python Forum

Full Version: Is ::= a typo or actually an operator?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I am running python 3.4, and trying to learn how to use the keyword assert. It's featured on the Pythong docs page https://docs.python.org/3/reference/simp...-statement, section 7.3.

This line is giving me a syntax error:
assert_stmt ::= "assert" expression1 ["," expression2]

Is ::= an operator or a typo? The compiler highlights the first colon when I run it.
It's a metasyntax notation called extended Backus-Naur form (EBNF).
The BNF uses the symbols (<, >, |, ::=) for itself, but does not include quotes around terminal strings. This prevents these characters from being used in the languages, and requires a special symbol for the empty string. In EBNF, terminals are strictly enclosed within quotation marks ("..." or '...'). The angle brackets ("<...>") for nonterminals can be omitted.
see: https://www.w3.org/TR/hdml20-6.html#HEADING6-3