Реферат: Язык программирования Норма
операторов и др. Перед началом этапа синтаксического анализа, длямаксимальной
очистки памяти происходит конвертация начальных таблиц имен и констант. Эти
таблицы поступают на вход следующего этапа, где происходит построение графа
информационных зависимостей, который используется на следуещем этапе при
определение порядка вычислений и разделение на параллельные ветви, независящие
друг от друга. На выходе получаем внутренние коды. Внутренние коды поступают
на вход кодогенерации. Выходом кодогенерации является программа на языке
Фортран.
Для обеспечения доступа к верхней памяти,а также для возможного свопинга
все операции с оперативной памятью осуществляются с использованием библиотеки
функций менеджера памяти, написанной сотрудниками института прикладной
математики.
4 Описание и решение задачи.
4.1 Постановка задачи.
В свете вышесказанного перед нами (группой разработчиков) встала задача
напсания транслятора с языка Норма с использованием инструментальных средств
языка программирования Си и библиотеки функций работы с операивной памятью.
Передо нами (двумя разработчиками) была поставлена задача написания функций
работы с таблицами имен и констант.
4.2 Решение задачи.
Для начального заполнения таблиц имен и констант были выбраны хэш-таблици.
При этом мы проигрывали в использовании оперативной памяти, но выигрывали во
времени (по сравнению с "деревьями"). Учитывая повышенные требования к
использованию памяти нами было рпинято решение по окончанию этапа лексического
анализа (т.е. после того как завершится предварительное заполнение таблиц имен
и констант и нам будет вточности известно количество идентификаторов и констант
используемых в транслируемой программе) провести конвертацию поисковой части
хэш-таблиц в непрерывные массивы фиксированной длины. При этом мы увеличиваем
обшее время трансляции за счет времени конвертации, но выигрываем в использовании