Устройство для перевода выражений в польскую инверсную запись Советский патент 1989 года по МПК G06F17/27 

Описание патента на изобретение SU1476490A2

Изобретение относится к вычислительной технике и может быть использовано в автоматизированных системах обработки данных и производства программ для ЭВМ.

Цель изобретения - повышение достоверности преобразования информации путем поразрядного контроля по модулю результатов работы устройства

На фиг„1 представлена структурная схема устройства; на фиг„2 - структурная схема блока контроля результатов преобразования.

Устройство содержит входной регистр 1, дешифратор 2 лексических единиц, магазинную память 3, регистр 4 кодов операций магазинной памяти, дешифратор 5 кодов операций магазинной памяти, дешифратор 6 кодов операций выражений, схему 7 сравнения приоритетов, блок 8 управления, группу элементов ИЛИ 9, первую

20 преобразования информации путем поразрядного контроля по модулю результатов работы устройства. Элемент ИЛИ-НЕ 19, первый элемент 20 задержки, первый элемент И 21 и второй

10, вторую И, третью 12 и четвертую 13 группы элементов И, выходной 25 элемент 22 задержки управляют рабо- регистр 14, блок 15 проверки исходно- той регистров-аккумуляторов, предна- го выражения на наличие и порядок значенных для накопления поразрядных следования лексических единиц, пер- сумм по модулю два входной и выход- вый 16 и второй 17 элементы ИЛИ, блок ной информации устройства. Первый 18 контроля результатов преобразова- 30 Полусумматор 25 с помощью регистрания, который содержит элемент ИЛИ- НЕ 19, первый элемент 20 задержки, первый элемент И 21, второй элемент 22 задержки, первый 23 и второй 24 регистры-аккумуляторы, первый 25, второй 26 и третий 27 полусумматоры, третий элемент ИЛИ 28 и второй элемент И 29. I

Входной регистр 1 используется для хранения очередной лексической единицы исходного -выражения, дешифратор 2 лексических единиц разделяет лексические единицы на операнды, операции, скобки и т.д. Магазинная память 3 о последовательным безад- Ьесным принципом записи и чтения, ре- 1гистр 4 и дешифратор 5 кодов операций магазинной памяти совместно с дешифратором 6 кодов операций выраже-„ ний и схемой 7 сравнения приоритетов реализуют логическую функцию выра- ботки и сравнения приоритетов. Блок 8 управления организует взаимодейстаккумулятора 23 осуществляет поразрядное суммирование по модулю два выходной информации, а второй полусумматор 26 с помощью регистра-аккуму35 лятора 24 осуществляет поразрядное су:1мирование по модулю два входной информации. Третий полусумматор 27 предназначен для сравнения кодов, хранящихся на регистрах-аккумулято40 рах 23 и 24, которое выполняется сов местно с элементом ИЛИ 28. Наличие единицы на выходе элемента ИЛИ 28 свидетельствует о несовпадении кодов, хранящихся на регистрах-аккуму45 ляторах 23 и 24. Второй элемент И 29 служит для пропуска на выход блока 18 сигнала Ошибка преобразования по окончании выполнения преобразований устройством.

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

Лексические единицы исходного выражения последовательно поступают на входной регистр 1, а затем на дешифединиц, а выходной регистр 14 предназначен для хранения очередной лексической единицы в форме ПОЛИЗ. I Блок 15 проверяет наличие и порядок следования лексических единиц в исходном выражении. Работа блока основана на методе подсчета весов лексических единиц исходного выражения,

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

еще не выполнены операции.

Элементы ИЛИ 16 и 17 управляют передачами сигналов при контроле правильности преобразования информации. Блок 18 контролирует правильность

преобразования информации путем поразрядного контроля по модулю результатов работы устройства. Элемент ИЛИ-НЕ 19, первый элемент 20 задержки, первый элемент И 21 и второй

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

