Правила формального описания синтаксиса языка программирования

Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для этого удобно использовать расширенную форму Бэкуса-Наура (БНФ), которая состоит из ряда следующих обозначений и правил:

– символы в кавычках переносятся в конструкцию языка так, как они записаны. Кавычки при этом отбрасываются. Например, "while" означает, что в конструкции языка присутствует while;

– имена, записанные слитно русскими и латинскими буквами, обозначают различные конструкции языка. Например, оператор_цикла;

– квадратные скобки охватывают элементы языка, которые могут повторяться 0 или 1 раз. Например, "AB"["C"] означает, что в конструкции языка может присутствовать или AB или ABC;

– фигурные скобки охватывают элементы языка, которые могут повторяться 0 или много раз. Например, "AB"{"C"} означает, что в конструкции языка может присутствовать или AB, или ABC, или ABCC и т.д.;

– символ | обозначает или, то есть используется для задания альтернативных значений из списка элементов, разделенных знаком |. Например, "AB"|"C"|"ff" означает, что в конструкции языка может присутствовать или AB или C или ff;

– круглые скобки используются для группировки. Например, "A"("B"|"C")"D" означает, что в конструкции языка может присутствовать или ABD или ACD;

– многоточие используется для обозначения очевидных пропущенных значений в перечислении;

– символ = обозначает присвоить. Например, буква = "A"|"B"|"C".

В дальнейшем, синтаксис языка Си будет описываться либо с помощью примеров, либо с помощью расширенной формы Бэкуса-Наура. В последнем случае это будет помечаться аббревиатурой БНФ.

Идентификаторы или имена служат для обозначения различных объектов программ: переменных (ячеек памяти), адресов, функций, файлов и т.д., иначе говоря – данных и действий над данными.

Имена должны начинаться с букв латинского алфавита или знака подчеркивания, далее допускается использовать и арабские цифры:

БНФ:

имя = (буква | "_") { буква | цифра | "_" }

буква = |"A"|"B"|...|"Y"|"Z"|"a"|"b"|...|"y"|"z"

цифра = "0"|"1"|...|"9"

При этом прописные и строчные буквы считаются разными.

Длина имени в ANSI стандарте языка Си не ограничена. В Турбо Си имя не может быть длиннее 32 символов. Например: a, a1, _a, a_b.

Выбор имен должен производиться так, чтобы имя как можно точнее соответствовало смыслу объекта или действия, которое оно обозначает. Например: speed_of_body, SpeedOfBody, BodySpeed.

Экономия на длине имен – плохой стиль программирования.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: