SU1034043A1 - Устройство дл лексического анализа метамикроассемблера - Google Patents

Устройство дл лексического анализа метамикроассемблера Download PDF

Info

Publication number
SU1034043A1
SU1034043A1 SU823411054A SU3411054A SU1034043A1 SU 1034043 A1 SU1034043 A1 SU 1034043A1 SU 823411054 A SU823411054 A SU 823411054A SU 3411054 A SU3411054 A SU 3411054A SU 1034043 A1 SU1034043 A1 SU 1034043A1
Authority
SU
USSR - Soviet Union
Prior art keywords
input
output
register
information
block
Prior art date
Application number
SU823411054A
Other languages
English (en)
Inventor
Александр Алексеевич Бекасов
Владимир Максимович Кисельников
Валерий Антонович Торгашев
Вячеслав Иванович Шкиртиль
Original Assignee
Ленинградский Институт Авиационного Приборостроения
Ленинградский Научно-Исследовательский Вычислительный Центр Ан Ссср
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 Ленинградский Институт Авиационного Приборостроения, Ленинградский Научно-Исследовательский Вычислительный Центр Ан Ссср filed Critical Ленинградский Институт Авиационного Приборостроения
Priority to SU823411054A priority Critical patent/SU1034043A1/ru
Application granted granted Critical
Publication of SU1034043A1 publication Critical patent/SU1034043A1/ru

Links

Abstract

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

Description

со
О
4
со
2. Устройство по П.1, отличающеес  тем, что блок управлени  содержит .-триггеры, элементы И и ИЛИ, генератор синхроимпульсов и дешифратор, вход которого  вл етс  входом блока, первый, второй, третий и четвертый выходы дешифратора соединены соответственно с первым и вторым входами пе;рвого триггера , с первым входом второго триггера и с первым входом первого .&лемента И, выход которого соединен с первым входом блока, с первым входом второго элемента И и с вторым входом второго триггера, выход которого соединен с первым входом
третьего элемента И и с входом третьего триггера, выход которого подключен к второму входу треть-его элемента И, выход последнего соединен с вторым входом блока и с первым входом четвертого элемента И, выход которого соединен с первым входом элемента-ИЛИ, выход последнего соединен с третьим выходом блока, выход генератора синхроимпульсов соединен с. четвертым выходом блока и с вторыми входами второго и четвертого элементов И, выход второго элемента И соединен с вторым входом элемента ИЛИ второй вход первого элемента И соедине с выходом первого триггера.
Изобретение относитс  к вычислитель ной технике и может быть использован дл  лексического анализа в микроас- сёмблерах (в трансл торах с  зыков. микропрограммировани ), в которых отдельнь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

Claims (3)