аккумулятора 23 осуществляет поразрядное суммирование по модулю два выходной информации, а второй полусумматор 26 с помощью регистра-аккуму5 лятора 24 осуществляет поразрядное су:1мирование по модулю два входной информации. Третий полусумматор 27 предназначен для сравнения кодов, хранящихся на регистрах-аккумулято0 рах 23 и 24, которое выполняется совместно с элементом ИЛИ 28. Наличие единицы на выходе элемента ИЛИ 28 свидетельствует о несовпадении кодов, хранящихся на регистрах-аккуму5 ляторах 23 и 24. Второй элемент И 29 служит для пропуска на выход блока 18 сигнала Ошибка преобразования по окончании выполнения преобразований устройством.

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

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

Похожие патенты SU1476490A2

название год авторы номер документа
Устройство для перевода выражений в польскую инверсную запись 1980
  • Захаров Анатолий Иванович
  • Брякалов Геннадий Алексеевич
  • Ковалев Виктор Васильевич
  • Калмыков Николай Андреевич
SU890403A1
Устройство для перевода выражений в польскую инверсную запись 1981
  • Захаров Анатолий Иванович
  • Брякалов Геннадий Алексеевич
  • Ковалев Виктор Васильевич
  • Калмыков Николай Андреевич
SU991437A2
Устройство для перевода выражений в польскую инверсную запись 1982
  • Брякалов Геннадий Алексеевич
  • Булгаков Александр Александрович
  • Захаров Анатолий Иванович
  • Калмыков Николай Андреевич
  • Ковалев Виктор Васильевич
SU1130879A1
Синтаксический анализатор 1986
  • Вавилов Сергей Николаевич
  • Водопьянов Виталий Константинович
  • Цымбал Валерий Николаевич
SU1334149A1
Синтаксический анализатор 1986
  • Волков Виталий Николаевич
  • Вавилов Сергей Николаевич
  • Водопьянов Виталий Константинович
  • Цымбал Валерий Николаевич
SU1399741A1
Синтаксический анализатор 1987
  • Водопьянов Виталий Константинович
  • Волков Виталий Николаевич
  • Зайцев Сергей Павлович
  • Назарьян Георгий Вартанович
  • Орлов Юрий Алексеевич
SU1439594A1
Устройство для преобразования выражений в польскую инверсную запись 1985
  • Водопьянов Виталий Константинович
  • Завьялов Валерий Николаевич
  • Цымбал Валерий Николаевич
SU1290358A1
НЕЙРОПРОЦЕССОР, УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ ФУНКЦИЙ НАСЫЩЕНИЯ, ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО И СУММАТОР 1998
  • Черников В.М.
  • Виксне П.Е.
  • Фомин Д.В.
  • Шевченко П.А.
  • Яфраков М.Ф.
RU2131145C1
Синтаксический анализатор 1987
  • Водопьянов Виталий Константинович
  • Зайцев Сергей Павлович
  • Волков Виталий Николаевич
  • Назарьян Георгий Вартанович
  • Орлов Юрий Алексеевич
SU1439591A1
Параллельный синтаксический анализатор 1987
  • Водопьянов Виталий Константинович
  • Орлов Юрий Алексеевич
  • Вавилов Сергей Николаевич
  • Волков Виталий Николаевич
  • Зайцев Сергей Павлович
SU1465894A1

Иллюстрации к изобретению SU 1 476 490 A2

Реферат патента 1989 года Устройство для перевода выражений в польскую инверсную запись

Изобретение относится к вычислительной технике и может найти практическое применение в автоматизированных системах производства программ для ЦВМ. Целью изобретения является повышение достоверности преобразования информации путем поразрядного контроля по модулю результатов работы устройства. Для достижения этой цели устройство снабжено первым и вторым элементами ИЛИ 16 и 17 и блоком 18 контроля результатов преобразования, который состоит из трех полусумматоров, регистров-аккумуляторов, двух элементов задержки, двух элементов И, элемента ИЛИ-НЕ, элемента ИЛИ. Устройство позволяет осуществлять преобразование выражений в польскую инверсную запись в темпе последовательного чтения входного выражения, осуществляя при этом контроль правильности как исходных выражений, так и преобразований, что значительно повышает надежность и достоверность работы устройства. 2 ил.

