Подтвердить что ты не робот

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

Что означает ::= в документации по программированию?

Например, в документации Lua: http://www.lua.org/manual/5.2/manual.html#3.2

Или документация Python: http://docs.python.org/release/2.7.1/reference/lexical_analysis.html#identifiers

4b9b3361

Ответ 1

Он символизирует правило вывода символов в Бэксу-Наурской форме

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

<symbol> ::= __expression__ 

nonterminal <symbol> состоит из (определяется как, строится из, вытекает из) __expression__

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

Обратите внимание, что оба примера находятся в Extended Backus-Naur Form, но с использованием традиционного разделителя символов-символа BNF (::=).

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

Данный синтаксис элемента. Например:

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

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