Справочник по языку Python 1 Исходный текст




Скачать 470.76 Kb.
НазваниеСправочник по языку Python 1 Исходный текст
страница2/17
Дата публикации17.03.2013
Размер470.76 Kb.
ТипСправочник
odtdocs.ru > Право > Справочник
1   2   3   4   5   6   7   8   9   ...   17

Нотация


В описаниях лексического анализа и синтаксиса используется модифицированная грамматическая нотация BNF. Применяется следующий стиль определений:

name ::= lc_letter (lc_letter | "_")* lc_letter ::= "a"..."z"

В первой строке указано, что name - это lc_letter за которым идет последовательность из нуля или более lc_letter и знаков подчеркивания. lc_letter в свою очередь - это любой символ от 'a' до 'z'. (Это правило соблюдается "де-факто" в лексических и грамматических правилах настоящего документа.)

Каждое правило начинается с имени (которое является именем, определенным правилом), и символов ":: =". Вертикальный штрих (|) используется, чтобы разделять альтернативы; это - наименее обязательный оператор в этой нотации. Звездочка (*) означает нуль или больше повторений предыдущего элемента; аналогично, плюс (+) означает одно или более повторений, а фраза, заключенная в квадратные скобки ([ ]) означает нуль или более повторов вхождения (другими словами, заключенная в них фраза является опциональной). "*" и "+" операторы связаны настолько сильно насколько возможно; круглые скобки используются для группировки. Литеральные строки заключаются в кавычки. Пустое пространство также является значимым для разделения лексемм. Правила обычно заданы в одной строке; правила со многими альтернативами могут быть отформатированы иначе - каждая следующая строка после первой начинается с вертикального штриха.

В лексических определениях (таких, как в примере выше), используются два дополнительных соглашения: Два буквенных символа разделенные тремя точками означают выбор одного символа из заданного этим выражением диапазона (включающего два вышеуказанных символа) ASCII символов. Фраза, заключенная в угловые скобки (<...>) дает неформальное описание заданного символа; например это может использоваться для описания значения 'управляющих символов', если таковое описание необходимо.

Даже если используемая нотация почти одинакова, есть значительная разница между значением лексических и синтаксических определений: лексические определения оперируют отдельными символами их источника ввода, тогда как синтаксические определения оперируют потоком токенов, генерируемых лексическим анализатором. Все определения BNF в следующей главе ("Лексический анализ") это лексические определения; использующиеся в последующих главах - синтаксические определения.

Лексический анализ


Программа на Python читается парсером. Входным потоком для парсера является поток токенов, генерируемый лексическим анализатором. В данной главе описывается, как лексический анализатор разделяет файл на токены.


Python считывает текст программы как символы в формате Unicode; кодировка символов может быть задана декларацией кодировки, по умолчанию она считается UTF-8, более подробно см. PEP 3120. Если файл с исходным кодом не может быть декодирован, генерируется ошибка синтаксиса.

Структура строки


Программа на Python состоит из логических строк.

Логические строки


Конец логической строки определяется токеном NEWLINE. Декларации не могут выходить за рамки границ логической строки, кроме тех случаев, когда NEWLINE допустима в синтаксисе (напр., между отдельными декларациями в составных декларациях). Логическая строка составляется из одной или большего количества физических строк с учетом явных или неявных правил объединения физических строк.

Физические строки


Физические строки, это последовательности символов, оканчивающиеся последовательностью конца строки. В исходных файлах могут использоваться стандартные для разных вычислительных платформ последовательности конца строки - в Unix ASCII символ перевода строки LF (linefeed), в Windows - последовательность ASCII символов CR LF (возврат каретки, за которым стоит символ перевода строки), или использовавшийся ранее на Macintosh символ перевода каретки CR (return). Любой из этих вариантов может использоваться равноправно, вне зависимости от текущей вычислительной платформы.

1   2   3   4   5   6   7   8   9   ...   17

Похожие:

Инструкция по выполнению работы На выполнение экзаменационной работы...
Включает 1 задание (С1) и представляет собой небольшую письменную работу по прослушанному тексту (сжатое изложение). Исходный текст...

Машинный перевод
С постредактированием: исходный текст перерабатывается машиной, а человек-редактор исправляет результат

Введение в Python и Eric
Замечательной особенностью Python является возможность быстрого создания простых изображений. Самым лёгким для освоения способом...

Справочник организаций, справочник банков и справочник назначений платежа. Эти
Вы сможете заполнить реквизиты плательщика. Если в старом справочнике организаций

Исходный текст
Но как быть с теми, кто не видит, не слышит, не чувствует, когда больно и плохо другому? (3)Постороннему, какими они считают всех,...

Учебник Python 1
Сочетание изящного синтаксиса и динамической типизации, совмещённых с интерпретируемой сущностью, делает Python идеальным языком...

Создание справочника адресов (кладр)
При этом, если справочник отделов и справочник должностей ранее не заполнялись, возможно заполнение этих справочников

Практикум по алгоритмизации и программированию на Python Иван Хахаев, 2009
«псевдоязыке» программирования (подобие «школьного алгоритмического языка»). И только после этого можно приступать к написанию программы...

Практикум по алгоритмизации и программированию на Python Иван Хахаев, 2009
«псевдоязыке» программирования (подобие «школьного алгоритмического языка»). И только после этого можно приступать к написанию программы...

Урок по русскому языку в 7 классе (урок развития речи)
Оборудование: интерактивная доска, текст Б. Полевого «Спасение детей», оформленная доска

Вы можете разместить ссылку на наш сайт:
Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
odtdocs.ru
Главная страница