Изобретение относится к области вычислительной техники и, в частности, к устройствам для обработки программ, написанных на алгоритмическом языке.
Известно устройство для обработки программ, содержащее форм-ирователь кодов операций, соединенный через формирователь команды с блоком вывода на носитель, блок управления с пультом управления, связанный с блоками хранения символов языка, адресов идентификаторов, описаний идентификаторов, с формирователями кодов операций и команды, с блоком вывода на носитель.
Недостатками известного устройства являются отсутствие предупреждения ошибочных действий оператора, а также отсутствие возможности транслирования программ.
С целью контроля синтаксически правильного продолжения набора программы устройство содержит блок подсветки и блок выделения команды, входы которых соединены с выходами блока управления, соответствующий вход которого соединен с одним выходом блока выделения команды, другой выход которого соединен с другим входом блока подсветки, выходы блоков хранения описаний идентификаторов и символов языка соединены со входами формирователя кодов операций, а выход блока хранения адресов идентификаторов соединен с соответствующим входом формирователя команды.
Блок-схема устройства представлена на чертеже.
Устройство содержит: блок управления 1, блок подсветки 2, блок хранения символов языка 3, блок выделения команды 4, блок хранения адресов идентификаторов 5, блок хранения описаний идентификаторов 6, формирователь кодов операций 7, формирователь команды 8, блок вывода на носитель 9. Устройство работает следующим образом. Перед началом работы лист с написанной программой вставляется в определенное место
пульта управления таким образом, чтобы в окошко была видна только одна строка написанного. На кнопках идентификаторов надписываются те идентификаторы, которые используются в программе.
Транслирование программы происходит в режиме «диалога человека и устройства: устройство анализирует предыдущие действия человека и предлагает ему возможные, синтак-, сически правильные продолжения набора программы, из которых человек выбирает нужное. Например; нажали на пульте управления кнопку, на которой написано «начало. После этого будут подсвечены кнопки описателей. Если же нажата одна из кнопок описателей,
то будут подсвечены кнопки идентификаторов. При нажатии на кнопку идентификатора код выбранной кнопки описателя запоминается в регистре описания, который находится в блоке хранения описаний идентификаторов 6. Аналогично происходит набор описаний и в других случаях. Разбиение оператора языка на команды производится с помощыо блока выделения команды 4, работа которого основана на методе графического дробления оператора на части. Суть метода состоит в следующем. Пусть требуется произвести разбиение операторас: (а + b)l(d - К) причем в команде должно быть два оператора и код операции. Подчеркивание означает: «выполнить выделенную команду и результат оставить на регистре. Линия с буквой I в разрыве указывает, что содерЖИмое регистра необходимо заслать в t-ую рабочую ячейку. Распределение линий по уровням показывает, в какой последовательности выполнять команды: чем выще расположение линии, тем раньше выполнится указанная команда. В устройстве этот метод реализуется с помощью блока выделения команды 4 и блока подсветки 2. Под окошко.м на пульте управления находится ряд неподвижных контактов и подвижный контакт, соединенные с блоком выделения команды 4, с помощью которых производится выделение команды. Проводя нодвил ным контактом по неподвижным, замыкаем электрическую цепь ив блок выделения команды 4 поступает информация, что команда выделена и в каком месте окощка находится выделенная команда. Получив эту информацию, блок выделения команды 4 посылает сигнал в блок подсветки 2. По этому сигналу блок подсветки 2 выключит подсветку всего окощка и оставит включенной подсветку того места окошка, где находится выделенная команда. После того как выделенная команда будет набрана, блок управления 1 посылает сигнал в блок подсветки 2. По этому сигналу блок подсветки включит подсветку всего окощка и выключит подсветку того места, где находится уже набранная команда, и до конца набора оператора это место окощка подсвечиваться больще не будет. Таким образом, устройство для транслирования программ указывает, какие части оператора набраны, а какие еще предстоит набрать. Пабор команды происходит следующим образом. Блок управления 1, получив сигнал о выделении команды от блока 4, носылает сигнал в блок подсветки 2. По этому сигналу блок подсветки 2 включит подсветку кнопок идентификаторов. Человек нажимает кнопку идентификатора, участвующего в команде. Пажатие нопки идентификатора служит сигналом для пересылки адреса идентификатора из блока ранения адресов идентификаторов 5 в формирователь команды 8 и для пересылки опиания этого идентификатора из блока хранения описаний 6 в формирователь кодов опеаций 7. Сигнал нажатия кнопки поступает также в блок управления 1. Получив этот сигнал, блок управления 1 посылает сигнал в блок подсветки 2. По этому сигналу блок подсветки выключает подсветку кнопок идентификаторов и включает подсветку кнопок, на которых написаны символы операций. Человек нажимает кнопку операции, участвующей в команде. Нажатие кнопки операция служит сигналом для нересылки кода операции из блока хранения символов языка 3 в формирователь кодов онераций 7. Сигнал нажатия кнопки операции поступает также в блок управления 1. Получив этот сигнал, блок управления 1 посылает сигнал в блок подсветки 2. По этому сигналу блок-подсветки 2 выключает подсветку кнопок операций и .включает подсветку кнопок идентификаторов. Человек нажимает кнопку второго идентификатора, участвующего в команде. Формируются те же сигналы, что и при нажатии кнопки нервого идентификатора. Блок управления 1, получив сигнал нажатия кнопки идентификатора, посылает сигналы в блок подсветки 2, а также в формирователь кодов операций 7. Блок подсветки 2, получив сигнал, выключает подсветку кнопок идентификаторов. Формирователь кодов операций 7 по полученному сигналу пересылает сформированный код операции в формирователь ко.манды 8, который, закончив работу, пересылает сформированную команду в блок вывода на носитель 9 и носылает сигнал об этом в блок управления 1. Получив этот сигнал, блок управления 1 посылает разрещающий сигнал в блок вывода на носитель 9. Закончив вывод, блок вывода на перфоленту посылает сигнал об этом в блок управления 1. Получив этот сигнал, блок управления 1 разрещает набор новой команды. Предмет изобретения Устройство для транслирования програМлМ, содержащее формирователь кода операций, соединенный через формирователь команды с блоком вывода на носитель, блок управления, соединенный с блоками хранения символов языка, адресов идентификаторов, описаний идентификаторов, с формирователями кодов операщий и команды, с блоком вывода на носитель, отличающееся тем, что, с целью контроля синтаксически правильного нродолжения набора программы, устройство содержит блок подсветки и блок выделения команды, входы которых соединены с выходами блока управления, вход которого соединен с одним выходом блока выделения команды, другой выход которого соединен с другим входом
блока подсветки, выходы блоков хранения описаний идентификаторов и символов языка соединены со входами формирователя кодов
операций, а выход блока хранения адресов идентификаторов соединен с соответствующим входом формирователя команды. ,
Даты
1974-07-15—Публикация
1972-08-15—Подача