Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3 часть.doc
Скачиваний:
4
Добавлен:
16.07.2019
Размер:
783.87 Кб
Скачать

На выходе из синтаксического анализатора получим:

  1. Длина констант типа int

  2. Таблица констант типа int

  3. Длина констант типа real

  4. Таблица констант типа real

  5. Длина переменных типа int

  6. Таблица переменных типа int

  7. Длина переменных типа real

  8. Таблица переменных типа real

  9. Длина ОПС

  10. ОПС

При реализации процедур и функций у нас в языке появляются Описания и Вызовы.

Вызовы функций – операнды в формулах.

Вызов процедур как и во всех языках.

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

Тогда ОПС может иметь такой вид:

Pr(a,b,c,d);

Если считать что в момент вызова порядок операндов не меняется, то:

Pr – имя процедуры, операнд

Нужно предусмотреть счетчик количества параметров в вызове процедуры (4).

Pr abcd 4 сall точка возврата

Сall – универсальная процедура вызова

«Возврат из процедуры» – операция, должна стоять в конце процедуры, должна привести стек в такой вид, который был до вызова.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]