Устройство для транслирования программ

Иллюстрации

Показать все

Реферат

 

л

ОП ИСАНИЕ (ц)а о а

ИЗОБРЕТЕНИЯ

Союз Советских

Социалистических

Республик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ (61) Дополнительное к авт. свид-ву (22) Заявлено24.12.75 (21) 2322555/18-24 с присоединением заявки № (23) Приоритет (43) Опубликовано05.06.78.Бюллетень №21 (45) Дата опубликования описания 25.%78 (51) М. Кл.

Cj 06 F 15/20

Государственный комитет

Совета Министров СССР по делам изобретений и открытий (53) УДК 681.325 (088.8) (72) Авторы изобретения

А. М. Брежнев, М. И. Лурье и В. В. Фоменко

Новочеркасский ордена Трудового Красного Знамени политехнический институт ии. Серго Орджоникидзе (71) Заявитель (54) УСТРОЙСТВО ДЛЯ ТРАНСЛИРОВАНИЯ ПРОГРАММ

15

25

1 13oáðåTåHèå относится к области вычислительной техники и может быть использовано д,"я обработки выражений алгоритмического

s.ëûêà..

Известно устройство для транслирования программ, записанных на языке АЛГОЛ (1), содержащее дешифратор основных синтаксических понятий, триггеры регистров поля анализа, логическую схему сброса триггеров регистра поля анализа, логическую схему перехода на новое поле анализа и логическую схему запуска триггеров регистра поля анализа.

Недостаток устройства состоит в больших затратах оборудования для его реализации.

Наиболее близким к изобретению по технической сущности и достигаемому положительному результату является устройство для транслирования программ (2), содержащее блок хранения символов языка, блок хранения адресов идентификаторов, блок выделения команды и блок подсветки.

Недостатками устройства являются большие затраты оборудования на его реализацию, а также необходимость внесения изменений в устройство при смене грамматики алгоритмического языка, что сужает функциональные воз можности устройства.

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

Поставленная цель достигается тем, что предложенное устройство содержит дешифратор состояний, регистр состояний, блок хранения кодов операций базисной машины, буферный регистр и блок связи с цифровой вычислительной машиной (LIBM). С первого по пятый выходы дешифратора состояний соединены соответственно со входами блока хранения символов языка, блока хранения адресов идентификаторов и блока выделения команды, с первыми входами блока подсветки и блока связи с ЦВМ, второй вход, первый и второй выходы которого соединены соответственно с первым выходом буферного регистра, с первым входом дешифратора состояний и первым входом буферного регистра. Первые выходы блоков хранения символов языка, хранения адресов идентификаторов и выделения команды соединены с кодовыми входами регистра состояния, управляющий вход которого и выход соединены соответственно со вторым выходом буферного регистра и со вторым входом дешифратора состояний. Вторые выходы блоков хранения символов языка, хранения адресов идентификато610113 ров и выделения команды соединены соответственно со входом блока хранения колов операций базисной машины, со вторым и третьим входами буферного регистра, четвертый вход и третий выход которого соединены соответственно с выходом блока хранения кодов операций базисной машины и со вторым входом блока подсветки, а вход-выход блока связи с

ЦВМ является входом-выходом устройства.

Структурная схема устройства представлена на чертеже.

Устройство для транслирования программ содержит блок хранения символов языка I, блок хранения адресов идентификаторов 2, блок 3 связи с ЦВМ, буферный регистр 4, блок подсветки 5, регистр состояний 6 с кодовыми входами У и управлякнцим входом 8, дешифратор состояний 9, блок 1О хранения кодов операций базисной машины и блок выделения .команды 11

Устройство работает следующим образом.

Перед началом работы лист с написанной программой вставляют в определенное место панели управления устройством (на чертеже

° не показана) таким образом, чтобы в окошко, на панели была видйа одна строка написанного.

На панели управления устройством расположены клавиатура, соединенная с блоком хранения символов языка 1, клавиатура, соединенная с блоком хранения адресов идентификаторов 2, и служебная клавиатура, соединенная с блоком 3 связи с ЦИЯ 12. На клавишах, соединенных с блоком 1, написаны основные символы языка, Надписи изменяются в зависимости от того, с какого языка предстоит выполнить трансляцию, На клавишах, соединенных с блоком хранения адресов идентификаторов 2, написаны идентификаторы, используемые в программе.

С панели управления с помощью блока 3 связи с ЦВМ, устанавливается связь с ЦВМ 12.

По установлении связи в машину передается служебное сообщение, содержащее шифр входного языка, режим работы н информацию для восстановления прерванного процесса трансляции.

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

Собственно, процесс транслирования в системе устройство — ЦВМ разбивается на два этапа: транслирование с алгоритмического языка на язык базисной машины и транслирование с языка базисной машины на язык реальной вычислительной машины. Под яЗыком базисной машины понимается система команд абстрактной вычислительной машины, в которой отдельным конструкциям или операциям алгоритмического языка соответствуют определенные коды.

После получения служебного сообщения

ЦВМ 12 через блок 3 связи с ЦВМ передает в регистр 4 код состояния устройства и информацию для блока подсвслгкн 5. Код состояния передается затем в регистр состояний б. Вместе с кодом состояния ЦВМ выдает сигнал, разрешающий работу дешнфратора состояний 9. Дешифратор состояний 9. расшифровав содержимое регистра состояний 6, выдает сигнал в блок подсветки 5. Блок подсветки 5, в соответствии с информацией, содержащейся в регистре 4, выполняет подсветку определенных клавиш на панели управления либо определенных мест окошка.