Формула изобретения SU 1 476 490 A2

вие всех элементов устройства и пред- раторы 2 и 6, причем первый разделяставляет собой типовую схему микро-ет их на операнды, операции и скобпрограммного управления. Группа эле-4ки.

ментов ИЛИ 9, группы элементов И 10 Если очередная лексическая еди13 управляют передачами лексическихница - левая скобка, то дешифратор

2 запускает блок 8 управления, управляющий сигнал которого разрешает запись этой единицы через группу элементов И 1 1 из входного регистра I в магазинную память 3. Одновременно сигнал с дешифратора 2 подается на блок 15, где фиксируется ее наличие в исходном выражении. Поскольку в выходном регистре 14 формируется бесскобочная форма записи выражений, то лексические единицы входного выражения - левая и правая скобки, а также лексическая единица - конец выражения, должны быть исключены из процесса контроля. С этой целью сигнал с дешифратора 2, соответствующий левой скобке, подается в блок 18 контроля результатов преобразования на первый вход элемента ИЛИ-НБ 19 и через первый элемент И 21 блокирует работу второго регистра-аккумулятора 24. В этом случае код лексической единицы - левой скобки, поступает с входного регистра 1 На второй полусумматор 26, но в регистре-аккумуляторе 24 не зафиксируется. Так как эта лексическая единица записывается только в магазинную память 3 и в вы10

15

20

25

выходном регистре 14, он поступает на первую группу входов первого пол сумматора и фиксируется в первом ре гистре-аккумуляторе 23 с помощью си нала с шестого выхода блока 8 управ ления, прошедшего через второй элемент ИЛИ 17 и задержанного вторым элементом 22 задержки.

Если.очередная лексическая единица - операция, то сигнал с выхода дешифратора 2 лексических единиц запускает блок 8 управления, а в блоках 4-7 начинается процесс выработки и сравнения приоритетов.По результату работы схемы 7 сравнения приоритетов лексических единиц-- операций блок 8 управления организует либо запись через группу элементов И 11 в магазинную память, либо чтение из нее лексических единиц с большим приоритетом В режиме чтения лексическая единица - операция, записывается через группы элементов И 12 и ИЛИ 9 в выходной регистр 14.

Одновременно сигнал с дешифратора 2 подается на блок 15 и фиксируется в нем. В это же время код лексической единицы - операции, с группы выходном регистре 14 никогда не бывает, зо ходов входного регистра I поступает

в первом полусумматоре 25 никаких изменений не происходит.

Если очередная лексическая единица - операнд, то дешифратор 2 запускает блок 8 управления, управляющий сигнал которого разрешает через группу элементов И 10 и ИЛИ 9 перепись кода операнда из входного регистра 1 на выходной регистр 14. Одновременно сигнал с дешифратора 2 подается на блок 15 и фиксируется им. В это же время код лексической единицы - операнда, с группы выходов входного регистра 1 поступает на первую группу входов второго полусумматора 26 блока контроля 18. Поскольку с дешифратора 2 лексических единиц в этом случае на элемент ИЛИ-НЕ 19 ничего не поступает, он готовит к работе первый элемент И 21. По сигналу с седьмого выхода блока 8 управления, задержанному первым элементом 20 задержки и прошедшему через первьй элемент И 21, во втором регистре-аккумуляторе 24 фиксируется код лексической единицы - операнда, поступивший с выхода второго полусумматора.

Так как этот же код лексической единицы - операнда, находится уже в

35

40

в блок контроля 18 на первую группу входов второго полусумматора 26, где с помощью регистра-аккумулятора 24 осуществляется поразрядное суммирование по модулю два накопленной в регистре-аккумуляторе и вновь поступившей входной информации. Этот процесс управляется сигналом с седьмого выхода блока управления 8, как и в случае прихода лексической единицы - операнда.

При записи лексической единицы - .операции, в магазинную память 3 она отсутствует в выходном регистре 14, 45 и, следовательно, на первой группе входов первого полусумматора 25. Кро ме того, блокируется сигнал с пятого Ьыхода блока 8 управления, поэтому никаких изменений в регистре-аккумуляторе 23 не происходит.

И наоборот, при чтении лексических единиц - операций, из магазинной памяти 3 они поступают в выходной регистр 14. По сигналу с пятого выхода блока 8 управления, прошедщему через второй элемент ИЛИ 17, в первом регистре-аккумуляторе 23 фиксируется результат поразрядного суммирования

50

55

по модулю два выходной информации,

0

5

0

5

выходном регистре 14, он поступает на первую группу входов первого полусумматора и фиксируется в первом регистре-аккумуляторе 23 с помощью сигнала с шестого выхода блока 8 управления, прошедшего через второй элемент ИЛИ 17 и задержанного вторым элементом 22 задержки.

Если.очередная лексическая единица - операция, то сигнал с выхода дешифратора 2 лексических единиц запускает блок 8 управления, а в блоках 4-7 начинается процесс выработки и сравнения приоритетов.По результату работы схемы 7 сравнения приоритетов лексических единиц-- операций, блок 8 управления организует либо запись через группу элементов И 11 в магазинную память, либо чтение из нее лексических единиц с большим приоритетом В режиме чтения лексическая единица - операция, записывается через группы элементов И 12 и ИЛИ 9 в выходной регистр 14.

Одновременно сигнал с дешифратора 2 подается на блок 15 и фиксируется в нем. В это же время код лексической единицы - операции, с группы выходов входного регистра I поступает

в блок контроля 18 на первую группу входов второго полусумматора 26, где с помощью регистра-аккумулятора 24 осуществляется поразрядное суммирование по модулю два накопленной в регистре-аккумуляторе и вновь поступившей входной информации. Этот процесс управляется сигналом с седьмого выхода блока управления 8, как и в случае прихода лексической единицы - операнда.

При записи лексической единицы - .операции, в магазинную память 3 она отсутствует в выходном регистре 14, и, следовательно, на первой группе входов первого полусумматора 25. Кроме того, блокируется сигнал с пятого Ьыхода блока 8 управления, поэтому никаких изменений в регистре-аккумуляторе 23 не происходит.

И наоборот, при чтении лексических единиц - операций, из магазинной памяти 3 они поступают в выходной регистр 14. По сигналу с пятого выхода блока 8 управления, прошедщему через второй элемент ИЛИ 17, в первом регистре-аккумуляторе 23 фиксируется результат поразрядного суммирования

по модулю два выходной информации,

которое выполняет первый полусумматор 25.

Когда на входном регистре 1 появляется лексическая единица - правая скобка, блок 8 управления блокирует входной регистр 1 и организует режим чтения из магазинной памяти 3 и запись ее содержимого в выходной регистр 14 до тех пор, пока на регистр 4 кодов операций магазинной памяти не поступит код лексической единицы левой скобки.

Одновременно с этим сигнал с дешифратора 2 подается на блок 15 и фиксируется им. В блоке 18 -контроля сигнал с дешифратора 2 лексических единиц, соответствующий правой скобке, поступает на второй вход элемен15 через первый элемент ИЛИ 16 поступает на вход Останов блока 8 управления. На этот же элемент ИЛИ в случае необходимости поступают сигналы с блока 15 проверки исходного выражения на наличие и порядок следования лексических единиц.

Таким образом, предлагаемое устройство позволяет осуществлять преобразование выражений в форму ПОЛИЗ

20

та ИЛИ-НЕ 19 и через первый элемент И 21 блокирует второй регистр-аккумулятор 24.

Наоборот, при чтении из магазинной памяти 3 в выходной регистр 14 осуществляется поразрядное суммирова- 25 в темпе последовательного ввода вход- ние по модулю два содержимого первого ного выражения с одновременным кон- полусумматора 25 и первого регистра- тролем наличия и порядка следования

аккумулятора 23, как было описано выше.

