Устройство для лексического анализа метамикроассемблера Советский патент 1983 года по МПК G06F15/04 

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

со

О

4

со

2. Устройство по П.1, отличающееся тем, что блок управления содержит .-триггеры, элементы И и ИЛИ, генератор синхроимпульсов и дешифратор, вход которого является входом блока, первый, второй, третий и четвертый выходы дешифратора соединены соответственно с первым и вторым входами пе;рвого триггера, с первым входом второго триггера и с первым входом первого .&лемента И, выход которого соединен с первым входом блока, с первым входом второго элемента И и с вторым входом второго триггера, выход которого соединен с первым входом

третьего элемента И и с входом третьего триггера, выход которого подключен к второму входу треть-его элемента И, выход последнего соединен с вторым входом блока и с первым входом четвертого элемента И, выход которого соединен с первым входом элемента-ИЛИ, выход последнего соединен с третьим выходом блока, выход генератора синхроимпульсов соединен с. четвертым выходом блока и с вторыми входами второго и четвертого элементов И, выход второго элемента И соединен с вторым входом элемента ИЛИ второй вход первого элемента И соедине с выходом первого триггера.

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

название год авторы номер документа
Устройство для лексического анализа метатранслятора 1983
  • Александрова Людмила Анатольевна
  • Бекасов Александр Алексеевич
  • Биспен Вероника Николаевна
  • Шкиртиль Вячеслав Иванович
SU1153329A1
Устройство для лексического анализа символьного текста 1984
  • Горбачев Сергей Владимирович
  • Диденко Владимир Дмитриевич
  • Горбачева Альбина Михайловна
  • Торгашев Валерий Антонович
SU1187173A1
Устройство для параметрической автогенерации символьного текста 1985
  • Горбачев Сергей Владимирович
  • Диденко Владимир Дмитриевич
  • Лебедев Юрий Владимирович
  • Торгашев Валерий Антонович
SU1439621A1
Устройство для лексического анализа программ 1987
  • Фомичев Владимир Степанович
  • Разумовский Геннадий Васильевич
  • Познянский Андрей Измаилович
  • Сафъянников Николай Михайлович
SU1418757A1
УСТРОЙСТВО ДЛЯ ОБРАБОТКИ СИМВОЛЬНОЙ ИНФОРМАЦИИ 1991
  • Арбузова Т.А.
  • Валов А.А.
  • Герасимов И.В.
RU2010319C1
Устройство для лексического анализа программ 1984
  • Соколов Сергей Алексеевич
  • Курносов Михаил Алексеевич
  • Савченко Сергей Валентинович
  • Гахов Роман Павеласович
  • Николаев Андрей Николаевич
SU1238103A1
УСТРОЙСТВО ДЛЯ ОБЪЕДИНЕНИЯ ЛЕКСИЧЕСКИХ МНОЖЕСТВ 1990
  • Кишенский С.Ж.
  • Игнатьев В.Э.
  • Кузьмин А.Л.
  • Христенко О.Ю.
RU2022354C1
Микропрограммное устройство для анализа программ 1980
  • Кошелев Владимир Павлович
  • Сидоров Юрий Владимирович
SU943729A1
Устройство синтаксически управляемого перевода 1986
  • Фомичев Владимир Степанович
  • Разумовский Геннадий Васильевич
  • Познянский Андрей Измайлович
SU1399767A1
Устройство для сопряжения ЭВМ с внешними устройствами 1988
  • Корнейчук Виктор Иванович
  • Сороко Владимир Николаевич
  • Журавлев Олег Владиславович
  • Езикян Александр Гургенович
SU1536392A1

Иллюстрации к изобретению SU 1 034 043 A1

Реферат патента 1983 года Устройство для лексического анализа метамикроассемблера

1. УСТРОЙСТВО ДЛЯ ЛЕКСИЧЕСКОГО АНАЛИЗА МЕТАМИКРОАССЕМБЛЕРА, содержащее блок управления, два регистра, информационный вход первого из которых является инфор«1ационным входом устройства, выход второго регистра является информационным выходом устройства, о т л и ч аю- : щ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет обеспечения независимости от языков програ1упчиров.ания и систем кодирования символов и сокращения временных затрат на грамматический, разбор, в него введены шифратор, коммутатор и блок памяти номера алфавита, причем выход первого регистра соединен с первыми входами шифратора и коммутатора, выход шифратора соединен с входом блока управления, первый, второй, третий и четвертый выходы которого соединены соответственно с вторым и третьим входами коммутатора, | с первым входом второго регистра СО и с управляющим |входом первого регистра, выход коммутатора соединен с. с вторым входом второго регистра, выход блока памяти номера алфавита соединен с вторым входом шифратора. g