1. УСТРОЙСТВО ДЛЯ ЛЕКСИЧЕСКОГО АНАЛИЗА МЕТАМИКРОАССЕМБЛЕРА, содержащее блок управления, два регистра, информационный вход первого из которых является информационным входом устройства, выход второго регистра является информационным выходом устройства, отличаю- : щ е е с я тем, что, с целью расширения функциональных возможностей устройства за счет обеспечения независимости от языков программирования и систем кодирования символов и сокращения временных затрат на грамматический .разбор, в него введены шифратор, коммутатор и блок памяти номера алфавита, причем выход первого регистра соединен с первыми входами шифратора и коммутатора, выход шифратора соединен с входом блока управления, первый, второй, третий и четвертый выходы которого соединены соответственно с вторым и третьим входами коммутатора, с первым входом второго регистра и с управляющим |входом первого регистра, выход коммутатора соединен с. вторым входом второго регистра, выход блока памяти номера алфавита соединен с вторым входом шифратора.
o,SU .„,1034043
10J4U43
2. Устройство по п.1, отличающееся тем, что блок управления содержит/триггеры, элементы И и ИЛИ, генератор синхроимпульсов и дешифратор, вход которого является входом блока, первый, второй, третий и четвертый выходы дешифратора соединены соответственно с первым и вторым входами первого триггера, с первым входом второго триггера и с первым входом первого,элемента И, выход которого соединен с первым входом блока, с первым входом второго элемента И и с вторым входом второго триггера, выход которого соединен с первым входом третьего элемента И и с входом третьего триггера, выход которого подключен к второму входу третьего элемента И, выход последнего соединен с вторым входом блока и с первым входом четвертого элемента И, выход которого соединен с первым входом элемента-ИЛИ, выход последнего соединен с третьим выходом блока, выход генератора синхроимпульсов соединен с. четвертым выходом блока и с вторыми входами второго и четвертого элементов И, выход второго элемента И соединен с вторым входом элемента ИЛИ, второй вход первого элемента И соединен с выходом первого триггера.
)блок стековой памяти управляющих символов, управляющий вход которого соединен с выходом блока управления, информационный вход - с информационным выходом блока чтения программы, информационный выход - с информационным входом блока чтения программы, счетчик управляющих символов, счетный вход которого соединен с выходом блока управления, выход - с адресным входом блока стековой памяти управляющих символов, блок анализа управляющих символов, первый информационный
5 вход которого соединен с информационным выходом блока чтения программы, второй информационный вход подключен к информационному выходу блока стековой памяти управляющих символов, выход соединен с входом блока управле НИЯ [2 3.
Однако в связи с широким распространением микропрограммируемых микропроцессорных наборов больших интег ' тральных схем ( БИС) и как следствие этого появление множества языков микропрограммирования, ориентированных на различные системы кодирования символов, появилась необходимость создания универсального устройства лексического анализа, которое можно быстро приспособить к новой системе :кодирования и к новому языку.
SU823411054A 1982-03-24 1982-03-24 Устройство дл лексического анализа метамикроассемблера SU1034043A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU823411054A SU1034043A1 (ru) 1982-03-24 1982-03-24 Устройство дл лексического анализа метамикроассемблера

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU823411054A SU1034043A1 (ru) 1982-03-24 1982-03-24 Устройство дл лексического анализа метамикроассемблера

Publications (1)

Publication Number Publication Date
SU1034043A1 true SU1034043A1 (ru) 1983-08-07

Family

ID=21002428

Family Applications (1)

Application Number Title Priority Date Filing Date
SU823411054A SU1034043A1 (ru) 1982-03-24 1982-03-24 Устройство дл лексического анализа метамикроассемблера

Country Status (1)

Country Link
SU (1) SU1034043A1 (ru)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781760A (en) * 1995-11-16 1998-07-14 Motorola, Inc. Methods of simulating an electronic circuit design and forming an integrated circuit
US6021271A (en) * 1998-01-15 2000-02-01 Motorola, Inc. Methods of simulating an electronic circuit design

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1.Докован Дж.Системное программирование. М., Мир, 1975,.с.296-387. 2. Авторское свидетельство СССР № 519715, кл. 606F 15/04, 1974 ПрОТОТИП V *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5781760A (en) * 1995-11-16 1998-07-14 Motorola, Inc. Methods of simulating an electronic circuit design and forming an integrated circuit
US6021271A (en) * 1998-01-15 2000-02-01 Motorola, Inc. Methods of simulating an electronic circuit design

Similar Documents

Publication Publication Date Title
JPS5875240A (ja) デ−タ信号検査方式
SU1034043A1 (ru) Устройство дл лексического анализа метамикроассемблера
Fernau Membership for 1-limited ET0L languages is not decidable
Soulié C++ Language Tutorial
GB1070423A (en) Improvements in or relating to variable word length data processing apparatus
Mössenböck Alex—A simple and efficient scanner generator
Sabin Portability—some experiences with FORTRAN
SU1153329A1 (ru) Устройство дл лексического анализа метатрансл тора
SU830386A1 (ru) Микропрограммное устройствоупРАВлЕНи
Morris et al. A system program generator
SU1182537A1 (ru) Устройство для лексического анализа метамикроассемблера
Roberts Jr et al. Microprogrammed control unit (mcu) programming reference manual
Salman et al. Forth
SU885078A1 (ru) Узел автоматического слогоотделени
CN101601011A (zh) 用于对计算机架构条件码设置进行有效仿真的方法
SU1399741A1 (ru) Синтаксический анализатор
Plum Notes on the draft C standard
Horton et al. Working with Strings
SU657431A1 (ru) Устройство дл ввода- вывода информации
SU1049907A1 (ru) Микропрограммное устройство управлени
SU497578A1 (ru) Мультиплексный канал
SU1080132A1 (ru) Устройство дл ввода информации
SU920689A1 (ru) Устройство дл ввода информации
Scowen Some aids for program documentation
SU1363478A1 (ru) Преобразователь кодов