Ббк 32. 973-018 г рецензент канд физ мат наук, Ф. А. Мурзин
Парадигматическая характеристика языка Forth
Download 278.16 Kb.
|
FIT-Gor-PP3
Парадигматическая характеристика языка Forth
Продукционная макротехника Макротехника дает весьма мощные, но не вполне безопасные средства повышения выразительности ЯП. Для макропроцессоров семантика ЯНУ обычно сопровождает средства работы со строками в стиле открытых процедур. Программа представляет собой поток макроопределений и макровызовов. Имена макросов могут рассматриваться равноправно с базовыми средствами. При определении и реализации макросов используется понятие позиции и шаблона для подстановки параметров. Встречается стиль нумерации позиций, который позволяет обойтись без их именования в виде переменных. В результате подстановки макросов формируется текст, равноправный с исходным, возможно, содержащий вторичные макросы. Макропроцессор часто используется в паре с ассемблером (макроассемблер) и другими ЯП. В качестве опорных рассмотрены макропроцессоры GPM, TRAC, а также два макропроцессора из системы подготовки программ на языке SETL. Для автономных макропроцессоров характерны специальные механизмы регулярного конструирования различимых текстов: управляющие символы; счетчики; генераторы уникальных значений; блоки активности (разметка); встроенные функции; управление вводом-выводом. Большинство макропроцессоров допускают переменные макропериода – глобальные и локальные макропеременные. Для макропроцессора программа – это содержащий макровызовы текст, при обработке которого программа преобразуется в новый текст программы, полученный в результате макропреобразований: Макро = (Прог = Текст): Прог → Прог' Интерпретатор макропроцессора при последовательном сканировании текста выделяет в нем следующие категории строк: макроопределение, которое следует поместить в таблицу макросов (c → e); макровызов без параметров, определение которого следует скопировать из таблицы в результат (e → c); макровызов с параметрами, значения которых следует установить, а затем подставить в буферную копию определения, и преобразованное определение разместить в результат (e → p → c); простая строка, сохраняемая в результате без преобразований; конец текста. Абстрактный синтаксис макротекстов показывает появление функций с произвольным числом параметров, открыто подставляемых в шаблон определения. (DEF Name Arg1 Arg2 … ArgN Patern) – разделители и ограничители сняты при переходе к АС. (Name Txt1 Txt2 … TxtN) – однократная открытая подстановка текстов в место соответствующих аргументов. Спецификация команд абстрактной машины макропроцессора может быть задана парой Таблица 19 Download 278.16 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling