Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Семантика




Синтаксис

Словарь

Словарь каждого ЯП включает набор зарезервированных слов (часто их называют ключевыми), смысл которых в тексте программ строго определен, например, READ, WRITE, IF, FUNCTION. Многие ключевые слова есть в словаре всех императивных ЯП, но их полный перечень, смысловая нагрузка и правила использования различны.

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

Для разных элементов словаря имеется общий термин лексемы.

Морфология — система правил формирования лексем ЯП из элементов алфавита — относительно проста. Сложнее свод синтаксических правил, по которым из лексем формируются отдельные инструкции и целые программы.

Можно выделить ряд основных синтаксических элементов.

Структура программы — это порядок следования ее составных частей определенного функционального назначения, а именно описаний и действий.

Описания данных задают их тип (целый, действительный, логический, символьный и др.), способ группировки (скаляр, массив и др.) и разрядность представления в ЭВМ. Здесь же фиксируется особая роль некоторых данных (например, меток, констант).

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

Действия определяют процессы трансформации данных. Их описывают с помощью выражений и операторов.

Выражения назначают правила получения новых значений для изменяемых данных.

Операторы задают способы использования данных и управляют ходом вычислений.

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

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

Как уже отмечалось, в ЯП исключается всякая неоднозначность смысла программных конструкций. Например, отдельный оператор Бейсика А = В означает, что переменная по имени А получает числовое значение, которое при подходе к этому участку программы имеет переменная по имени В. Иные истолкования этой конструкции («сделать В равным А по численному значению», «впредь полагать А и В тождественными», «если А равно В») неверны в этом контексте. Начинающие программисты нередко игнорируют или неверно понимают связь грамматики и семантики ЯП, что приводит не только к ошибкам синтаксиса, но и к смысловым ошибкам.

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

В обнаружении смысловых ошибок диагностическая система помогает меньше, чем синтаксических. Остается тщательно просмотреть структурную схему и текст исходной программы. После исправления бросающихся в глаза ошибок (учтены не все операнды в выражении и т. д.) могут остаться более завуалированные. Основные виды таких ошибок — неправильная расстановка скобок в сложных выражениях, лишние или недовыполненные повторения цикла, путаница со знаками неравенств при проверке условий, нарушение при обмене параметрами с подпрограммами, наличие неинициализированных или неверно инициализированных данных.




Поделиться с друзьями:


Дата добавления: 2014-01-05; Просмотров: 225; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.