Главная > Документ


Оболочка языка ФРАК определяет:

  • классы только тех структур данных, над которыми в архитектуре ВМ и ОС определены операции и которые определяютпредметную область прикладного или системного программирования;

  • операции и операторы (составные операторы), сокращающие наборыопераций или операторов ядра языка ФРАК;

  • операторы обмена или управления, процедуры которых описаны средствами ядра языка ФРАК;

  • операторы мультиобработки, обработки прерываний и связи с управляющими подпрограммами, написанными на языке ядра;

  • аппарат макросредств (макроопределения и макрокоманды), не требующий перетрансляции; подстановка макроопределений вместо макрокоманд должна осуществляться одновременно с трансляцией исходного текста программы.

Семантика языка ФРАК содержит таблицу сопоставления символов и кодов операций, арифметику типов данных для всех операций, методы раскрутки рекурсивных определений и условия идентификации лексем всех сортов. Прагматика языка ФРАК включает (кроме количественных ограничений на языковые конструкции) описание программ и данных, точных эквивалентов внешнего и внутреннего представлений данных, характеристик быстродействия операций и способов оптимального использования всех конструкций языка.

Именно так порождается структура языка ФРАК в результате сопоставления архитектуры ВМ и средств ЯВУ. Эти же сопоставления порождают алгоритмы транслирующей системы. Сами сопоставления сведены в приводимую ниже таблицу.

Использование языка ФРАК. Практически была разработана технология создания и реализации семейства языков, с одной стороны, высокого уровня, а с другой стороны, ориентированного на архитектуру ВМ [Красилов78б]. Проекция архитектуры ВМ на ЯВУ означает, что в ФРАК используются только те базовые операции ЯВУ, которые реализуются в кодовой программе по схеме 1:1. Структура языков семейства ФРАК (это также способствует пониманию языков ФРАК) выявляется при сопоставлении объектов языка, машины и действий в транслирующей системе. Сравним ЯВУ и языки семейства ФРАК:

  • семантика не зависит от ВМ - машинно-зависимая семантика,

  • неадекватность примитивов языка и архитектуры ВМ - полное соответствие примитивов языка примитивам архитектуры ВМ,

  • оптимизация программы достигается вариацией применяемых операторов - оптимизация заложена в определении языка,

  • ограничитель требует емкой командной интерпретации - ограничитель соответствует одной команде,

  • употребление идентификатора может предшествовать его описанию - описание идентификатора должно предшествовать его употреблению.

По другим параметрам имеется полное или частичное соответствие языков, как в определении языка, так и по его примитивам. Конкретное сопоставление приведено ниже в таблице.

Таблица. Сопоставление элементов языка ФРАК и архитектуры ВМ

п/п

Конструкция языка

Конструкция ВМ

Операции транслятора

1

Идентификатор

Адрес

Распределение памяти, идентификация, формирование таблиц лексем

2

Константа

Данное

Формирование команд с непосредственными данными

3

Индекс

Регистр

Распределение памяти на регистрах

4

Формульный тип

Форматы данных

Идентификация операций и операций

5

Формула

Форматы команд

Распределение командной памяти

6

Ссылки

Косвенный адрес

Программирование приведений и балансировка типов

7

Операция

Коды операций

Программирование формул

8

Описание величины

Операции процедуры возврата

Распределение памяти

9

Оператор процедуры

Операции перехода с управления и возвратом передачи параметров

Программирование

10

Математические операции

Экстракоды

Программирование функции обращений к экстракодам

11

Стандартные идентификаторы

Определение форматов команд

Программирование операций с регистрами

12

Ядро Алгол-68

Форматы данных и команды преобразования данных

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

13

Присваивание

Команды записи и чтения данных

Арифметика типов с балансировкой

14

Циклы

Операции перехода

Раскрутка рекурсивных определений операторов

15

Условный оператор

Команды условного перехода

Порождение схемы программы, раскрутка рекурсивных определений операторов

16

Оператор выбора

Команды условного перехода

Порождение схемы программы

17

Оператор останова

Команды управления процессорами

Организация мультиобработки и режимов прерывания

18

Оператор выхода

Команда перехода

Организация выхода из модуля

19

Оператор перехода

Команда передачи управления

Порождение схемы программы

20

Метка

Адрес команды

Формирование таблицы переходов

21

Синонимы

Отождествление адресов

Совмещение памяти

22

Параллельные процессы

Команды управления

Организация мультиобработки процессорами

23

Операторы

Команды параллельного запуска

Организация мультиобработки

24

Модуль

Команды управления и восстановления состояний

Формирование данных для загрузчика и архивной системы

25

Общие величины

Базовые регистры

Формирование таблиц базирования данных

В таблице перечислены только некоторые важные элементы языка и программ. Важно отметить, что табличное сопоставление указывает на хорошую технологию формирования как самого языка ФРАК для данной ВМ, так и подход к проектированию системы трансляции языка в объектный код машины. Важное требование: структура языка ФРАК целиком должна зависеть от архитектуры ВМ, отступление хотя бы от одного элемента архитектуры означает отход от сущности языка ФРАК. Также важно, что языки ФРАК внешне существенно отличаются от языков ассемблера и напоминают своими многими средствами ЯВУ.

