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