SU1290358A1 - Устройство дл преобразовани выражений в польскую инверсную запись - Google Patents

Устройство дл преобразовани выражений в польскую инверсную запись Download PDF

Info

Publication number
SU1290358A1
SU1290358A1 SU853950536A SU3950536A SU1290358A1 SU 1290358 A1 SU1290358 A1 SU 1290358A1 SU 853950536 A SU853950536 A SU 853950536A SU 3950536 A SU3950536 A SU 3950536A SU 1290358 A1 SU1290358 A1 SU 1290358A1
Authority
SU
USSR - Soviet Union
Prior art keywords
register
shift
block
input
decoder
Prior art date
Application number
SU853950536A
Other languages
English (en)
Inventor
Виталий Константинович Водопьянов
Валерий Николаевич Завьялов
Валерий Николаевич Цымбал
Original Assignee
Предприятие П/Я Р-6668
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Предприятие П/Я Р-6668 filed Critical Предприятие П/Я Р-6668
Priority to SU853950536A priority Critical patent/SU1290358A1/ru
Application granted granted Critical
Publication of SU1290358A1 publication Critical patent/SU1290358A1/ru

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

Изобретение относитс  к вычислительной технике. Целью изобретени   вл етс  повьппение достоверности работы за счет обеспечени  контрол  парности открывающей и закрывающей скобок, принадлежности символов / входного выражени  множеству лексических единиц баланса операторов и операций, обеспечени  классификации ошибок и повьппени  быстродействи . .Устройство содержит регистр 1, депгаф- ратор 2 лексических единиц, блок 3 пам ти, дешифратор 4, блок 5 микропрограммного управлени , реверсивный регистр 6 сдвига, коммутатор 7, рет- гистр 8. 6 ил. нтт W со ел 00 gjuf.t

Description

