Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ЯЗЫКИ И СИСТЕМЫ ПРОГРАММРОВАНИЯ.
Способы описания ЯП. Для описания ЯП используются две системы описания:
Обе нотации используют следующее обозначение: < > - угловые скобки (или двойные кавычки) обозначают элемент программы, определяемый пользователем (< Идентификатор>, < Список параметров>, “Условие” и пр.). В соответствующих местах реальной программы будет находится идентификатор переменной, список параметров и прочее.
Нотация Бэкуса содержит конструкцию следующего вида: < Оператор присваивания> : = < Переменная> : = < Выражение> < Идентификатор> :: = < Буква> | < Идентификатор> < Буква> | < Идентификатор> < Цифра>
17.01.14 Левая часть определения конструкций языка содержит наименование определяемого элемента, взятого в угловые скобки. Правая часть включает совокупность элементов, соединённых знаком |, которая трактуется как «или» и объединяет альтернативы – различные варианты значения, определяемого элемента. Части соединяются оператором:: =, который может трактоваться, как является по определению.
Нотация IBM включает следующие элементы:
означает обязательное присутствие одного из < выражений>
{< выражение> } [, < выражение> ]…} обозначает, что одно или более < выражений>, разделённых запятыми, может появиться между фигурными скобками.
Рекурсивное определение в IBM-нотации не используются.
Классификация языков программирования. Определяющие факторы классификации обычно жёстко не фиксируется. Чтобы продемонстрировать пример типичной классификации опишем наиболее часто применяемые факторы, дадим им условные названия и дадим образцы ЯП.
Элементы языков программирования. Алфавит – совокупность символов, отображаемых на устройте печати и экранах/вводимых с клавиатуры терминалов. Обычно это набор символов - Latin-1 с исключением управляющих символов. Иногда в это множество включаются неотображаемые символы с указанием правил их записи (комбинирование в лексемы).
Лексика – совокупность правил образования цепочек символов (лексем), образующих идентификаторы (переменные и метки), операторы, операции и другие лексические компоненты языка. Сюда же включаются зарезервированные ключевые слова ЯП, предназначенные для обозначения операторов, встроенных функций и прочее.
Морфология – совокупность правил и возможностей варьирования написания лексических единиц в пределах, в которых они будут правильно распознаны компилятором.
Синтаксис – совокупность правил обозначения языковых конструкций или предложений ЯП - блоков, процедур, составных операторов, условных операторов, цикла и прочее. Особенностью синтаксиса является принцип вложенности (рекурсивность) правил построения конструкций. Это значит, что элемент синтаксиса языка в своём определении прямо или косвенно в одной из его частей содержит сам себя. Например, в определении оператора цикла телом цикла является оператор, частным случаем которого является всё тот же оператор цикла.
Семантика – смысловое содержание конструкций предложений языка. Семантический анализ – проверка смысловой правильности конструкций. Например, если мы в выражении используем переменную, то она должны быть определены ранее по тексту программы, а из этого определения может быть получен её тип. Исходя из типа переменной можно говорить о допустимости операции с данной переменной. Семантические ошибки возникают при недопустимом использовании операции массивов, функций, операций и пр.
Зарезервированные служебные слова, имеющиеся в каждом ЯП. Могут быть использованы только по своему специальному назначению (как имена функций, операторов, операций и пр.)
Популярное:
|
Последнее изменение этой страницы: 2016-04-10; Просмотров: 1594; Нарушение авторского права страницы