Что означает двойное двоеточие, за которым следует знак равенства (::=) в документации по программированию?

что значит ::= значит в документации по программированию?
например документация на Lua: или документация Python.

4 ответов


Он символизирует "правило вывода символов" в Форма Backus-Naur

это означает, что в:

<symbol> ::= __expression__ 

нетерминального <symbol> состоит из (определяется как, строится, происходит от) __expression__

Он используется для описания грамматики языка.

обратите внимание, что оба примера находятся в Расширенная Форма Backus-Naur, но с использованием традиционного разделителя символов-выражений BNF (::=).


Это Форма Backus-Naur (BNF) обозначение, описывающее язык. ::= в этом контексте означает определяется как.

например, в документации по языку Python, на которую вы ссылаетесь, идентификатор определяется как буква или подчеркивание, за которым следует буква, цифра или подчеркивание. Затем в нотации описывается, что такое буква и цифра, и так далее.


Как уже говорили другие, это часть нотации BNF. Википедия имеет пояснения и некоторые примеры, которые я не буду повторять здесь.

история и эволюция ::= сам символ объясняется в история усилий Алгола (p29 и далее).


синтаксис данного элемента. Например:

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

означает, что все идентификаторы должны соответствовать данному правилу синтаксиса.