Формула изобретения SU 1 034 043 A1

Изобретение относится к вычислитель ной технике и может быть использован для лексического анализа в микроас- сёмблерах (в трансляторах с языков. микропрограммирования), в которых отдельнь1м полям микрокоманды соответствуют символьные, имена. Данные микроассемблеры переводят символьные имена отдельных полей микрокоманд -в коды, а затем производят упаковку их в формат микрокоманды.

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

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

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

Однако в связи с широким распространением микропрограммируемых микропроцессорных наборов больших инте. гральньдх схем (БИС) и как следствие этого появление множества языков микропрограммирования, ориентированных на различные системы кодирования символов, появилась необходимость создания универсального устройства лексического анализа, которое можно быстро приспособить к новой системе кодирования и к новому языку.

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

Цель изобретения - расширение функциональных возможностей устройства за счет обеспечения независимо ти от языков программирования и систем кодирования символов и сокра щение временных затрат на грамматический разбор. Поставленная цель достигается те что в устройство для лексического анализа метамикроассемблера, содер:жащее «Злок управления, два регистра информационный вход первого из кото рых является информационным входом устройства, выход второго регистра является информационным выходом уст ройства, введены шифратор, коммутатор и блок памяти номера алфавита, причем выход Первого регистра соединен с первыми входами шифратора и коммутатора, выход шифратора соединен с входом блока управленияj первый, BTOjgoA, третий и четвертый вьзходы которого соединены соответст венно с вторым и третьим входами коммутатора, с первым входом второго регистра и с управляющим входом пер вого регистра, выход коммутатора соединен с вторым входом второго ре гистра, выход блока памяти номера алфавита соединен с вторым входом шифратора. Причём блок управления содержит триггеры, элементы И и ИЛИ, генера тор синхроимпульсов и дешифратор, вход которого является входом блока п ервнй, второй,., третий и четверть выходы дешифратора соединены соответственно с первым и вторым входам перво17о Tpjirrepa, с первым входом второго триггера и с первым входом первого элемента И, выход которого соединен с первым входом блока, с первым входом второго элемента И.и с вторым входом второго триггера, выход которого соединен с первым входом третьего элемента И и с входом третьего триггера, выход которо го подключен к второму входу третье го элемента И, выход последнего соединен с вторым входом блока и с первым входом четвертого элемента И выход которого соединен с первым входом элемента ИЛИ, выход последнего соединен с третьим выходом блока, выход генератора синхроимпул сов соединен с четвертым выходом блока и с вторыми входами второго и четвертого элементов И, выход второго элемента И соединен с вторым входом элемента ИЛИ, второй вход первого элемента И соединен с выходом первого триггера. На фиг.1 приведена блок-схема предлагаемого устройства; Iна фиг.2 вариант выполнения устройстваГ на фиг.З - эпюры напряжений генератора синхроимпульсов блока управления устройства. .Устройство содержит регистры 1 и 2,. шифратор 3, блок 4 управления. коммутатор 5; блок 6 памяти, номера алфавита дешифратор 7, триггеры .; 8-10, элементы И 11-14, элемент ИЛИ 15, генератор 16 синхроимпульсов, группы элементов И 17 и 18, группу элементов ИЛИ 19, узел 20 памяти кон-. станты. .. Регистр 1 предназначен для хране-;; ния строки символов, являющейся частью микропрограммы пользователя, и мо- жат быть собран на сдвигающих регистрах. Регистр 2 предназначен для хранения сжатой строки символов (оператора языка микропрограммирования), содержащей только лексемы (последовательности символов, имеющие смысло- вое значение в языке микропрограммирования) f отделенные друг от друга служебными разделителями, и может быть собран на сдвигающих регистрах, Шифратор 3 предназначен для выработки уп равляющего кода по коду символов, поступающему из регистра 1, и по коду номера алфавита, поступающему иэ блока 6 памяти номера алфлвита, для управления грамматическим разбором для языков микропрограмми- ; рования. .: Блок 4 управления предназначен . для выр.аботки управляющих сигналов по коду, поступающему из шифратора 3, разрешающих либо пропуск кода символа из регистра 1 в регистр 2, либо запись кода, внутреннего служебно- го разделителя из узла 20 .в регистр / 2, либо игнорирование символов из регистра 1 (например, последовательность разделителей или комментариев). Коммутатор 5 предназначен для пропуска одногб из двух кодов. Блок б памяти номера алфавита предназначен. для хранения кода номера алфавита, который может меняться в процессе работы (например, при переходе от ла- ; тинского алфавита к русскому и на. оборот). Принцип работы устройства основан на том, что при лексическом анализе необходимо выделить лексемы (смысловые конструкции микро- , программирования) и передать их для синтаксического анализа. Как правило, все яЭыки микропрограммирования допускают расстановку разделителей (например, пробелов, символов возврата каретки и перевода строки,, табуляции и т.д.) в неограниченном количестве, а также.использование комментариев, улучшающих читаемос.ть програг №1 (микропрограмм) человекомtно в то же время усложняющих работу транслятора. Устройство лексического анализа преобразует входной текст программы (микропрограммы) в удобный для синтактического анализа вид, т.е. заменяет последовательности разделителей одним внутренним разделителем и убирает из текста комментарии. Для наглядности все символы алфавита языка программирования- (микропрограммирования) можно разделить на 4 группы: информационные символы, из кото рых состоят лексемы, служебные разд лители; символ Начало комментария СИМ-ВОЛ Конец комментария. Поэтому каждому коду символа алфавита языка микропрограммирования можно поставить в соответствие управляющий код, по которому производятся необходимые действия. Так, для первой группы символов производ ся простая перезапись из регистра 1 в регистр 2. Для второй группы символов Производится замена символа на код внутреннего разделителя и, если они продолжаются, уничтожаются следующие до тех пор, пока не встре тится символ из первой группы. Для третьей группы символов производитс запрет пропуска символов из регистра 1 в регистр 2 до тех пор, пока не встретится символ из четвертой , группы, который разрешает пропуск следующего символа. В регистре 1 хранится строка тек микропрограммы. С выхода регистра 1 код крайнего левого симв-ола поступа ет на вход шифратора 3, а на второй вход шифратора 3 поступает код номе ра алфавита с выхода блока б. По ко символа и коду номера алфавита шифр тор 3 выдает-двухразрядный код, соо ветствукадий группе символов (информационный символ, служебный раздели тель, символы начала или конца комментария) , которой подается на вход дешифратора 7 блока 4 управления. Дешифратор 7 на одном из четырех выходов в за.висимости от поступивше го управляющего кода вырабатывает единичный сигнал. Четыре выхода дешифратора 7 соот ветствуют четырем группам символов поэтому возможны- следующие действия Информационный символ. На выходе дешифратора 7 вырабатывается единичный сигнал, который поступает на вход элемента И 11. В зависимости от состояния триггера 8, который определяет, комментарий это или нет, возможны два варианта действий. Да, это комментарий. Тогда на выходе триггера 8 имеется нулевой сигнал, следовательно, и на выходе элемента И 11 тоже нулевой сигнал, который поступает на вход коммутато ра 5 и запрещает пропуск кода симво ла из регистра 1 а регистр 2. Нулевой сигнал .с элемента И 11 поступае на вход элемента И 13 и запрещает пропуск синхросигнала с генератора 16 на регистр 2, по которому производится сдвиг информации. В то же время элемент И 14 закрыт, так как на выходе дешифратора 7 нулевой сигнал, поэтому записи символов в регистр 2не происходит в связи с тем, что на выходе элемента И 14 нулевой сигнал, а следовательно, и на входе регистра 2. Синхроимпульс с генератора 16 блока 4 поступает на вход регистра 1, по которому происходит сдвиг информации на один символ. После сдвига синхроимпульс разрешает выдавать информацию с выхода шифратора 3на вход дешифратора 7. Нет, это не комментарий. Тогда на выходе триггера 8 находится единичный сигнал, а следовательно, и на выходе элемента 11 - единичный сигнал, который поступает на вход коммутатора 5,.разрешая пропуск кода символа из регистра 1 в регистр 2, на вход триггера 9 ( хранителя информации с последовательности-разделителей), устанавливая его в нулевое состояние на вход элемента 13, разрешая пропуск синхросигнала с генератора 16 через элементы 13 и 15 на вход регистра 2, по которому происходит запись кода символа в крайние правые разряды регистра 2, а затем сдвиг информации влево на символ. В то же время происходит сдвиг влево информации на символ в регистре 1. Служебный разделитель. На выходе дешифратора 7 вырабатывается единичный сигнал, который поступает на вход триггера 9 и устанавливает его в единичное состояние. За счет триггера 10 (задержка информации на такт) на элементе И 12 происходит выявление первого или не первого разделителя из последовательности разделителей. По первому разделителю вырабатывается единичный сигнал, разрешающий пропуск кода внутреннего разделителя из узла 20 через группу элементов И 18 и группу элементов ИЛИ 19 на вход (вход символа ) регистра 2 и пропуск синхросигнала с генератора 16 через элементы 14 и 15 на вход регистра 2, по которому .-.происходит запись кода в регистр 2, а затем и сдвиг влево на символ содержимого. Также происходит сдвиг влево на символ содержимого регистра 1. Это выполняется только при установке триггера 8 в положение Не комментарий на инверсном выходе триггера 8 единичный сигнал. Если это не первый разделитель, то элемент И 12 вырабатывает нулевой сигнал, запрещающий запись кода разделителя в регистр 2, и происходит только сдвиг влево содержимого регистра 1 на один символ. Начало комментария. На выходе дешифратора 7 вырабатывается единичный сигнал, который поступает на вход триггера 8 и устанавливает инверсный выход его в нулевое состояние. Тем самым запрещается запись символов в регистр 2 с помощью блокировки элемента И 11 до. тех пор, -пока не появится символ Конец комментария, по которому на выходе дешифратора 7 вырабатывается единичный сигнал, который поступает на вход триггера 8 и устанавливает его инверсный выход в единичное состоянйа.Тём самым разрушается работа всех элементов устройства,

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

