Читать курсовая по Отсутствует: "Синтаксический анализатор" Страница 3

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

-

:=

:=ε|*|/

:=||(< простое выражение>)|

:=()

:=

:=ε| or

:=

:=ε|and

:=|()||not

:=

:=|=||=

.2 Описание семантики входного языка

Представление данных различных типов в оперативной памяти

Тип

Размер, байт

Диапазон значений

Integer

2

-32768..32767

Char

1

-128…127

Входной язык также поддерживает ограниченный тип.

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

Операции входного языка и их приоритет

Операции перечислены в порядке убывания приоритета. Операции выполняются без учета переполнения.

Знак операции

Порядок выполнения и особенности использования

Семантический смысл

-

Слева направо, Унарный

Унарный минус, определен для числовых переменных, возвращает переменную такого же типа, что и получает. Меняет знак числа на противоположный.

*

Слева направо, Бинарный

Умножение, определено для числовых переменных. Результат вычисляется в наибольшем типе среди указанных операндов

/

Слева направо, Бинарный

Деление с отбрасыванием дробной части, определено для числовых переменных. Результат вычисляется в наибольшем типе среди указанных операндов

+

Слева направо, Бинарный

Сложение, определено для числовых переменных. Результат вычисляется в наибольшем типе среди указанных операндов

-

Слева направо, Бинарный

Вычитание, определено для числовых переменных. Результат вычисляется в наибольшем типе среди указанных операндов

=, , , =

Слева направо, Бинарный

Операции сравнения, определены для числовых переменных. Необходимы только для формирования условия

not

Слева направо, Унарный

Логическое НЕ, определено для операций сравнения. Необходимо только для формирования условия

and

Слева направо, Бинарный

Логическое И, определено для операций сравнения. Необходимо только для формирования условия

or

Слева направо, Бинарный

Логическое ИЛИ, определено для операций сравнения. Необходимо только для формирования условия

Конструкции входного языка

Оператор цикла с постусловием repeat-until.

:= repeat until 1. Выполняется оператор (Тело цикла).

2. Вычисляется условие.

. Выполняется переход на пункт 1 в случае, если условие не выполнилось.

Оператор присваивания:=

:=:=

1. Вычисляется выражение, стоящее справа от знака присваивания

2. В случае, если результат получился того же типа, что и переменная, в нее заносится новое значение, иначе результат


Интересная статья: Основы написания курсовой работы