Из такого беглого сопоставления видны преимущества языков семейства языков ФРАК перед ассемблерными языками по изобразительным средствам, а по сравнению с ЯВУ - по эффективности реализации. В этом подведении итогов сравнения видны глобальные преимущества ФРАК. Следует упомянуть и о недостатках языков ФРАК: машинная зависимость ограничивает (и притом существенно) переносимость программ и данных, осуществляется локальная организация разработок программного обеспечения встроенных ВМ, обычно имеющих ограниченное распространение, некоторая жесткость конструкций языка приводит к ограничениям представлений проблемной области, частично остается необходимость в кодовом представлении некоторых команд и данных.

Принципиальная возможность формирования семейства языков ФРАК заложена во взаимно однозначном соответствии примитивов языков программирования элементам архитектуры ВМ. Можно сказать, что языки ФРАК являются алгебраическим выражением архитектуры ВМ. Соответствие можно подтвердить сопоставлениями, представленными в таблице:

Пункт

Язык ФРАК

Архитектура ВМ

1

метаязык

Техническое описание

2

данные

память

3

константы

командная память

4

синтаксический анализатор

дешифратор

5

выражение

арифметическое устройство

6

арифметика типов

аппаратура контроля

7

условия

логический процессор

8

операторы управления

устройство управления

9

операторы ввода-вывода

устройство ввода-вывода

10

описание

конфигурация оборудования

11

комментарий

пультовая индикация

12

операторы отладки

пульт ВМ

13

арифметика типов

аппаратура контроля

Дадим общее замечание: представляет интерес такое сопоставление Интеллсист и архитектур новых ВМ. Сопоставление будет рассмотрено в томе 7.

Создание языков ФРАК базируется на следующих принципах:

  • обязательное полное соответствие примитивов языка ФРАК и данных всем элементам архитектуры ВМ;

  • систематическое использование рекурсивных определений, не требующих при раскрутке дополнительных машинных команд кроме тех, которые используются при программировании в кодах;

  • использование стандартных имен из числа имен всех базовых элементов архитектуры ВМ;

  • разделение совокупности операций на 4 группы, охватывающих все функции архитектуры ВМ;

  • использование общеупотребительных в программировании обозначений для переменных, ключевых слов, констант и операций;

  • формирование ядра языка ФРАК и возможностей его расширения операциями, не ухудшающих производительность программ;

  • использование возможности подключения кодовых данных и структур для прямого кодового программирования (если это крайне необходимо) специальных подпрограмм обмена или управления;

  • описание языка должно обеспечивать трансляцию записей в 1 - 2 прохода (определение объекта программы должно предшествовать его использованию в программе);

  • учет всех возможностей и конструкций, имеющихся и планируемых языков программирования высокого уровня, без потери эффективности программ;

  • максимальный учет пользовательских запросов на обозначения и применения объектов языка, определяемых областью использования ВМ.

Критериями отбора конструкций языка ФРАК следует считать: полный охват возможностей архитектуры примитивами языка и данных, использование гибких форматов для учета частностей языка; максимальная оптимальность кода после трансляции; максимальное отражение в мнемонике языка его потребительских свойств. К этому необходимо добавить оценку средств ФРАК «самой» архитектурой ВМ с позиций системного программиста, программиста и пользователя. Соотношение средств или методов программирования и архитектуры способствует эффективному логическому проектированию ВМ, поскольку разработка языка ФРАК и соответствующей системы программирования может предшествовать разработке ВМ. Обычно со встроенными ВМ это и происходит. Для языка ФРАК обычно создается кросс-система или косвенная операционная система программирования еще до реализации разработок встроенной ВМ [Красилов74а, 74б].



Скачать документ

Похожие документы:

  1. Информатика в семи томах том 3 концептуальная информатика

    Документ
    Информатика как наука имеет свой лексикон, который еще не устоялся и находится в развитии. В томе продолжается раскрытие понятие смысла текстов, используемых в информатике, через изучение смысла понятия.
  2. Информатика в семи томах том 6 методы информатики

    Документ
    Каждая наука является коллекцией своих методов. Информатика также включает в состав своих инструментов методы изобретания, проектирования, разработки и сопровождения любого объекта с помощью средств вычислительной техники, способствующие
  3. А а красилов информатика в семи томах том 4 представление знаний

    Документ
    Излагается неформальное описание представления знаний различных видов на языке профессиональной прозы. Описание дано в полном соответствии с формальным изложением языка в томе 2.
  4. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    Книга дает начальные сведения о новом определении информатики. Они необходимы для получения представлений о возможностях СВТ и человека, использующего или желающего использовать свой компьютер для принятия интеллектуальных решений
  5. А а красилов информатика в семи томах том 1 основы информатики

    Книга
    Книга дает начальные сведения о новом определении информатики. Они необходимы для получения представлений о возможностях СВТ и человека, использующего или желающего использовать свой компьютер для принятия интеллектуальных решений
  6. Том 7 интеллектуальные системы (системы решения проблем) москва 1997 -2003

    Документ
    Последний том посвящается проблемам интеллектуализации в деятельности человека на основе информатики. Инструментом повышения уровня интеллектуальной деятельности является Интеллсист.

Другие похожие документы..