fO
15
20
25
Изобретение относитс  к вычислиельной технике и может быть испольовано в автоматизированных системах бработки данных и производства программ дл  электронных вычислительных машин (ЭВМ).
Целью изобретени   вл етс  повыение достоверности работы путем беспечени  контрол  парности открыающей и закрывающей скобок, принадежности символов входного выражени  множеству лексических единиц, баланса операторов и операций, обеспечени  классификации ошибок и повыени  быстродействи .
На фиг,1 представлена структурна  схема устройстваз на фиг. 2 - структурна  схема блока пам ти, на фиг.З- структурна  схема блока микропрограммного управлени  на фиг.4 - схема реверсивного регистра сдвига на фиг.5 - схема реверсивного регистра сдвига блока пам ти/ на фиг.6 - блок- схема микропрограммного управлени  устройством.
, Устройство содержит регистр 1 , дешифратор 2 лексических единиц, блок 3 пам ти, дешифратор 4, блок 5 микропрограммного управлени , реверсивный регистр 6 сдвига, коммутатор 7, регистр Sijреверсивные регистры 9 сдвига, программируема  логическа  матрица И 10, программируема  логическа  матрица ИЛИ 11, узел 12 пам ти, элемент ИЛИ 13, гене- 35 ратор 14 тактовых импульсов, триггер 15, элемент 16 задержки, элемент И 17, группу 18 триггеров, группу 1 9 элементов ИЛИ, группу 20 элементов И, группу 21 триггеров, груп- 40 пу 22 элементов ИЛИ, группу 23 элементов И, элемент НЕ 24, узел 25 записи разр да.
Регистр 1 используетс  дл  хране- 45 ни  очередной лексической единицы исходного выражени , дешифратор 2 лексических единиц раздел ет лексические единицы на операнды, операции, скобки.
Блок 3 пам ти - это пам ть с пос- 50 ледовательным безадресным принципом записи и чтени . Дешифратор 4 совместно с блоком пам ти реализуют логическую функцию выработки и сравнени  приоритетов.
5
30
55
Блок 5 микропрограммного управлени  организует взаимодействие всех элементов устройства и его функцио
.нирование описано блок-схемой микропрограммного управлени  (фиг.6), где входные сигналы X , х , х формирует дешифратор 4, сх noxg- дешифратор 2 лексических единиц, х,, х,(,, - блок 6 контрол , сигналы микро- команд с у по y,g формирует блок 5 микропрограммного управлени . Содержательный смысл входных сигналов и микрокоманд следующий:
1, если ход операции, занесенный в старшие разр ды регистров сдвига блока 3 пам ти , имеет больший приоритет , чем код операции, занесенный в предшествующие старшим разр ды регистров - в противном случае.
1.
г
}
если содержимое старших разр дов регистров сдвига блока 3 пам ти равно значению кода Пустой символ О-в противном случае.
1, если содержимое старших разр дов регистров сдвига блока 3 пам ти равно значению кода открывающей скобки
О - в противном случае
1
I О 1.
если очередна  лексическа  единица исходного выражени  есть открывающа  скобкаj
-в противном случае, если очередна  лексическа  единица исходного выражени  есть операнд;
-в противном.случае.
1,
х
х.
если очередна  лексическа  единица исходного выражени  есть операнду О-в противном случае.
если очередна  лексическа  единица исходного выражени  есть закрьшающа с  скобка 0 - в противном случае.
1, если очередна  лексическа  единица исходного выражени  есть конец выражени  j j
О-в противном случае.
1, если содержимое третьего разр да реверсивного ре- гистра 6 сдвига есть едини- ца
О-в противном случае.
, если содержимое первого разр да реверсивного регистра 6 сдвига есть единица5
-в противном случае.
, если содержимое четвертого разр да реверсивного регистра 6 сдвига eqTb единица,
-в противном случае,
разблокировать/ заблокировать регистр 1,
записать содержимое регистра 1 в N-e (старшие) разр ды регистров сдвига блока пам ти;
30
35
сдвинуть влево содержимое регистров сдвига блока пам ти переключить коммутатор 7 на запись из регистра 1j установить начальные значени  20 регистра 6 (значение кода 0100) и регистров сдвига блока 3 пам ти (значение кода О в (N-1) разр дах), выдать сигнал ошибки Отсут- ствует закрывающа  скобка , переключить коммутатор 7 на запись из (N-1) разр дов регистров сдвига блока 3 пам ти J. сдвинуть вправо на один разр д содержимое сдвига блока 3 пам ти-,
переключить коммутатор 7 на запись из N разр дов регистров сдвига блока 3 пам ти, выдать сигнал ошибки Отсутствует открывающа  скобка, выдать сигнал ошибки Лексическа  единица не принадлежит алфавиту лексических единиц }
выдать сигнал ошибки Число операндов равно числу операций . Пропущен операнд J сдвинуть вправо на один разр д содержимое регистра 6,- сдвинуть влево на один разр д содержимое регистра 6;
вьщать сигнал ошибки Число 50 операций больше числа операндов . Пропущен операнд ; вьщать сигнал ошибки Число операндов превьшгает число операций больше чем на единицу. 55 Пропущена операци .
Регистр 6 провер ет наличие и по-  док следовани  лексических единиц
У4 У . у , у
у.
У,о У ..
45,
5
0
5
0
0 5
0
5,
в исходном выражении и совместно с блоком микропрограммного управлени  осуществл ет классификацию ошибок, Коммутатор 7 управл ет передачами лексических единиц, а регистр 8 предназначен дл  хранени  очередной лексической единицы в форме польской инверсной записи. Реверсивные регистры сдвига блока 3 пам ти поразр дно сдвигают код операций и совместно с дешифратором 4 осуществл ют сравнение приоритетов. Программируема  логическа  матрица И 10 совместно с программируемой логической матрицей ИЛИ 11 и узлом 12 пам ти органи- 3iTOT работу блока микропрограммного управлени . Элемент ИЛИ 13 вырабаты- вает сигнал Останов устройства. Генератор 14 тактовых импульсов совместно с триггером 15 и элементом И 17 организуют сигналы запуска устройства. Элемент 16 задержки предназначен дл  начальной установки узла пам ти блока перед пуском устройства .
Группа 18 триггеров блока контрол  образует четыре разр да реверсивного сдвигающего регистра, каждый из которых соответствует определенному клас- ру ошибок блока контрол . Группы 19 элементов ИЛИ совместно с группами элементов И организуют входные цепи реверсивного сдвигающего регистра таким образом, что начальна  установка соответствует установке второго триггера (фиг,4) в единичное состо ние , а остальных в нулевое.
Группа 21 триггеров реверсивного регистра сдвига блока пам ти образует разр ды реверсивного сдвигающего регистра . Группа 22 элементов ШТИ совместно с группой 23 элементов И и элементом НЕ 24 организуют входные цепи .реверсивного сдвигающего регистра блока пам ти таким образом, что начальна  установка соответствует установке разр да, предшествующего -старшему (фиг,5), в О. При этом элемент НЕ и св занные с ним элементы И образуют узел 25 записи разр да регистра 1, предназначенный дл  организации информационного входа реверсив- ;ного регистра сдвига блока пам ти.
Устройство работает следующим об- разом.
Лексические единицы исходного выражени - последовательно поступают на
регистр 1, а затем на дешифратор 2 и на старший разр д блока 3 пам ти, причем дешифратор раздел ет их на опранды , операции, скобки рткрьшающие, скобки закрывающие и конец выраже- ни  ;.
Если очередна  лексическа  единиц есть операнд, то дешифратор 2 запускет блок 5 микропрограммного управлени , управл ющие сигналы которого (микрокоманды у, у. ) переключают коммутатор 7 на запись лексической единицы из регистра 1 в регистр 8, а также осуществл ют сдвиг вправо на один разр д содержимого регистра 6. Если содержимое четвертого разр да регистра 6 есть ноль, что означает отсутствие ошибки Число операндов превьш1ает число операций больше, чем на единицу, происходит переход к анализу следующей лексической единиц Если же содержимое четвертого разр да регистра 6 есть единица, что соответствует наличию ошибки Число операндов превышает число операций больше, чем на единицу. Пропущена операци , блок 5 микропрограммного управлени  вырабатьшает микрокоманды блокировки регистра 1 (у.) и вьщачи сигнала ошибки (y,g) Число операндо превьппает число операций больше, чем на единицу. Пропущена операци , заи
регистра 1 в старшие разр ды регистров сдвига блока 3 пам ти, сдвигают влево на один разр д содержимое регистра 6 сдвига, блокируют регистр 1. Если содержимое первого разр да регистра 6 сдвига равно единице, блок 5 микропрограммного управлени  вырабатывает сигнал ошибки Число операций больше числа операндов. Пропущен операнд , формируетс  Останов, и процесс перевода прекращаетс . Если содержимое первого разр да регистра 6 сдвига равно нулю, дешифратор 4, на который поступает содержимое старших и предшествующих старшим разр дов регистров сдвига блока 3 пам ти, формирует логический сигнал отношени  приоритетов текущей и предшест- 20 вующей операций. Если код операции, занесенный в старшие разр ды регистров сдвига блока 3 пам ти, имеет больший приоритет, чем код операции, занесенной в разр ды, предшествующие старшим, дешифратор 4 запускает блок 5 микропрограммного управлени , управл ющий, сигнал которого сдвигает влево на один разр д содержимое ре-, гистров сдвига блока 3 пам ти, затем разблокируетс  регистр 1, и происходит п€феход к1 анализу следующей лексической единицы. Если код операции , занесенньй в старшие разр ды регистров сдвига блока 3 пам ти,
тем формируетс  Останов, и процесс перевода прекращаетс .
Если очередна  лексическа  единица 35 меньше или равен коду операции, за - есть открывакица  скобка, дешифратор 2 несенной в предшествующие старшим
разр ды регистров сдвига блока 3 пам ти , дешифратор 4 запускает блок 5 микропрограммного управлени , управ- л ющий сигнал которого (микрокоманда у) переключает коммутатор 7 на запись содержимого из предшествующих старшим разр дов регистров сдвига блока 3 пам ти в регистр 8. Затем блок 5 мик- 45 ропрограммно го управлени  сдвигает на один разр д вправо (микрокоманды Уд) содержиз юе регистров сдвига блока 3 пам ти. Процедура разрешени  переключени  коммутатора 7 на запись содер- блокирующий регистр 1, происходит пе- 50 жимого : федшествующих старшим разр - реход к анализу следующей лексической Дов регистров сдвига блока 3 пам ти единицы.S регистр 8 и разрешени  сдвига впра . ,во содержимого регистров сдвига блоЕсли очередна  лексическа  единица ка 3 пам ти выполн етс  до тех пор, есть операци , дешифратор 2 лексичес- 55 пока в предшествующих старшим разр - ких единиц запускает блок 5 микропрограммного управлени , управл ющие сигналы которого (микрокоманды у,
лексических единиц запускает блок 5 микропрограммного управлени , управл ющие сигналы которого (микрокоманды У, , У, ) записьюают открывающую скобку из регистра 1 в старшие раз-- р ды регистров сдвига блока 3 пам ти и блокируют регистр 1. Затем блок 5 микропрограммного управлени  вырабатывает управл ющий сигнал (микрокоманду Уд), сдвигающий влево, содержимое регистров сдвига блока 3 пам ти, а вслед за этим вырабатываетс  управл ющий сигнал (микрокоманда у, ), разн
у, ) записывают лексическую едидах регистров сдвига блока 3 пам ти
не будет находитьс  код операции с приоритетом меньшим, чем приоритет
текущей операции.
10
5
03586
ницу (в данном случае операцию) из
регистра 1 в старшие разр ды регистров сдвига блока 3 пам ти, сдвигают влево на один разр д содержимое регистра 6 сдвига, блокируют регистр 1. Если содержимое первого разр да регистра 6 сдвига равно единице, блок 5 микропрограммного управлени  вырабатывает сигнал ошибки Число операций больше числа операндов. Пропущен операнд , формируетс  Останов, и процесс перевода прекращаетс . Если содержимое первого разр да регистра 6 сдвига равно нулю, дешифратор 4, на который поступает содержимое старших и предшествующих старшим разр дов регистров сдвига блока 3 пам ти, формирует логический сигнал отношени  приоритетов текущей и предшест- 20 вующей операций. Если код операции, занесенный в старшие разр ды регистров сдвига блока 3 пам ти, имеет больший приоритет, чем код операции, занесенной в разр ды, предшествующие старшим, дешифратор 4 запускает блок 5 микропрограммного управлени , управл ющий, сигнал которого сдвигает влево на один разр д содержимое ре-, гистров сдвига блока 3 пам ти, затем разблокируетс  регистр 1, и происходит п€феход к1 анализу следующей лексической единицы. Если код операции , занесенньй в старшие разр ды регистров сдвига блока 3 пам ти,
30
ка 3 пам ти выполн етс  до тех пор, пока в предшествующих старшим разр -
дах регистров сдвига блока 3 пам ти
не будет находитьс  код операции с приоритетом меньшим, чем приоритет
текущей операции.
Если очередна  лексическа  единиц есть закрывающа  скобка, дешифратор запускает блок 5 микропрограммного управлени , управл ющие сигналы которого (микрокоманды уд, у,) сдвигают вправо на один разр д содержимое регистров сдвига блока 3 пам ти и блокируют регистр 1. Значение содержимого старших разр дов регистров сдвигов блока 3 пам ти.поступает на дешифратор 4. Если содержимое старших разр дов регистров сдвига блока 3 пам ти есть код открывающей скобки, то дешифратор 4 запускает блок 5 микропрограммного управлени , управл ющий сигнал которого (микрокоманды у.) сдвигает вправо содержимое регистров сдвига блока 3 пам ти , происходит разблокирование регистра 1 и переход к анализу следующей лексической единицы, т.е. закрывающа  и перва  из встретившихс  открывающих скобок в регистр 8 не попадают. Если содержимое старших разр дов регистров сдвига блока 3 пам ти не  вл етс  кодом открывающей скобки, дешифратор 4 запускает блок микропрограммного управлени , управл ющий сигнал которого (микрокоманда Уд) переключает коммутатор 7 на запись содержимого старших разр дов регистров сдвига блока 3 пам ти в регистр 8, сдвигает на один разр д вправо содержимое регистров сдвига блока 3 пам ти. Дешифратор 4 определ ет значение кода старших разр дов регистров сдвига блока 3 пам ти. Если это значение есть код пустого символа, чТо означает отсутствие в исходном выражении символа открываю-, щей скобки, дешифратор 4 запускает блок 5 микропрограммного управлени , управл ющий сигнал которого (микрокоманда ) формирует сигнал ошибки Отсутствует открывающа  скобка, формирует Останов и процесс, перевода прекращаетс . Если значение кода старших разр дов регистров сдвига блока 3 пам ти не  вл етс  кодом пустого символа, дешифратор 4 определ ет значение кода старших разр дов регистров сдвига блока 3 пам ти, и процесс анализа на наличие в блоке пам ти -открывающей скобки продолжаетс  до тех пор, пока не будет найдена открывающа  скобка (что соответствует правильности исходного выражени ), или обнаружен код пустого символа (что соответствует ошибке).
O
5
Если очередна  лексическа  единица есть символ Конец вьфажени , то дешифратор 2 запускает блок 5, управл ющий сигнал которого (микрокоман- - да у,) блокирует регистр 1. Дешифратор 4 определ ет значение кода стар- ших разр дов сдвига блока 3 пам ти. Если значение кода старших разр дов
регистров сдвига блока 3 пам ти есть код пустого символа, блок 5 анализирует значение содержимого третьего разр да регистра 6 сдвига. Если это значение равно единице, то блок 5 переключает коммутатор 7 на запись содержимого регистра 1 в регистр 8 (микрокоманда у). Процесс перевода нормально завершен. Устройство готово к переводу следующего выражени . Если значение третьего разр да регистра
0 6 сдвига равно нулю, то регистр 6 запускает блок 5 микропрограммного уп-. равлени , формирует сигнал у ошибки Число операндов равно числу операций . Отсутствует операнд, выраба-
5 тьшаетс  Останов, и процесс перевода прекращаетс . Если значение кода старших разр дов регистров сдвига блока 3 пам ти отлично от кода пустого символа, дешифратор 4 запускает блок 5
0 микропрограммного управлени , который анализирует значение выходного сигнала дешифратора 4. Если в старших разр дах регистров сдвига блока 3 пам ти находитс  лексическа  единица
(скобка открьшающа ), то блок 5 микропрограммного управлени  вырабатывает сигнал у ошибки Отсутствует закрывающа  скобка и осуществл ет останов работы устройства. Если ошибка отсутствует , то дешифратор 4 запускает блок 5, управл кнций сигнал которого
0
(микрокоманда у„) переключает коммутатор 7 на запись из старших разр цоз регистров сдвига блока 3 пам ти в ре5 гйстр 8, и происходит сдвиг вправо на один разр д содержимого регистров сдвига блока 3 пам ти. Затем дешифратор 4 определ ет значение кода старших разр дов.регистров сдвига блока 3
0 пам ти и запускает блок 5; Процесс повтор етс  до тех пор, пока не будет обнаружен код пустого символа или не будет обнар5 ен код открывающей скобки (что свидетельствует о наличии f
5 ошибки в исходном выражении) в старших разр дах регистров сдвига блока 3 пам ти, определ емых дешифратором 4.
Если очередна  лексическа  единица не  вл етс  ни операндом, ни oneрацией , ни открывающей скобкой, ни закрьшающей скобкой, ни символом конца вьфажени , то дешифратор 2 запускает блок 5 микропрограммного управлени , который формирует сигнал ошиб- 5 р д содержимого регистров сдвига
которьй формирует значение выходног сигнала, по которому с помощью блока 5 микропрограммного управлени  производитс  сдвиг влево на один ра
ки Лексическа  единица не принадлежит алфавиту лексических единиц, блокируетс  регистр 1, вырабатьгааетс  Останов , и процесс перевода прекращаетс .
. П р им е.р 1. Пусть входное выражение имеет вид АхВ+С/ (D-E)J где ; используетс  как лексическа  единица Конец выражени .
блока 3.пам ти. После этого регистр разблокируетс .
Следующа  лексическа  единица В записьшаетс  в регистр 1 и дешифруе 0 с  как операнд С помощью блока 5 коммутатор 7 подключаетс  на запись из регистра 1, и лексическа  единица в переписьюаетс  из регистра 1 в регистр 8, происходит сдвиг вправ
Процесс перевода исходного выраже- 15 на один разр д содержимого регистра 6 (на регистре образуетс  код 0010). Производитс  переход к след щей лексической единице, . Очередна  лексическа  единица 20 записываетс  в регистр 1 и определ етс  дешифратором 2 как операци ,
блокируетс  регистр 1, осуществл е сдвиг на один разр д влево содержи мого регистра 6, т.е. на указанном
ни  в польскую инверсную запись заключаетс  в следующем. Производитс  начальна  установка значений регистра 6 и блока 3 пам ти, т,е, в регистр 6 заноситс  код 0100, в разр ды , предшествунмцие старшим разр дам регистров сдвига блока 3 пам ти, заноситс  значение кода пустого символа . На регистр 1 поступает лексическа  единица А, котора  определ ет- 25;регистре образуетс  код 0100, Так с  дешифратором 2 как операнд, и с помощью блока 5 микропрограммного управлени  производитс  подключение входа коммутатора 7 на запись лексической единицы А из регистра 1 в регистр 8, а также сдвиг вправо на один разр д содержимого регистра 6 (на регистре образуетс  код 0010), Блок 5 микропрограммного управлени  анализирует значение четвертого разр да регистра 6, Так как оно равно нулю, производитс  переход к следующей лексической единице.
как значение первого разр да регис ра 6 сдвига равно нулю, дешифратор формирует значение X|g О,
Из регистра 1 код + записьтае
30 в старшие разр ды регистров сдвига блока 3 пам ти. Значение кода +, занесенное- в старшие разр ды регис ров сдвига блока 3 пам ти, и значе кода х, занесенного в предшеству
ij щие старшим разр ды регистров сдви блока 3 пам ти, поступают на дешиф ратор 4, которьй формирует значени выходного сигнала х О, так как приоритет предьщущей операции боль
На регистр 1 поступает следующа  лексическа  единица х, котора  фиксируетс  дешифратором 2 как знак операции. Производитс  блокировка регистра 1, Из регистра 1 код х записываетс  в старшие разр ды регистров сдвига блока 3 пам ти. Осуществл етс  сдвиг влево на один разр д содержимого регистра 6, т.е. на указанном регистре образуетс  код 0100. При этом дешифратор 4 формирует значение отсутстви  ошибки, так как значение первого разр да регистра 6 равно нулю. Значение кода х, занесенное в старшие разр ды регистров сдвига блока 3 пам ти, и значение кода пустого символа, которое находитс  в предшествующих старшим разр дах регистров сдвига блока 3 пам ти, поступают на дешифратор 4,
р д содержимого регистров сдвига
которьй формирует значение выходного сигнала, по которому с помощью блока 5 микропрограммного управлени  производитс  сдвиг влево на один разблока 3.пам ти. После этого регистр 1 разблокируетс .
Следующа  лексическа  единица В записьшаетс  в регистр 1 и дешифрует- с  как операнд С помощью блока 5 коммутатор 7 подключаетс  на запись из регистра 1, и лексическа  единица в переписьюаетс  из регистра 1 в регистр 8, происходит сдвиг вправо
на один разр д содержимого регистра 6 (на регистре образуетс  код 0010). Производитс  переход к следующей лексической единице, . Очередна  лексическа  единица + 20 записываетс  в регистр 1 и определ етс  дешифратором 2 как операци ,
блокируетс  регистр 1, осуществл етс  сдвиг на один разр д влево содержимого регистра 6, т.е. на указанном
25;регистре образуетс  код 0100, Так
егистре образуетс  код 0100, Так
как значение первого разр да регист-. ра 6 сдвига равно нулю, дешифратор 4 формирует значение X|g О,
Из регистра 1 код + записьтаетс 
в старшие разр ды регистров сдвига блока 3 пам ти. Значение кода +, занесенное- в старшие разр ды регистров сдвига блока 3 пам ти, и значение кода х, занесенного в предшествующие старшим разр ды регистров сдвига блока 3 пам ти, поступают на дешифратор 4, которьй формирует значение выходного сигнала х О, так как приоритет предьщущей операции больше,
чем последующей. С помощью блока 5 коммутатор 7 переключаетс  на запись из предшествующих старшим разр дов регистров сдвига блока 3 пам ти и производитс  запись содержимого этих
разр дов в регистр 8 (в данном случае лексической единицы х). Затем осуществл етс  сдвиг на один разр д вправо содержимого регистров сдвига блока 3 пам ти и осуществл етс  запись в старшие разр ды регистров сдвига блока 3 пам ти лексической единицы + с регистра 1. Значени  старших и предшествующих старшим разр дов сдвига блока 3 пам ти поступают на
дешифратор 4, который формирует выходной сигнал х, 1, так как приоритет операции +, код которой хранитс  в старших разр дах, больше приоритета пустого символа, хранимого в
11
предшествующих старшим разр дах регистров блока 3 пам ти. С помощью блока 5 производитс  сдвиг влево на один разр д содержимого регистров
На регистр 1 принимаетс  очередна 
лексическа  единица -, котора  определ етс  дешифратором 2 как операци . Производитс  блокировка регистсдвига блока 3 пам ти. После этого ре-з ра 1 . Код - из регистра 1 записыtt/-iii
гистр 1 разблокируетс .
Следующа  лексическа  единица.С записываетс  в регистр 1, определ етс  дешифратором 2 как операнд, и с
ваетс  в старшие разр ды регистров , сдвига блока 3 пам ти. Осуществл етс  сдвиг влево на,один разр д содержимого регистра 6 (на регистре обрапомощью блока 5 производитс  переклю- tO зуетс  код 0100). При этом дешифрачение входа коммутатора 7 на запись операнда С в регистр 8, а также сдвиг вправо на один разр д содержимого регистра 6 (на регистре образуеттор 4 формирует сигнаш отсутстви  опшбки, а дешифратор 2, на который поступают значени  старших разр дов (код -) и предшествующих старшим
с  код 0010). Так как значение четвер- 5 разр дов (код С) регистров сдвига того разр да регистра 6 равно нулю, блока 3 пам ти, формирует выходной блок 5 переходит к управлению работой сигнал х, 1, по которому с помощью устройства к анализу следующей лексической единицы.
Очередна  лексическа  единица / 20 сдвига блока 3 пам ти. После этого определ етс  дешифратором; 2 как опера- регистр 1 разблокируетс , ци . Производитс  блокировка регистра 1 . Из регистра 1 с помощью блока 5 / записьгоаетс  в старшие разр блока 5 производитс  сдвиг влево на один разр д содержимого регистров
Очередна  лексическа  единица Е принимаетс  на регистр 1. Она  вл етс  операндом. На регистре 6 обра- 25 зуетс  код 0010, и код Е записьша- етс  в регистр 8.
На регистр 1 принимаетс  следующа  лексическа  единица ). Дешифратором 2 она определ етс  как скобкод
ды регистров сдвига блока 3 пам ти. Осуществл етс  сдвиг влево на один разр д содержимого регистра 6 .(на регистре образуетс  код 0100). При этом дешифратор 4 формирует сигнал .отсут- .
стви  ошибки. Значение кода /, за- 30 ка закрывающа . С помощью блока 5 несенного в старшие разр ды регистров осуществл етс  сдвиг на один разр д сдвига блока 3 пам ти, и значение кода +, занесенное ранее и наход щеес  в предшествующих старшим разр дах регистров сдвига блока 3 пам ти, пос- 35 ™ выходного сигнала х,, О, .так как тупают на дешифратор 4, который фор- .старших разр.чдах регистров сдвига мирует значение выходного сигнала X, 1, по которому с помощью блока 5 производитс  сдвиг влево на один разр д содержимого регистров сдвига бло- 40 .а 5 осуществл етс  переключение
коммутатора
вправо содержимого регистров сдвига
блока 3 пам ти и блокируетс  ре-. гистр 1. Дешифратор формирует значе-
блока 3 пам ти находитс  код лексической единицы - (т.е. код, отличный от открывающей скобки). С помощью
ка 3 пам ти, после чего регистр 1 разблокируетс .
Очередна  логическа  единица С записываетс  в регистр 1 и определ етс  дешифратором 2 как скобка от-, крывающа . С помощью блока 5 блокируетс  регистр 1, и значение кода С переписьшаетс  из регистра 1 в старшие разр ды регистров сдвига блока 3 пам ти. После этого осуществл етс  сдвиг влево на один разр д содержи- мого регистров сдвига блока 3 пам ти , регистр 1 разблокируетс ..
Очередна  лексическа  единица D . принимаетс  на регистр 1. Она  вл етс  операндом. На регистре 6 образуетс  код 0010, и код D записываетс  в регистр 8.
7 на запись из старших разр дов сдвига блока 3 пам ти, и код лексической единицы г переписываетс  в регистр 8. Затем осуществл етс 
45 сдвиг вправо на один разр д содержимого регистров сдвига блока 3 пам ти. Дешифратор 4 формирует значение выходного сигнала х О, так как зна- : чени  старших разр дов регистров
5Q сдвига блока 3 пам ти не равны значению кода Пустой символ, что означает наличие в блоке 3 пам ти кодов операций и скобок, т.е. необходимость дальнейшего перевода с целью обнару ,J2 жени  окружающей скобки в блоке 3 пам ти . Сигнал с выходом дешифратора 4 запускает блок 5 микропрограммного управлени , которьй анализирует значение выходного сигнала и, так как
ло1290358 .12
На регистр 1 принимаетс  очередна 
лексическа  единица -, котора  определ етс  дешифратором 2 как операци . Производитс  блокировка регист
ваетс  в старшие разр ды регистров , сдвига блока 3 пам ти. Осуществл етс  сдвиг влево на,один разр д содержимого регистра 6 (на регистре обраразр дов (код С) регистров сдвига блока 3 пам ти, формирует выходной сигнал х, 1, по которому с помощью
блока 5 производитс  сдвиг влево на один разр д содержимого регистров
сдвига блока 3 пам ти. После этого регистр 1 разблокируетс ,
Очередна  лексическа  единица Е принимаетс  на регистр 1. Она  вл етс  операндом. На регистре 6 обра- зуетс  код 0010, и код Е записьша- етс  в регистр 8.
На регистр 1 принимаетс  следующа  лексическа  единица ). Дешифратором 2 она определ етс  как скобка закрывающа . С помощью блока 5 осуществл етс  сдвиг на один разр д ™ выходного сигнала х,, О, .так как .старших разр.чдах регистров сдвига .а 5 осуществл етс  переключение
вправо содержимого регистров сдвига
блока 3 пам ти и блокируетс  ре-. гистр 1. Дешифратор формирует значе-
ка закрывающа . С помощью блока 5 осуществл етс  сдвиг на один разр д ™ выходного сигнала х,, О, .так как .старших разр.чдах регистров сдвига а 5 осуществл етс  переключение
блока 3 пам ти находитс  код лексической единицы - (т.е. код, отличный от открывающей скобки). С помощью
30 ка закрывающа . С помощью блока 5 осуществл етс  сдвиг на один разр д 35 ™ выходного сигнала х,, О, .так как .старших разр.чдах регистров сдвига 40 .а 5 осуществл етс  переключение
коммутатора
7 на запись из старших разр дов сдвига блока 3 пам ти, и код лексической единицы г переписываетс  в регистр 8. Затем осуществл етс 
45 сдвиг вправо на один разр д содержимого регистров сдвига блока 3 пам ти Дешифратор 4 формирует значение выходного сигнала х О, так как зна- чени  старших разр дов регистров
5Q сдвига блока 3 пам ти не равны значению кода Пустой символ, что означает наличие в блоке 3 пам ти кодов операций и скобок, т.е. необходимость дальнейшего перевода с целью обнару ,J2 жени  окружающей скобки в блоке 3 пам ти . Сигнал с выходом дешифратора 4 запускает блок 5 микропрограммного управлени , которьй анализирует значение выходного сигнала и, так как
131290358
- 1 (в старших разр дах регистров сдвига блока 3 пам ти находитс  код открывающей скобки), блок 5 разрешает сДвиг вправо на один разр д содержимого регистров сдвига блока пам ти. При этом значение кода открывающей скобки, находившеес  до сдвига в старших разр дах регистров сдвига блока 3 пам ти, после сдвига тер етс  и в регистр 8 не попадает. Разблокируетс  регистр 1.
10
ни ин
ра де ще
ни в ле л  в ед де ва сд ос ги вл
Очередна  лексическа  единица ; записываетс  на регистр 1 и дешифри- руетс  как код конца выражени , Де- 5 шифратор 2 запускает блок 5, которьй блокирует регистр 1, Дешифратор 4 формирует значение выходного сигнала х„ О , так как значение старших разПроцесс перевода входного выр ни  и обнаружени  ошибки заключае в следзпощем. На регистр 1 поступа лексическа  единица А, котора  л етс  операндом и переписываетс  в регистр 8, Очередна  лексическа единица + поступает на регистр дешифрируетс  как операци  и запи ваетс  в старшие разр ды регистро сдвига блока 3 пам ти, после чего осуществл етс  сдвиг содержимого гистров блока 3 пам ти на один ра влево, так как значение выходного
р дов регистров сдвига блока 3 пам ти 20 сигнала х дешифратора 4 равно 1, не равно коду nycToiro символа, а равно коду операции /, и значение выходного сигнала Хз О, так как значение старших разр дов регистров сдвига блока 3 пам ти не равно значению кода открывающей скобки, и запускает блок 5, которьй переключает коммутатор 7 на запись со старших разр дов регистров сдвига блока 3 пам ти (лексическа  единица / переписываетс  - в регистр 8), а затем разрешает сдвиг вправо на один разр д содержимого регистров сдвига блока 3 пам ти, и в старшие разр ды регистра сдвига бло Разблокируетс  регистр 1.
На регистр 1 поступает лексиче единица В, котора   вл етс  опе дом и переписогоаетс  в регистр 8,
Очередна  лексическа  единица поступает на регистр 1, дешифриру как скобка закрывающа . Блокирует регистр 1, и осуществл етс  сдвиг вправо на один разр д соде ржимого гистров сдвига блока 3 пам ти. Де ратор 4 формирует выходной сигнал Xj О, так как в старших разр дах регистров сдвига блока 3 пам ти н находитс  код открывающей скобки
ка 3 пам ти попадает лексическа  еди- 35 (там находитс  код лексической едини- ница +, Так как дешифратор 4 форми- цы +) и запускает блок 5, которьй рует значени  выходных сигналов х О, Xj О, аналогичным образом лекси- :ческа  единица + переписьгоаетс  в
разрешает запись кода + из старших
разр дсй сдвига блока 3 пам ти через коммутатор 7 в регистр 8, а затем разрешает сдвиг вправо на один разр д содержикюго регистров сдвига блока 3 пам ти. В старших разр дах регистров сдвига блока 3 пам ти образуетс  код пустого символа. Дешифратор 4 формирегистр 8, и после сдвига в старших. 40 разр дах регистров сдвига блока пам - ,ти образуетс  код пустого символа, в этом случае дешифратор 4 формирует значение выходного сигнала х 1 и
запускает блок 5, который анализирует 45 рует выходной сигнал х Г, так как значение третьего разр да регистра 6, значение старших разр дов регистров
сдвига блока 3 пам ти равно коду пустого символа и запускает блок 5, который формирует сигнал ошибки Отсутразр дсй сдвига блока 3 пам ти через коммутатор 7 в регистр 8, а затем разрешает сдвиг вправо на один разр д содержикюго регистров сдвига блока 3 пам ти. В старших разр дах регистров сдвига блока 3 пам ти образуетс  код пустого символа. Дешифратор 4 формиа , так как значение последнего равно единице (отсутствие ошибки), блок 5 разрешает переключение коммутатора 7
на запись лексической единицы ; из 50 ствует открывающа  скобка и формирурегист1 )а 1 в регистр 8, Устройство закончило перевод выражени  и готово к приему следующего выражени .
ет останов работы устройства.
Пример 3. Пусть входное выражение :имеет вид АВ + ; , т.е. содержит ошибку - подр д идущие операнТаким образом, на регистр 1 посту- 55 ды с пропущенным знаком операции между ними.
пило выражение А х В + С / (D - Е); а через регистр 8 на выход устройства выражение поступило в виде АВ х CDE- / +
Полученньй пор док следоваПроцесс обнаружени  ошибки заключаетс  в следующем. Перва  лексичес
ни  си1 1волов соответствует польской инверсной записи входного выражени .
Пример 2„ Пусть входное выражение имеет вид А + В/ ; , т.е. содержит ошибку - отсутствие открьгоаю- щей скобки.
Процесс перевода входного выражени  и обнаружени  ошибки заключаетс  в следзпощем. На регистр 1 поступает лексическа  единица А, котора   вл етс  операндом и переписываетс  в регистр 8, Очередна  лексическа  единица + поступает на регистр 1, дешифрируетс  как операци  и записываетс  в старшие разр ды регистров сдвига блока 3 пам ти, после чего осуществл етс  сдвиг содержимого регистров блока 3 пам ти на один разр д влево, так как значение выходного
сигнала х дешифратора 4 равно 1,
Разблокируетс  регистр 1.
На регистр 1 поступает лексическа  единица В, котора   вл етс  операндом и переписогоаетс  в регистр 8,
Очередна  лексическа  единица ) поступает на регистр 1, дешифрируетс  как скобка закрывающа . Блокируетс  регистр 1, и осуществл етс  сдвиг вправо на один разр д соде ржимого регистров сдвига блока 3 пам ти. Дешифратор 4 формирует выходной сигнал Xj О, так как в старших разр дах регистров сдвига блока 3 пам ти не находитс  код открывающей скобки
(там находитс  код лексической едини- цы +) и запускает блок 5, которьй
разрешает запись кода + из старших
(там находитс  код лексической едини- цы +) и запускает блок 5, которьй
рует выходной сигнал х Г, так как значение старших разр дов регистров
разр дсй сдвига блока 3 пам ти через коммутатор 7 в регистр 8, а затем разрешает сдвиг вправо на один разр д содержикюго регистров сдвига блока 3 пам ти. В старших разр дах регистров сдвига блока 3 пам ти образуетс  код пустого символа. Дешифратор 4 формиПроцесс обнаружени  ошибки заключаетс  в следующем. Перва  лексическа  единица А поступает на регистр 1. Дешифрируетс  как операнд. Дешифратор 2 запускает блок 5, который записывает лексическую единицу . А регистра 1 в регистр 8 через ком- мутатор 7 и разрешает сдвиг вправо на один разр д содержимого-регистра 6 где после сдвига образуетс  код 0010 (при начальной установке был код 0100). Блок 5 анализирует значение старшего разр да регистра 6 и, так как это значение равно нулю, производит переход к следующей лексической единице.
Очередна  лексическа  единица В поступает на регистр 1. Она  вл етс  операндом, с помощью блока 5 В пере письгоаетс  в регистр 8, осуществл етс  сдвиг вправо на один разр д содержимого регистра 6, где образуетс  код 0001. Блок 5 микропрограммного управлени  анализирует значение старшего разр да регистра 6 и, так как оно равно единице, выдает сигнал у.
ошибки Число операндов превьш1ает число операций больше чем на единицу.
Пропущена операци 
блокирует реществл етс  сдвиг вправо на один раз р д содержимого регистров сдвига бло ка 3 пам ти (значение кода ( тер етс ) и производитс  переход к следующей лексической единице исходного выражени .
Очередна  лексическа  единица ;
гистр 1 и формирует останов работы
устройства.
Пример 4. Пусть входное выра-30 дешифрируетс  как конец выражени .
жение имеет вид А + ХВ, т.е. содержит Дешифратор 2 запускает блок 5, который блокирует регистр 1. Так как в старших разр дах регистров сдвига
ошибку - пропущен операнд.
Процесс перевода и обнаружени  ошибки заключаетс  в следующем. Перблока 3 пам ти находитс  код лексива  лексическа  единица А есть.one- 35 ческой единицы ( (втора  из скобок ранд. Она переписываетс ,в регистр 8, на регистре 6 формируетс  код 0010.
Следующа  лексическа  единица + есть операци . Она записываетс  в
потер на, так как была встречена закрывающа  скобка, а перва  из открывающих скобок присутствует в блоке 3 пам ти), дешифратор 4 формирует значение выходного сигнала Xg О и запускает блок 5, который анализирует значение выходного сигнала, формируемого дешифратором 4, а так .как х 1, блок 5 формирует сигнал у
блок 3 пам ти, на регистре 6 форми- 40 руетс  код 0100. Очередна  лексическа  единица х есть операци . Она
потер на, так как была встречена закрывающа  скобка, а перва  из открывающих скобок присутствует в бло ке 3 пам ти), дешифратор 4 формирует значение выходного сигнала Xg О и запускает блок 5, который анализирует значение выходного сигнала, формируемого дешифратором 4, а так .как х 1, блок 5 формирует сигнал
записываетс  в блок 3 па.м ти, блокируетс  регистр 1, и после сдвига влево на один разр д содержимого регист- 45 ошибки Отсутствует закрывающа  ра 6 на нем образуетс  код 1000. скобка и формирует останов работы Блок 5 анализирует значение первого
устройства.
разр да регистра 6 и, так как оно равустройства .
но единице,вьщает сигнал у, ошибки Пропущенный операнд будет обнару- Число операций больше числа операн- 50 после исправлени  ошибки, св занной с отсутствием закрывающей скобки, при повторном переводе вырадов . Пропущен операнд. и формирует останов работы устройства.
Пример 5. Пусть исходное выражение имеет вид ((А +) ; , т.е. 55 пропущена закрьшающа  скобка и операнд . Лексические единицы (, ( занос тс  в регистры сдвига блока 3 па- М ти
Лексическа  единица А переписываетс  в регистр 8. Лексическа  единица + записываетс  в регистры сдвига блока 3 пам ти, осуществл етс сдвиг на один разр д вправо содержимого регистров сдвига блока 3 пам ти Очередна  лексическа  единица дешифрируетс  как скобка закрывающа . С помощью блока 5 блокируетс  регистр 1 .и осуществл етс  сдвиг вправо на один разр д содержимого регистров сдвига блока 3 пам ти, в результате чего в старших разр дах регистров сдвига блока 3 пам ти образуетс  лексическа  единица +, котора  записываетс  в регистр 8, и осуществл етс  сдвиг на один разр д вправо содержимого.регистров сдвига блока 3 пам ти, так как в старших разр дах ре.гистров сдвига блока 3 пам ти образуетс  код лексической
единицы (,
и так как х 1, осу
ществл етс  сдвиг вправо на один разр д содержимого регистров сдвига бло- ка 3 пам ти (значение кода ( тер етс ) и производитс  переход к следующей лексической единице исходного выражени .
Очередна  лексическа  единица ;
ешифрируетс  как конец выражени .
блока 3 пам ти находитс  код лексической единицы ( (втора  из скобок
потер на, так как была встречена закрывающа  скобка, а перва  из открывающих скобок присутствует в блоке 3 пам ти), дешифратор 4 формирует значение выходного сигнала Xg О и запускает блок 5, который анализирует значение выходного сигнала, формируемого дешифратором 4, а так .как х 1, блок 5 формирует сигнал у
ошибки Отсутствует закрывающа  скобка и формирует останов работы
ошибки Отсу скобка и фо
устройства.

Claims (2)

1. Устройство дл  преобразовани  выражений в польскую инверсную запись, содержащее дешифратор, первый регистр.
информацйонньш вход которого  вл етс информационным входом устройства, а выход соединен с первым информационным входом коммутатора, с информационым входом блока пам ти и с входом дешифратора лексических единиц, выхо которого соединен с входом признаков лексических единиц блока микропрограмного управлени , первый выход микрокоманд которого соединен с входом за гтси первого регистра, второй выход микрокоманд соединен с первьм управл ющим входом коммутатора, третий выход микрокоманд соединен с входом записи блока пам ти, второй регистр, выход которого  вл етс  информационным выходом устройства, вход пуска блока микропрограммного управлени   вл етс  входом пуска устройства, отличающеес  тем, что, с целью повышени  быстродействи  и достоверности работы путем обеспечени  контрол  парности открывающей и закрывающей скобок, принадлежности символов входного .выражени  множеству лексических единиц, баланса операторов и операций, обеспечени  классификации ошибок, в него введен реверсивный регистр сдвига, причем информационный выход и выход старшего разр да блока пам ти соединены соответственно с вторым и третьим информационными входами коммутатора и с входами дешифратора,, выход коммутато
ра подключен к входу второго регистр
выход дешифратора соединен с входом признаков отнсгшений приоритетов блока микропрограммного управлени , выходы микрокоманд которого, начина  с четвертого ,, соединены соответственно с вторым и третьим управл ющими входами коммутатора, с входами сдвига влево и сдвига вправо блока пам ти, с входами сдвига влево и сдвига вправо реверсивного регистра сдвига и с уста- новочньми входами блока пам ти и реверсивного регистра сдвига, выходы разр дов которого соединены с входом признаков ошибки блока микропрограммного управлени , выходы сигналов ошибок которого  вл ютс  соответственно выходами сигналов ошибок устройства .
2. Устройство по п,1, отличающеес  тем, что блок пам ти содержит реверсивные регистры сдвига, входы сдвига влево, сдвига вправо, записи и установочные входы которых  вл ютс  соответственно входами сдвига влево, сдвига вправо, записи и установочным входом блока, входы старших разр дов регистров сдвига соединены
с информационным входом блока, выходы старших разр дов регистров сдвига и выходы разр дов, предшествующих старшим  вл ютс  соответственно выходом старшего разр да и информационным
Фиг2
/7ycff
XfXf.
4 О
Xw
У1 Ув а,,г Уа Уа
J4 15
Гб
13
12
Н
JO
//
Xs
fpus:
(A g/yf4)
ipueo
Произв.-полигр. пр-тие, г. Ужгород,
фигб ВНИИПИ Заказ 7905/49 Тираж 673
SU853950536A 1985-08-30 1985-08-30 Устройство дл преобразовани выражений в польскую инверсную запись SU1290358A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU853950536A SU1290358A1 (ru) 1985-08-30 1985-08-30 Устройство дл преобразовани выражений в польскую инверсную запись

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU853950536A SU1290358A1 (ru) 1985-08-30 1985-08-30 Устройство дл преобразовани выражений в польскую инверсную запись

Publications (1)

Publication Number Publication Date
SU1290358A1 true SU1290358A1 (ru) 1987-02-15

Family

ID=21196333

Family Applications (1)

Application Number Title Priority Date Filing Date
SU853950536A SU1290358A1 (ru) 1985-08-30 1985-08-30 Устройство дл преобразовани выражений в польскую инверсную запись

Country Status (1)

Country Link
SU (1) SU1290358A1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР № 890403, кл. G 06 F 15/38, 198Q. Авторское свидетельство СССР № 1130879, кл. G 06 F 15/38, 1982. *

Similar Documents

Publication Publication Date Title
US4053871A (en) Method and system for the iterative and simultaneous comparison of data with a group of reference data items
US3949365A (en) Information input device
SU1290358A1 (ru) Устройство дл преобразовани выражений в польскую инверсную запись
US3548385A (en) Adaptive information retrieval system
US3764993A (en) Word backspace circuit for buffered key entry device
JPH0315221B2 (ru)
SU1080132A1 (ru) Устройство дл ввода информации
KR930021017A (ko) 제어코드 학습 원격제어 수신기와 학습 및 제어방법
RU2793554C1 (ru) Устройство параллельно-последовательного поиска и замены вхождений в обрабатываемых словах
US3222648A (en) Data input device
SU1177812A1 (ru) Микропрограммное устройство управления
SU991437A2 (ru) Устройство дл перевода выражений в польскую инверсную запись
SU981987A1 (ru) Устройство дл определени экстремального числа
SU932638A1 (ru) Устройство групповой синхронизации
SU1140112A1 (ru) Суммирующее устройство с контролем
SU1233155A1 (ru) Микропрограммное устройство управлени с контролем
SU765886A1 (ru) Устройство дл коррекции ошибок в блоке пам ти
SU1621140A2 (ru) Счетное устройство с контролем
SU1176322A1 (ru) Вычислительное устройство
SU1087999A1 (ru) Устройство дл контрол последовательности микрокоманд
RU1789993C (ru) Устройство дл редактировани элементов таблиц
RU1805466C (ru) Устройство микропрограммного управлени с контролем
SU1073769A1 (ru) Цифровой амплитудный дискриминатор
SU1487050A1 (ru) Устройство доя контроля переходов
SU1130879A1 (ru) Устройство дл перевода выражений в польскую инверсную запись