SU1034043A1 - Устройство дл лексического анализа метамикроассемблера - Google Patents
Устройство дл лексического анализа метамикроассемблера Download PDFInfo
- 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
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.
Однако в связи с широким распространением микропрограммируемых микропроцессорных наборов больших интег ' тральных схем ( БИС) и как следствие этого появление множества языков микропрограммирования, ориентированных на различные системы кодирования символов, появилась необходимость создания универсального устройства лексического анализа, которое можно быстро приспособить к новой системе :кодирования и к новому языку.
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)
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 |
-
1982
- 1982-03-24 SU SU823411054A patent/SU1034043A1/ru active
Non-Patent Citations (1)
Title |
---|
1.Докован Дж.Системное программирование. М., Мир, 1975,.с.296-387. 2. Авторское свидетельство СССР № 519715, кл. 606F 15/04, 1974 ПрОТОТИП V * |
Cited By (2)
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) | Преобразователь кодов |