Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Языки программирования(Сиников).doc
Скачиваний:
63
Добавлен:
07.06.2015
Размер:
171.52 Кб
Скачать
  1. 7. Описание алгоритмических языков. Формулы бнф.

Любой ЯП состоит из символов, выражений и операторов.

Символы – основные неделимые знаки с помощью которых записываються все допустимые конструкции языка.

Слова – структура образов в соответствии с некоторыми правилами из основных символов языка и являющихся минимальными единицами имеющих самостоятельный смысл.

Числа являются словами.

Выражения – группа слов, имеющих некоторый смысл.

В АЯ это конструкция, состоящая из слов и символов задающая правила вычисления некоторого значения.

Оператор – конструкция, задающая полное описание некоторого действия, которые необходимо выполнить.

Описание ЯП состоит из описания четырех указанных элементов. Это описание обычно включает:

- синтаксис

- семантику

Синтаксис позволяет определить множество допустимых конструкций определить её смысл.

Для описания синтаксиса ЯП обычно использует спец. Языки называемые метаязыками.

Формулы Бэкуса-Наура.

Этот язык характеризуется тем, что для описания синтаксиса используются спец. Формулы. Эти формулы содержат знаки:

::= - есть по определению.

| - или.

< > - меньше, больше. В эти скобки заключаются описания конструкций языка.

[ ] – необязательные элементы.

{ } – элементы которые могут входить ноль или большее число раз.

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

<целое число>::=[<знак>]<цифра>{<цифра>}

<знак>::= + / -

<цифра>::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

C помощью формул БНФ можно однозначно описать синтаксис любого ЯП, но эти формулы имеют малую наглядность и достаточно громоздки.

Потому наряду с БНФ для описания синтаксиса используются другие метаязыки.

  1. 8. Описание алгоритмических языков. Синтаксические диаграммы.

СД также можно использовать для описания синтаксиса ЯП. Они состоят из овалов, кружков и прямоугольников, соединяемых прямыми линиями со стрелками.

Кружки и овалы служат для обозначения неделимых символов языка – терминальные силы.

Прямоугольники обозначают ссылку на другую синтаксическую диаграмму.

Указанные элементы объединены в более общую структуру, которая используется для описания синтаксиса конструкций языка.

Типовыми объединениями элементов являются след. диаграммы:

1)

А – имя диаграммы или определяемого понятия, а сама диаграмма означает, что по структуре конструкция А может состоять из конструкций описанных диаграммой А1 или А2 или … или АN.

Знак арифметической операции:

2) A => [A1] => [A2] => … => [AN]

Конструкция А представляет собой последовательную конструкцию А1, А2, …, АN.

3)

Конструкцией А может содержать или элемент А1 или вообще не чего.

4)

Определенная конструкция А может быть пустой или может содержать одну или несколько подряд идущих конструкций А1.

5)

Конструкция А может содержать одну или несколько подряд идущих конструкций А1.

Диаграммы являются более наглядным отображаем синтаксиса. Для изображения диаграмм требуются спец. средства и определения сложных конструкций требуются сложные диаграммы, которые будут слишком громоздкими.

СД используются наряду с формулами БНФ.

Для описания семантики (смысла) ЯП обычно используется неформальные пояснения на естественном языке или также специальные метаязыки. Для изучения ЯП необходимо изучить его синтаксис и семантику.