Предлагаемое устройство за счет введения шифратора, коммутатора, бло ка памяти номера- алфавита позволяет уменьшить временные затраты на лексический анализ программ (микропрогг рамм пользователя и работать с несколькими алфавитами языков программирования. Например, для лексического разбора одного оператора на языке АЛГОЛ- б О на ЭВМ БЭСМ-б требуется от 6 МКС до 150 мс в зависимости от разбираемого оператора, а предлазгаемое устройство при периоде синхроимпульсов 100 с выполняет то же самре за время в диапазоне от 400 но 5 (оператор фо четыре символа, что :. :соответствует четырем периодам ) до . МКС, так как скорость работы на порядок выше.:.

фуг, 2

Ca jr/tffCffe ff t/

TPffjoeuw/iOi.fli iftex Pffjfffiffe Доаеакт / ffjffeofe- - -..-- ; - - , -

CffSVgff ;/ 1ЙГJffff

fiooeoKmff / aoffe

Cfffflfgff Mf- «Vf

jxfit/c/ffffff

0i/g.J

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

Печь для непрерывного получения сернистого натрия 1921
  • Настюков А.М.
  • Настюков К.И.
SU1A1
М., Мир, 1975,.с.296-387
Аппарат для очищения воды при помощи химических реактивов 1917
  • Гордон И.Д.
SU2A1
Устройство для обработки выражений языков программирования 1974
  • Адельсон-Вельский Георгий Максимович
  • Арлазаров Владимир Львович
  • Асратян Рубен Эзрасович
  • Волков Альберт Федорович
  • Деза Валерий Николаевич
  • Диниц Ефим Абрамович
  • Дагурова Наталья Витальевна
  • Емельянов Николай Евгеньевич
  • Зенкина Наталья Георгиевна
  • Лысиков Виктор Тихонович
  • Фараджев Игорь Александрович
SU519715A1
РАСПРЕДЕЛИТЕЛЬНЫЙ МЕХАНИЗМ ДЛЯ ДВИГАТЕЛЕЙ ВНУТРЕННЕГО ГОРЕНИЯ 1922
  • Сабанеев К.Д.
SU606A1

SU 1 034 043 A1

Авторы

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

Кисельников Владимир Максимович

Торгашев Валерий Антонович

Шкиртиль Вячеслав Иванович

Даты

1983-08-07Публикация

1982-03-24Подача