Например, в начале трансляции подсвечены один илн несколько символов, с которых может начинаться программа, написанная иа алгоритмическом языке, выбрана и нажата клавиша нужного символа, Блок хранения символов языка 1 вырабатывает признак символа, вызывающий формирование в блоке 10.хранения кодов операций базисной машины соответствующего кода, передаваемого в регистр 4. Кроме того, блок 1 вырабатывает код, изменяющий содержимое регистра состояний б. После этого дешифратор состояний 9 выдает сигнал в блок 3 связи с ЦИМ. По этому сигналу содержимое регистра 4 через блок 3 связи с ЦВМ передается в ЦВМ, после чего устройство переходит в режим ожидания. По специальной программе, входящей в состав математического обеспечения ЦВМ, производится анализ полученного сообщения и выдаются возможные синтаксически правильные продолженич набираемой программы, которые определяют код состояния уст.ройства н информацию для блока подсветки 5.

30 Разбиение оператора языка на команды проводится с помощью блока выделения команды 11 и блока подсветки 5. В основу разбиения положен метод графического дробления оператора на части.

Выделение команды производится- следующим образом.

Под окошком на панели управления находится ряд неподвижных контактов н подвижный контакт, соединенные с блоком выделения команды l I. Проводя подвижным контактом по неподвижным, задают в блок 11 информацию о том, в каком месте окошка выделена команда из блока 11. Эта информация поступает в регистр 4. Кроме того, блок выделения команды 11 вырабатывает код, изменяющий содержимое регистра состояний 6. Дешифра. тор состояний 9, расшифровав содержимое регистра состояний 6, выдает сигнал в блок 3 связи с UBM, По этому сигналу, содержимое регистра 4 через блок 3 связи с ЦВМ передается. в ЦВМ, которая после анализа полученного сообщения вырабатывает код следующего состояния устройства и информацию для блока подсветки 5 и передает их через блок 3 связи с ЦВМ в регистр 4. Начинает работу дешифратор состояний 9, После выделения команды подсвечены клаss виши тех идентификаторов, котОрые согласно их описаниям могут принимать участие в наборе команды. При нажатии на клавишу нужного идентификатора в регистр 4 .из блока хранения адресов идентификаторов 2 поступает адрес, соответствующий данному идентификатору, н вырабатывается код, передаваемый

5 в регистр состояний 6. Дешифратор состояний 9 выдает сигнал в блок 3 связи с ЦВМ и цикл связи с ЦВМ повторяется. После этого блок подсветки 5 включает подсветку клавиш тех операций, которые могут участвовать в наборе данной команды. При нажатии на нужную клавишу из блока хранения символов языка 1 в блок 10 хранения кодов операций базисной машины выдается признак операции, После этого блок 10 выдает в регистр 4 код выбранной операции. При этом блок хранения символов языка 1 изменяет содержимое регистра состояний 6, что приводит к выдаче дешифратором состояний 9 сигнала.в блок 3 связи с

ЦВМ. После этого цикл связи с ЦВМ повторяется. Когда команда набрана, ЦВМ выдает разрешение на набор новой команды.

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

Гибкость известного устройства повышена за счет обеспечения устойчивости к изменению грамматики входного языка. В этом случае меняются только надписи на клавишах панели управления и программа анализа в ЦВМ.

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

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

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

10113

Формула изобретения

Устройство для тра нсли рова ния програ мм, содержащее блок хранения символов языка, блок хранения адресов идентификаторов, блок выделения команды и блок подсветки, отличающееся тем, что, с целью сокращения количества оборудования и повышения гибкости путем обеспечения устойчивости к .изменению грамматики входного языка, оно содержит дешифратор состояний; регистр состояний, блок хранения кодов операций базисной машины, буферный регистр и блок связи с цифровой вычислительной машиной (ЦВМ), причем с первого по пятый выходы дешифратора соетояний соединены соответственно со входами блока хранения символов языка, блока хранения адресов идентификаторов, блока выделения команды, с первыми входами блока подсветки и блока связи с ЦВМ, второй вход, первый и второй выходы которого соединены соответственно с первым выходом буферного регистра, с первым входом дешифратора состояний н первым входом буферного регистра; первые выходы блоков хранения символов языка, хранения адресов идентификаторов и выделения-команды соединены с кодовыми входами регистра состояния, управляющий вход которого и выход соединены соответственно со вторым выходом буферного регистра и со вторым входом дешифратора состояний; вторые выходы блоков хранения символов языка, хранения адресов идентификаторов и выделения команды соеди30 иены соответственно со входом блока хранения кодов операций базисной машины, со вторым и третьим входами буферного регистра, четвертый вход и третий выход которого соединены соответственно с выходом блока хранения кодов операций базисной машины и со вторым входом блока подсветки, а вход-выход блока связи с ЦВМ является. входом-выходом устройства.

Источники информации, принятые во внимание при экспертизе:

l Авторское свидетельство СССР ¹ 91230, кл. G Об.F ll/00, !965.

2. Авторское свидетельство СССР № 436356, кл. G 06 F 15/20, 1972.

ЦНИИ ПИ Заказ 30l2 38 Тираж 826

Филиал ЛПП «Патент», г. Ужгород, ул. Проектная. 4

Цодпис кое