Войти на сайт ( )
[Вход] [Регистрация]
Компьютеры » Программирование » Структура и реализация макроязыков [Gaist-Endruy]
[Обновить]
[ Ответить ]
[Добавить в закладки]
Страница: 1, 2, 3 ... 11, 12, 13, 14
Gaist-Endruy ( off )
( 09:46 24-03-2009 )
АЛГОРИТМ
Однопросмотровый макроассемблер
Начало алгоритма

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
МТДС = 0
МНТС = 0
ФЛАГ ВЫХОДА = 0
цикл пока !(ФЛАГ ВЫХОДА) {
чтение следующей строки ВХТ
НАЙДЕНО = поиск кода в МНТ
если (НАЙДЕНО) {
МДИ = 1
УКАЗАТЕЛЬ = индекс из МНТ
Заполнение списка параметров АЛА
цикл {

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
УКАЗАТЕЛЬ ++

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
чтение след. строки из МДТ
подстановка параметров
вставка во ВХТ
} пока !(операция MEND)
иначе если !(операция MACRO) {
вывод строки в ВЫХТ1
если (операция END) ФЛАГ ВЫХОДА = 1
}
иначе {
чтение идентификатора
запись имени и индекса в МНТ
МНТС ++
приготовить массив списка АЛА
запись имени в МДТ
МДТС ++

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
цикл {
чтение следующей строки ВХТ
подстановка индекса операторов
добавление в МДТ
МДТС ++
} пока !(операция MEND)
}
}
конец алгоритма

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
ОПИСАНИЕ АЛГОРИТМА

Gaist-Endruy ( off )
( 09:47 24-03-2009 )
данный алгоритм является упрощением алгоритма приведенного в [1]. Различие состоит в том, что современные средства интеллектуализации программирования дают нам возможность осуществлять вставки и удаления из крупных массивов с минимальными затратами процессорного времени, что было невозможно при использовании перфокарт.

Gaist-Endruy ( off )
( 09:48 24-03-2009 )
Кроме того, скорость работы современных процессоров настолько велика, что позволяет производить прямые вставки и удаления в массивах данных средней величины (скажем, до 64 килобайт) в режиме реального времени. Таким образом, расширение исходного макроса может быть напрямую вставлено в массив исходного текста и обработано в расширенном виде. Такая технология позволяет значительно упростить алгоритм обработки макроязыка.

Gaist-Endruy ( off )
( 09:48 24-03-2009 )
РЕАЛИЗАЦИЯ ВНУТРИ АССЕМБЛЕРА

Gaist-Endruy ( off )
( 09:48 24-03-2009 )
Макропроцессор, описанный нами предназначался для обработки текста в режиме препроцессора, то-есть он выполнял полный просмотр входного текста, до того, как передать управление ассемблеру. Но макропроцессор также может быть реализован внутри первого прохода ассемблера. Такая реализация позволяет исключить промежуточные файлы, и позволяет достичь на порядок большей интеграции макропроцессора и ассемблера путем объединения сходных функций.

Далее »
« Назад
Страница: 1, 2, 3 ... 11, 12, 13, 14
[ Ответить ]
[Обновить]
[Добавить в закладки]
Компьютеры » Программирование » Структура и реализация макроязыков [Gaist-Endruy]
На главную
© s.sasisa.me