(54) УСТРОЙСТВО ДЛЯ ТРАНСЛИРОВАНИЯ ПРОГРАММ
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ ТРАНСЛИРОВАНИЯ ПРОГРАММ | 1972 |
|
SU436356A1 |
УСТРОЙСТВО ДЛЯ ТРАНСЛЯЦИИ ПРОГРАММ | 1969 |
|
SU257151A1 |
Процессор, структурно ориентированный на алгоритмический язык | 1975 |
|
SU556445A1 |
ФОРМУЛЬНЫЙ ПРОЦЕССОР С КОМАНДОПОДОБНЫМИ ЛОГИЧЕСКИМИ УПРАВЛЯЮЩИМИ ЭЛЕМЕНТАМИ | 1997 |
|
RU2143726C1 |
Устройство для ввода данных | 1976 |
|
SU564630A1 |
СПОСОБ КОМПОНОВКИ (СБОРКИ) ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ | 2005 |
|
RU2306597C2 |
Транслятор языков программирования | 1981 |
|
SU1387018A1 |
Устройство для лексического анализа | 1976 |
|
SU690497A1 |
Микропрограммное устройство для анализа программ | 1980 |
|
SU943729A1 |
Система для трансляции с проблемноориентированного языка | 1976 |
|
SU674028A1 |
1
Изобретение относится к области вычислительной техники и может быть использовано для обработки выражений алгоритмического языка. .
Известно устройство для транслирования программ, записанных на языке АЛГОЛ 1, содержащее дешифратор основных синтаксических понятий, триггеры регистров поля анализа, логическую схему сброса триггеров регистра поля анализа, логическую схему перехода на новое поле анализа и логическую схему запуска триггеров регистра поля анализа.
Недостаток устройства состоит в больших затратах оборудования для его реализации.
Наиболее близким к изобретению по технической сущности и достигаемому положительному результату является устройство для транслирования программ 2, содержащее блок хранения символов языка, блок хранения адресов идентиф.чкаторов, блок выделения команды и блок подсветки.
Недостатками устройства являются большие затраты оборудования на его реализацию, а также необходимость внесения изменений в устройство при смене грамматики алгоритмического языка, что сужает функциональные возможности устройства.
Цель изобретения - сокращение количества оборудования и повышение гибкости путем обеспечения устойчивости к изменению грамматики входного языка.
Поставленная цель достигается тем, что предложенное устройство содержит дешифратор состояний, регистр состояний, блок хранения кодов операций базисной машины, буферный регистр и блок связи с цифровой вычислительной машиной (ЦВМ). С первого по пятый выходы дептфратора состояний соединены соответственно со входами блока хранения символов языка,блока хранения адресов идентификаторов и блока Выделения команды, с первыми входами блока подсветки и блока связи с ЦВМ, второй вход, первый и второй выходы которого соединены соответственно с первым выходом буферного регистра, с первым входом дешифратора состояний и первым входом буферного регистра. Цервые выходы блоков хранения символов языка, хранения адресов идентификаторов и выделения команды соединены с кодовыми входами регистра состояния, управляющий вход которого и выход соединены соответственно со вторым выходом буферного регистра и со вторым входом дешифратора состояний. Вторые выходы блоков хранения символов языка, хранения адресов идентификаторов и выделения команды соединены соответственно со входом блока хранения кодов операций базисной машины, со вторым и третьим входами буферного регистра, четвертый вход н третий выход которого соединены соответственно с выходом блока хранения кодов операцнй базисной машины н со вторым входом блока подсветки, а вход-выход блока связи с ЦВМ является входом-выходом устройства.
Структурная схема устройства представлена на чертеже.
Устройство ДЛ.Я транслирования программ содержит блок хранения символов языка I, блок хранения адресов идентификаторов 2, блок 3 связи с ЦВМ, буферный регистр 4, блок подсветки 5, регистр состояиий 6 с кодовыми входами 7 и управляющим входо.ч 8, дешифратор состояиий 9, блок iO хранения кодов операций базисной машины и блок выделения команды 11.
Устройство работает c.Jeдyющим образом.
Перед началом работы лист с написанной программой вставляют в определенное место панели управления устройством (на чертеже не показана) таким образом, чтобы в окошк , на панелн была видна одна строка написанного. На панели управления устройством расположены клавиатура, соединенная с блоком хранения символов языка 1, клавиатура, соединенная с блоком хранения адресов идентификаторов 2, и служебная клавиатура, соединенная с блоком 3 связи с ЦВМ 12. На клавишах, соединенных с блоком I, написаны основные символы языка. Надписи изменяются в зависимости от того, с какого языка предстоит выполнить трансляцию. На клавишах, соединенных с блоком хранения адресов идентификаторов 2, написаны идентификаторы, используемые в программе.
С панели управления с помош ью блока 3 связи с ЦВМ, устанавливается связь с ЦВМ 12. По установлении связи в машину передается служебное сообщение, содержащее шифр входного языка, режим работы и информацию для восстановления прерванного процесса трансляции.
Устройство работает в двух режимах работы: режиме начала трансляции, когда программа не имеет ни одного ранее оттранслированного блока, и в режиме продолжеиия трансляции, когда программа траислируется поэтапно. В первом режиме работы информация для восстановления трансляции может отсутствовать.
Собственно, процесс транслирования в системе устройство - ЦВМ разбивается на два этапа: транслирование с алгоритмического языка на язык базисной машины и транслирование с языка базисной машины на язык реальной вычислительной машины. Под языком базисной машины понимается система команд абстрактной вычислительной машины, в которой отдельным конструкциям или операциям алгоритмического языка соответствуют определенные коды..
После получения служебного сообщения ЦВМ 12 через блок 3 связи с ЦВМ передает в регистр 4 код состояния устройства и информацню для блока подсветки 5. Код состояния передается затем в регистр состояний 6. Вместе с кодом состояния ЦВМ выдает сигнал, разрешающий работу дешифратора состояний 9. Дешифратор состояний 9, расшифровав содержимое регистра состояний 6, выдает сигнал в блок подсветки 5. Блок подсветки 5, в соответствии с информацией, содержащейся в регистре 4, выполняет подсветку определенных клавиш на панели управления либо определенных мест окошка.
9
Например, в начале трансляции подсвечены один или несколько символов, с которых может начинаться программа, написанная на алгоритмическом языке, выбрана и нажата клавиша нужного символа. Блок хранения символов языка 1 вырабатывает признак символа, вызываюшнй формирование в блоке 10 хранения кодов операций базисной машины соответствующего кода, передаваемого в регистр 4. Кроме того, блок 1 вырабатывает код, изменяющий содержимое регистра состояний б. После этого дешифратор состояний 9 выдает сигнал в блок 3 связи с ЦВМ. По этому сигналу содержимое регистра 4 через блок 3 связи с ЦВМ передается в ЦВМ, после чего устройство переходит в режим ожидания. По специальной программе, входящей в состав математического обеспечеSния ЦВМ, производится анализ полученного сообщения и выдаются возможные синтаксически правильные продолжения набираемой программы, которые определяют код состояния устройства и информацию для блока подсветки 5.
Разбиение оператора языка на команды про0водится с помощ-ью блока выделения команды i 1 и блока подсветки 5. В основу разбиения положен метод графического дробления оператора на части.
Выделение команды производится следую5щим образом.
Под окошком на панели управления находятся ряд неподвижных контактов и подвижный контакт, соединенные с блоком выделения команды II. Проводя подвижным контактом по неподвижным, задают в блок И информа0цию о том, в каком месте окошка выделена команда из блока 11. Эта информация поступает в регистр 4. Кроме того, блок выделения команды 11 вырабатывает код, измеияющий содержимое регистра состояний 6. Дешифра-; тор состояний 9, расшифровав содержимое
S регистра состояний 6, выдает сигнал в блок 3 связи с ЦВМ. По этому сигналу, содержнмое регистра 4 через блок 3 связи с ЦВМ передается в ЦВМ, которая после анализа полученного сообщения вырабатывает код следующего
0 состояния устройства и информацию для блока подсветки 5 и передает их через блок 3 связи с ЦВМ в регистр 4. Начинает работу дешифратор состояний 9.
После выделения команды подсвечены клавиши тех идентификаторов, которые согласно
5 их описаниям могут принимать участие в наборе команды. При нажатии на клавишу иужного идентификатора в регистр 4 .из блока хранения адресов идентификаторов 2 поступает адрес, соответствующий данному идентифи0катору, и вырабатывается код, передаваемый
Авторы
Даты
1978-06-05—Публикация
1975-12-24—Подача