Python/Справочник по языку Python 3.1: различия между версиями
Содержимое удалено Содержимое добавлено
RedFox (обсуждение | вклад) |
RedFox (обсуждение | вклад) |
||
Строка 126:
lc_letter ::= "a"..."z"
В первой строке указано, что name - это lc_letter за которым идет последовательность из нуля или более lc_letter и знаков подчеркивания. lc_letter в свою очередь - это любой символ от 'a' до 'z'. (Это правило соблюдается "де-факто" в лексических и грамматических правилах настоящего документа.)
Каждое правило начинается с имени (которое является именем, определенным правилом), и символов ":: =". Вертикальный штрих (|) используется, чтобы разделять альтернативы; это - наименее обязательный оператор в этой нотации. Звездочка (*) означает нуль или больше повторений предыдущего элемента; аналогично, плюс (+) означает одно или более повторений, а фраза, заключенная в квадратные скобки ([ ]) означает нуль или более повторов вхождения (другими словами, заключенная в них фраза является опциональной). "*" и "+" операторы связаны настолько сильно насколько возможно; круглые скобки используются для группировки. Литеральные строки заключаются в кавычки. Пустое пространство также является значимым для разделения лексемм. Правила обычно заданы в одной строке; правила со многими альтернативами могут быть отформатированы иначе - каждая следующая строка после первой начинается с вертикального штриха.
<!--
In lexical definitions (as the example above), two more conventions are used: Two literal characters separated by three dots mean a choice of any single character in the given (inclusive) range of ASCII characters. A phrase between angular brackets (<...>) gives an informal description of the symbol defined; e.g., this could be used to describe the notion of ‘control character’ if needed.
|