Преобразование входного выражения в форме ПОЛИЗ происходит до тех пор, пока в регистре 1 не окажется лексическая единица Конец выражения „ При этом блок управления осуществляе последовательное чтение содержимого магазинной памяти 3 и запись в выходной регистр 140 После полного освобождения магазинной памяти 3 регистр 1 разблокируется и на него могут поступать лексические единицы следующего выражения. Цикл работы устройства повторяется о Одновременно проверяется результат работы блока 15, а в блоке 18 выполняются завершающие операции по контролю преобразованной информации. Так как магазинная память 3 полностью освобождается и ее содержимое переписывается в выходной регистр 14 (кроме левой скобки ), первьй полусумматор 25 продолжает поразрядное суммирование по модулю два кодов поступающих на него лексических единиц и содержимым первого регистра-аккумулятора 23.

На протяжении всей работы блока 18 контроля содержимое первого и второго регистров-аккумуляторов 23 и 24 поступает соответственно на первую и втррую группы входов третьего полусумматора, где тоже осуществляется поразрядное суммирование, а совместно с элементом СЛИ 28 и сравнение кодов результатов. Наличие единицы на выходе элемента ИЛИ 28 свидетельствует о несовпадении кодов, хранящихся в регистрах-аккумуляторах 23 и 24, и об ошибке преобразования выражений.

0 С помощью второго элемента И 29 сигнал ошибки поступает на выход блока 18, когда с инверсного выхода триггера блока 8 управления поступает сигнал опроса. Затем сигнал ошибки

5 через первый элемент ИЛИ 16 поступает на вход Останов блока 8 управления. На этот же элемент ИЛИ в случае необходимости поступают сигналы с блока 15 проверки исходного выражения на наличие и порядок следования лексических единиц.

Таким образом, предлагаемое устройство позволяет осуществлять преобразование выражений в форму ПОЛИЗ

0

25 в темпе последовательного ввода вход- ного выражения с одновременным кон- тролем наличия и порядка следования

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

Таким образом,сокращается количет ство неверно преобразованной информации, поступающей с устройства в ЭВМ, а значит, в экономится полезное ма- i

шинное время, что приводит к повыша..

ниго эффективности автоматизированных

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

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

Устройство для перевода выражений в польскую инверсную запись по авт. св. № 991437, отличающееся тем, что, с целью повышения достоверности преобразования информации, в него введены первый и второй элементы ИЛИ и блок контроля результатов преобразования, содержащий первьй, второй и третий полусумматоры, первый и второй регистры-аккумуляторы, первый и второй элементы за-. держки, первый, второй элементы И, элемент ИЛИ-НЕ, третий элемент ИЛИ, причем первая группа входов первого полусумматора подключена к группе выходов выходного регистра, а вторая группа входов первого полусумматора соединена с группой выходов

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

0 соответствующим входам третьего элемента ИЛИ, выход которого соединен с первым входом второго элемента И,второй вход которого подключен к инверсному выходу триггера блока управ5 ления, а выход элемента И является выходом Ошибка преобразования устройства и подключен к первому входу первого элемента ИЛИ, второй вход которого подключен к выходу Ошибка

0 блока проверки исходного выражения на наличие и порядок следования лексических единиц, а выход первого элемента ИЛИ подключен к входу Останов блока управления.

Документы, цитированные в отчете о поиске Патент 1989 года SU1476490A2

Устройство для перевода выражений в польскую инверсную запись 1981
  • Захаров Анатолий Иванович
  • Брякалов Геннадий Алексеевич
  • Ковалев Виктор Васильевич
  • Калмыков Николай Андреевич
SU991437A2
Приспособление для точного наложения листов бумаги при снятии оттисков 1922
  • Асафов Н.И.
SU6A1

SU 1 476 490 A2

Авторы

Брякалов Геннадий Алексеевич

Запорожец Алексей Владимирович

Захаров Анатолий Иванович

Шептуха Сергей Максимович

Даты

1989-04-30Публикация

1987-11-24Подача