SU1399741A1 - Синтаксический анализатор - Google Patents
Синтаксический анализатор Download PDFInfo
- Publication number
- SU1399741A1 SU1399741A1 SU864089673A SU4089673A SU1399741A1 SU 1399741 A1 SU1399741 A1 SU 1399741A1 SU 864089673 A SU864089673 A SU 864089673A SU 4089673 A SU4089673 A SU 4089673A SU 1399741 A1 SU1399741 A1 SU 1399741A1
- Authority
- SU
- USSR - Soviet Union
- Prior art keywords
- input
- code
- output
- unit
- adder
- Prior art date
Links
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
Изобретение относитс к вьиис- лительной технике и может быть ., пользовано в автоматизированных системах обработки данных и производства программ дл ЭВМ, дл поддержки процессов трансл ции зыков высокого уровн . Цель изобретени - расширение функциональных возможностей за счет обеспечени бесприоритетного синтаксического анализа исходных выражений при одновременном повышении быстродействи и упрощении устройства Дл достижени указанных целей в устройство дополнительно введен блок 9 выделени аксиомы. Реализаци бесприоритетного синтаксического анализа сокраТцает аппаратурные затраты и увеличивает быстродействие синтаксического анализатора. Кроме того, введение блока 9, управл емого блоком 3 микропрограммного управлени , повьппает надежность и устойчивость работы синтаксического анализатора. 3 ил. (Л
Description
со со
-4
4
Изобретение относитс к вычислительной технике и может быть использовано в автоматизированных системах обработки данных и производства программ дл ЭВМ.
Цель изо(5ретени - расширение функциональных возможностей анализатора за счет обеспечени бесприоритетного синтаксического анализа ис- Ходных выргикений при одновременном повышении быстродействи и упрощении..
На фиг. 1 представлена структурна схема анализатора; на фиг. 2 - структурна схема блока пам ти; на 1ФИГ. 3 - блок-схема микропрограммного lynpaajleHHH анализатором. ; Синтаксический анализатор (фиг. 1) |содержит входной регистр 1, дешифра- |тор :2 лексических единиц, блок 3. управлени , вьтолненный, например, на программируемых логических матрицах , шифратор 4 основ, блок.5 пам ти, дешифратор 6,кодов операций, буферный |регистр 7, сумматор 8 и блок 9 выде- ;лёни аксиомы.
i В состав .блока 5 пам ти входит :группа реверсивных регистров 10 ; сдвига.
: Дл задани грамматики входного зыка разработан функционально полный набор видов основ, где терминальным символом или терминалом будем назьюать символ, однозначно соответствующий символу входного зыка. Нетерминальный символ или нетерминал - это символ, эквивалентный одному или целой группе символов входного зыка.
Входной регистр 1 используетс дл хранени очередной лексической единицы исходного выражени , дешифратор 2 лексических единиц раздел ет лексические единицы на операнды, операции, скобки.
Блок 3 управлени управл ет работой всех элементов устройства. При- мер его функционировани дл операций + и х описан блок-схемой микропрограммного управлени (фиг. 3), где входные сигналы , Х„ формирует дешифратор 2 лексических единиц X.f, Xg, X, - дешифратор кодов операций, а Х дешифратор аксиомы, На выходе блока 3 микропрограммного управлени формируютс сигналы микроопераций Yi,Y -Yij, и Y|5, а также сигналы Y,, Y, Y, tg.. , Y, Y,3, ,HB- л ющиес совокупност ми микроопераций . Содержательный смысл входных и выходных сигналов следующий:
1, если лексическа единица ис- . ходного напр жени есть открьгаающа скобка; О в противном случае.
Х,
5 0 5
g
5
X,
х,.X .
v
1 , если лексическа единица исходного выражени есть операнд;
О в противном случае.
1, если лексическа единица исходного выражени есть знак плюс;
О в противном случае.
1, если лексическа единица исходного выражени есть знак умножить;
О в противном случае.
1, если лексическа единица исходного выражени есть закрывающа скобка;
О в противном случае,
I, если терминал в (N-1). разр дах блока 5 пам ти есть код знака плюс;
О в противном случае.
1, если терминал в (N-1) разр дах блока 5 пам ти есть код знака умножить; О в противном случае.
X J
к
1, если лексическа единица исходного выражени есть знак конца выражени ;
О в противном случае.
1, если терминал в (N-l) разр дах блока 5 пам ти есть код открывающей скобки;
О в противном случае.
1, если в сумматоре содержитс
код нетерминала О в противном случае.
5
Y, у, , г СУ5. 4 {у,
Уг УП. УЭ Уг 9 УЧ J Э У|г
Y. fy,,. у,б ;
I yis 5
Уг. Y, у,;; Ye у,б; Yq Уп1 Y|o y,g ; Y, у ; Y,2 Ую Y,,, У4 ; Y, у, У5, у,
5 У,,.
де у.
крьшаюп1а скобка в буферный регистр 7;
сложение в сумматоре 8 кода терминала/нетерминала, поступающего из буферного регистра ,7;
запись кода терминала От- крьшающа скобка в блок 5 пам ти;
чтение следующей лексической единицы исходного выражени из входного регистра 1; запись кода нетерминала F в буферный регистр 7; запись кода нетерминала основы FxF в буферный регистр 7;
вычитание кода нетерминала основы из содержимого сумматора 8;
сдвиг на два разр да эправо (в сторону старших разр дов ) содержимого . блока 5 пам ти;
запись кода нетерминала основы (F) в буферный регистр 7;
запись кода нетерминала основы F-vF в буферный ре- . гистр 7;
вьщача сообщени Ошибка ; сдвиг на разр д влево содержимого блока 5 пам ти; - запись кода терминала Знак плюс в буферный регистр 7; запись кода терминала Зна- коумножитель в буферный per истр 7;
запись кода терминала Знак плюс в блок 5 пам ти;
запись кода терминала Знак умножени в блок 5 пам ти; запись кода терминала За- крьшающа скобка в блок 5 пам ти;
КоIt
У- У ,
.У4
у.; Уб у
УО у« y«t - у«УП - У.5 У (б У17 - У|8 запись кода терминала нец исходного выражени (знак 4J:) в блок 5 пам ти.
Шифратор 4 основ формирует коды
ерминалов и нетерминалов.
Блок 5 пам ти - это пам ть с поледовательным безадресным принципом аписи и чтени . В состав блока па ти (фиг. 2) входит группа реверивных сдвигающих регистров 10. Заый
а 1399741
пись информации производитс в старшие N-e разр ды параметров.
Реверсивные регистры 10 сдвига блока 5 пам ти поразр дно сдвигают
0
коды терминалов, а также совместно с дешифратором 6 кодов операций производ т выбор основы дл свертки исходного выражени .
0 Буферный 7 регистр используетс дл хранени кодов терминалов и нетерминалов .
Сумматор 8 вьтолн ет либо функцию вычитани кодов терминалов и не- 5 терминалов, либо функцию вычитани нетерминалов основ.
Блок 9 выделени аксиомы выдел ет код нетерминала F, определенный в качестве начального нетерминала 0 (или аксиомы) и соответствующей успешному завершению синтаксического анализа.
Устройство работает следующим образом.
5 Лексические единицы исходного выражени последовательно поступают на входной регистр 1, а затем на дешифратор 2 лексических единиц, ко- торый различает и выдел ет операнды, операции, скобки и выражени 4|.
При поступлении лексической единицы , например, открывающей скобки (, ) дешифратор 2 лексических -единиц запускает блок 3 управлени , который вырабатывает совокупность микроопераций (Y,). Управл ющие сигналы с блока 3 управлени поступают на вход шифратора А основ и формируют код терминала открьгаающей Q скобки, а затем разрешают запись кода терминала в буферный регистр 7 (микроопераци у и сложение его с содержимым сумматора 8 (микроопераци у), а также осуществл ют сдвиг на 1 разр д влево содержимого блока 5 пам ти (микроопераци у,2), запись в разр ды блока 5 пам ти кода терминального символа и разрешают чтение следующей лексической единицы из входного регистра 1 (микроопераци У4)..-Если следующа лексическа единица есть операнд (, Х,0, ), то блок 3 управлени выполн ет сое вокупность микроопераций (Y,j, Yj) : . на шифраторе 4 основ формируетс код нетерминала F, производитс запись кода нетерминального символа F в буферньШ регистр 7 (микроопераци
5
5
0
У-) происходит сложение кода и содержимого сумматора 8, выполн етс сдвиг на 1 разр д влево содержимого блока 5 пам ти (микрооперади у,) и вырабатываетс разрешающий сигнал на чтение очередной лексической еди- ниды из входного регистра 1, Если лексическа единида не была операндом (, Х,0, ), то формиру- етс управл ющий сигнал об ошибке (микроопераци у,,) .
Если очередна лексическа едини™ ца есть операди , например, знак плюс ()|, то дешифратор 2 логи- ческих единид запускает блок 3 управлени , входные сигналы ( Yg) которого формируют на шифраторе 4 основ код терминала Знак плюс, запись Кода в буферный регистр 7 (микроопе™ раци у,) и в старшие разр ды блока 5 пам ти (микрооперади -у,з) J сложени Кода терминального символа с содер жимым сумматора 8 (микроопераци у) И сбрасывает запрет на чтение оче- редной единицы из входного регистра 1, Если лексическа единица не операди (Х., ), то происходит формирование сигнала (Yjj)« сообщающего об ошибке.
Если следующа лексическа единица есть открывающа скобка ( Х,1), то дешифратор 2 лексических единид запускает блок 3 управлени , Который вырабатьгоает совокупность Микроопераций (Y) , и работа устройства повтор етс .
Если очередна лексическа единица есть не операнд и не открьша- Ьща скобка (, Х,0), то форми- руетс управл ющий сигнал об ошибке микроопераци , у,) .
Если очередна лексическа единица есть операнд (), то блок 3 управлени вьшолн ет совокупность микроопераций (Y, Y.) на шифраторе 4 основ формируетс код нетерминала F, производитс запись кода нетерминального символа F в буферный регистр 7 (микроопераци Ус.)з проис™
ходит сложение содержимого сумматора
8 и кода, выполн етс сдвиг на i разр д влево содержимого блока 5 пам - ти (микроопераци у,) и вырабатываетс разрешающий сигнал на чтение очередной лексической единицы из входного регистра 1,
Если очередна лексическа единица не знак операции, не закрьшаю
5 Q
„
0
В
5
ща скобка и не конец выражени (Х,0, , , ), то в блоке 3 управлени формируетс управл ющий сигнал выдачи ошибки (микроопераци у,) .
Если очередна лексическа единица есть знак (X,), или знак (), или закрьгеающа скобка (Xg 1) , или конец выражени 4 (Х 1) , то блок микропрограммного управлени формирует на шифраторе 4 основ код терминала Знак плюс, Знак умножить , Закрьгоающа скобка, Конец выражени соответственно, затем происходит запись соответствующего кода в N-й разр д блока 5 пам ти.
После записи кода терминала в старшие разр ды реверсивных регистров сдвига блока 5 пам ти содержимое (N-l)-x разр дов блока 5 пам ти поступает на вход дешифратора 6 кодов операций, который формирует сигнал, определ ющий вид основы дл свертки исходного выражени . Деши|)ратор 6 кодов операций запускает блок 3 управлени , который разрешает-выполнение операций (Y,,-Y,4) . Если в ()x разр дах реверсивных сдви- - гающих регистров находитс , например, код терминала Знак плюс (Xgi Oj ), то в буферный регистр 7 запи- сьюаетс код нетерминала основы ; F + F (микрооперади У|д) , затем из содержимого сумматора 8 вычитаетс код нетерминала основы (микроопераци у), а в буферный регистр 7 заноситс код нетерминала F (микроопераци У5), после чего производитс сложение кода нетерминала с содержимым сумматора 8 (микроопераци y-j) и осуществл етс сдвиг на 2 разр да вправо содержимого реверсивных сдвигающих регистров блока 5 пам ти (микроопераци у„),
Если в (N-l)-x разр дах реверсивных сдвигающих регистров находитс код терминала Знак умножени (), то в буферный регистр 7 записьшаетс ко д нетерминала основы F«P и следует операци Y}(}.,
Если в (N-l)-x разр дах реверсивных сдвигающих регистров находитс код терминала Закрьюающа скобка (, XT.O, ), то в буферный регистр 7 запись1ваетс код нетерминала основы (F) и следуют разрешение на чтение очередного символа на входной
регистр I (микроопераци у) и операци Y,.
Если выбрана несуществующа основа (, ,-Х,0), то в блоке 3 управлени формируетс управл ющий сигнал выдачи ошибки (Y.g).
Если очередна лексическа единица есть закрывающа скобка (), то дешифратор 2 лексических единиц д запускает блок 3 управлени , который вьшолн ет (Y) сдвиг на 1 разр д влево содержимое реверсивных сдвигающих регистров (микроопераци у),
ходит сдвиг на 1 разр д влево содержимого реверсивных сдвигающих регистров , в старшие разр ды которых за- письгваетс код терминала, после чего записьшаетс чтение с входного регистра I следующей лексической едини- ць1 исходного выражени .
Лексическай единица А дешифруетс дешифратором 2 как операнд (), и выдаетс сигнал на запуск блока 3 управлени , который разрешает формирование на шифраторе 4 основ кода нетерминала F, заносит его в
затем на шифраторе А основ происходит 5 буферный регистр 7, суммирует содерформирование кода терминала Закрывающа скобка и запись (Y) кода терминала в.блок 5 пам ти микроопераци у). Далее работа устройства повтор етс .
Если очередна лексическа единица не закрьгоающа скобка (), не конец выражени :Jf (), то, дешифратор 2 лексических единиц запускает блок 3 управлени , который вьшолн ет (YJ) сдвиг ,на 1 разр д влево содержимого реверсивных сдвигающих регисл ров (микроопераци у) . Далее работа устройства повтор етс .
Если очередна лексическа единица е.сть конец выражени (, ), то блок 9 выделени аксиомы осуществл ет проверку содержимого
сумматора 8. .1
Если сумматор 8 содержит код нетерминала F (, , ), то - входное выражение синтаксически правильно.
Если сумматор 8 содержит код другого символа (, ), то блок 3 управлени формирует сигнал об ошибке ().
Пример 1. Пусть входное вы- ражение имеет вид {A+(B+C) D f.Процесс синтаксического анализа происходит следующим образом. На входной регистр 1 поступает лексическа единица (, котора дешифратором 2 лекси- , ческих единиц определ етс как открывающа скобка (X.I), и происходит запуск блока 3 управлени , формирующего совокупность микроопераций, котора блокирует входной регистр 1, запускает шифратор 4 основ на формирование кода терминала Открьгоающа скобка. Затем происход т запись кода терминала в буферный регистр 7, сложение кода терминала с содержимым сумматора 8. В блоке 5 пам ти проис20
жимое сумматора 8 с кодом нетерминала производит сдвиг на 1 разр д влево содержимого блока 5 пам ти и снимает блокировку на чтение с входного регистра 1, с которого поступает очередна лексическа единица +. ,
Дешифратор 2 лексических единиц распознает ее как операцию () и возбуждает блок 3 управлени , ко- 25 торый запускает шифратор основ, фор- мирующий код.терминала Знак плюс, записьшаемый в буферный регистр 7 и в N-e разр ды реверсивных сдвигающих регистров блока 5 пам ти, происходит сложение кода терминала с содержимым сумматора 8 и даетс с блока 3 управлени разрешение на чтение очередной лексической единицы.
Лексическа единица, поступающа на дешифратор 2, определ етс как открывающа скобка. С помощью блока 3 управлени шифратор 4 основ формирует код терминала о.ткрывающей скобки , которьй заноситс в буферный регистр 7, .складьтаетс с содержимьм сумматора 8, а также производитс сдвиг на 1 разр д влево содержимого блока 5 пам ти и разрешаетс считьгоа- ние следующей лексической единицы В
30
35
40
45
из входного регистра.
Дешифратор 2 лексических единиц
(Х,
определ ет ее как операнд (,х 1) и запускает блок 3 управлени , выходные сигналы с которого разрешают шифрато- 50 РУ основ формирование кода нетерминала F, запись его в буферный регистр 7, сложение кода с содержимым сумматора 8 и чтение очередной лексической единицы с входного регист55 Ра 1.
Поступивша на дешифратор 2 лекйИческа единица + есть операци (Х, «О. Блок 3 управлени на тт.1фра-- торе 4 основ формирует код т(рмннала
ходит сдвиг на 1 разр д влево содержимого реверсивных сдвигающих регистров , в старшие разр ды которых за- письгваетс код терминала, после чего записьшаетс чтение с входного регистра I следующей лексической едини- ць1 исходного выражени .
Лексическай единица А дешифруетс дешифратором 2 как операнд (), и выдаетс сигнал на запуск блока 3 управлени , который разрешает формирование на шифраторе 4 основ кода нетерминала F, заносит его в
0
жимое сумматора 8 с кодом нетерминала, производит сдвиг на 1 разр д влево содержимого блока 5 пам ти и снимает блокировку на чтение с входного регистра 1, с которого поступает очередна лексическа единица +. ,
Дешифратор 2 лексических единиц распознает ее как операцию () и возбуждает блок 3 управлени , ко- 5 торый запускает шифратор основ, фор- мирующий код.терминала Знак плюс, записьшаемый в буферный регистр 7 и в N-e разр ды реверсивных сдвигающих регистров блока 5 пам ти, происходит сложение кода терминала с содержимым сумматора 8 и даетс с блока 3 управлени разрешение на чтение очередной лексической единицы.
Лексическа единица, поступающа на дешифратор 2, определ етс как открывающа скобка. С помощью блока 3 управлени шифратор 4 основ формирует код терминала о.ткрывающей скобки , которьй заноситс в буферный регистр 7, .складьтаетс с содержимьм сумматора 8, а также производитс сдвиг на 1 разр д влево содержимого блока 5 пам ти и разрешаетс считьгоа- ние следующей лексической единицы В
0
5
0
5
из входного регистра.
Дешифратор 2 лексических единиц
(Х,
определ ет ее как операнд (,х 1) и запускает блок 3 управлени , выходные сигналы с которого разрешают шифрато- 0 РУ основ формирование кода нетерминала F, запись его в буферный регистр 7, сложение кода с содержимым сумматора 8 и чтение очередной лексической единицы с входного регист5 Ра 1.
Поступивша на дешифратор 2 лекйИческа единица + есть операци (Х, «О. Блок 3 управлени на тт.1фра-- торе 4 основ формирует код т(рмннала
1399741
Знак п.шос, записывает его в старшие разр ды блока 5 пам ти и Б буферный регистр 7, затем складьшает с содержимым сумматора 8. После этого происходит считывание очередной лексической единицы с входного регистра 1.
Лексическа единица С - оЛеранд, который формирует на шифраторе 4 код нетерминала F, Код нетерминала записываетс в буферньй регистр 7, и , одновременно сдвигаетс содержимое блока 5 пам ти влево на 1 разр д, затем код нетерминала суммируетс с содержимым сумматора 8.
Очередна лексическа единица поступает на дешифратор 2 и определ - етс как закрьшающа скобка. Формируетс код терминала Закрьшающа скобка, который записываетс в блок 5 пам ти.. Дешифратор 6 кодов операций по коду предыдущего терйинала определ ет вид основы (). Код нетерминала основы F+F заноситс в буферный регистр 7 и вычитаетс из содержимого сумматора, а содержимое . блока 5 пам ти сдвигаетс на 2 разр да вправо. Код нетерминала F заноситс в буферный регистр 7 и складываетс с содержимым сумматора 8, Дешифратор 2 определ ет текущую лексическую единицу как закрьшагощую скобку. Блок 3 управлени формирует сигнал, которьй производит сдвиг влево на 1 разр д содержимого блока пам ти и запись кода терминала Закрьшающа скобка в старшие разр ды реверсивных сдвигающих регистров. Дешифратор & кодов операций определ ет вид основы (F) (), так как в (N-})x разр дах реверсивных регистров сдвига содержитс код тер- минала Открьвающа скобка. Код нетерминала основы записьшаетс в буферный регистр 7 и вычитьшаетс из сумматора В, Одновременно сдвигаетс содержимое блока 5 пам ти на 2 разр да вправо, снимаетс блокировка с входного регистра 1, с которого на дешифратор 2 поступает лексическа единица ). В буферный регистр 7 заноситс код нетерминала F и складываетс с содержимым сумматора 8,
Текуща лексическа единица ) определ етс дешифратором 2 как зак- рьюающа скобка ()5 происходит блокирование входного регистра . Далее устройство работает по циклу, описанному выше.
10
Текуща лекс1-гческа единица , определ етсп дешифратефом 2 как операци (Х4 О Сформированный шифратором 4 код терминала Знак умножить заноситс в блок 5 пам ти, в буферный регистр 7, складьгоаетс с содержимым сумматора 8 и осуществл етс переход к следующей лексической
единице.
Очередна лексическа единица D - операнд. Б сумматоре 8 добавл етс код нетерминала F, производитс сдвиг влево на 1 разр д содержимого
го блока 5 пам ти и выбираетс следующа лексическа единица - конец вы- ражени ,
Дешифратор 2 выдел ет лексическую единицу, запускает шифратор 4 основ,
формирующий код терминала Конец выражени , который заноситс в блок 5 пам ти. На основании этого кода дешифратор 6 кодов операции разрешает .выбор основы вида F-i-F. Код нетерминала основы вычитаетс из сумматора 8, а затем к содержимому сумматора добавл етс код нетерминала- F. Блок 3 управлени разрешает выдачу содержимого сумматора 8 на вход блока 9 выделени аксиомы. Так как в
сумматоре 8 содержитс код нетерминала F % то блок 9 выделени аксиомы запускает блок 3 мшсропрограммного управлени , который успешно завершает синтаксический анализ исходного вы
ражени .
Пример 2. Пусть исходное выражение имеет вид ((А+В)С#, кото- рое содержит синтаксич.ескую ошибку нет закрьшающей скобки.
Лексическа единица (поступает через входной регистр 1 на дешифратор
2 и определ етс как открывающа скобка. Запускаетс блок 3 управлени , который блокирует входной регистр 1, формирует на шифраторе 4 основ код терминала Открыв ающа
скобка, который записываетс в буферный регистр 7 р а такзке. сдвигаетс содержимое блока 5 пам ти на 1 разр д влево. Код терминала заноситс в блок 5 пам ти, одновременно суммируетс с содержимым сумматора 8, затем снимаетс блокировка с входного регистра 1 .и следующа лексическа единица ( поступает на дешифратор 2 лексических единиц.
Лексическа единица ( otKpbraa юща скобка, и цикл устройства повтор етс .
Очередна .лексическа единица А дешифрируетс как операнд. На шифраторе 4 формируетс код нетерминала F, который поступает в буферньй регистр 7, суммируетс с содержимым сумматора 8, содержимое блока 5 пам ти сдвигаетс на 1 разр д влево, и происходит чтение очередной лексической единицы. +, + - это операци , формируетс код соответствующего терминала, которьш заноситсА в блок 5 пам ти. Код терминала запй- сьшаетс в буферный регистр 7 и складываетс с содержимым сумматора 8, после чего выбираетс очередна лексическа единица В.
Дешифратор 2 определ ет ее как операнд. Содержимое сумматора уве- :личиваетс на значение кода нетерминала F, блок 5 пам ти подготавливаетс к приему очередного кода терминала.
Следующа лексическа единица ) дешифрируетс как закрьшающа скобка . Шифратор основ формирует код терминала Закрьшающа скобка, который записьшаетс в блок 5 пам ти. Дешифратор 6 кодов операций разрешает блоку 3;управлени выбор основы F+F, Код нетерминала основы вычитаетс из сумматора 8, н в блоке 5 пам ти содержимое сдвигаетс на 2 разр да вправо, содержимое сумматора складьшаетс с кодом нетерминала F . Дешифратор определ ет текущую лексическую единицу как закрывающую скобку. Код терминала Закрьшающа скобка заноситс в блок 5 пам ти. Дешифратор 6 кодов операций разрешает выбор основы (F). Блок 3 управлени считьшает очередную лексическую единицу х, одновременно из содержимого сумматора 8 вычитаетс код нетерминала основы, сбрасьгааетс содержимое 2 старших разр дов в блоке 5 пам ти, и к содержимому сумматора 8 добавл етс код нет ерминала F.
Текуща лексическа единица Код терминала Знак
операци ,
умножить записываетс в блок 5 пам ти, складьшаетс с содержимым сумматора 8, и происходит пере-ход к анализу следующей лексической единицы С. С - это операнд, код нетерминала
F суммируетс с содержимым сумматора 8, а блок 5 пам ти сдвигает содержимое на 1 разр д влево.
Очередна лексическа единица - конец выражени :#:. Код терминала записьшаетс в блок 5 пам ти. Возбуждаетс блок 3 управлени и выбираетс основа F+F, код нетерминала которой вычитаетс из содержимого сумматора 8, сбрасьшаютс 2 старших разр да блока 5 пам ти, а содержимое сумматора 8 увеличиваетс на код нетерминала,F.
Дешифратор 2 определ ет, что текуща лексическа единица - .конец выражени , и содержимое сумматора 8 по сигналу с блока 3 управлени поступает на вход блока 9 выделени аксиомы , который определ ет, что содержимое сумматора отлично от кода нетерминала F, и возбуждает в блоке 3 управлени сигнал ошибки.
Claims (1)
- Формула изобретениСинтаксический анализатор, содержащий входной регистр, дешифратор лексических единиц, блок управлени ,шифратор основ, блок пам ти, дешифратор кодов операций, буферный регистр и сумматор, причем информационный вход входного регистра вл етс входом анализатора, выход внодного регистра подключен к входу дешифратора лексических единиц, выход которого подключен к первому входу блока управлени , первый выход которого соединен с входом синхронизациивходного регистра, второй выход блока управлени соединен с входом шифратора основ, выход которого соединен с информационными входами блока пам ти и буферного регистра,третий выход блока управлени соединен с управл ющим входом блока пам ти , выход которого подключен к входу дешифратора кодов операций, вы-; ход которого соединен с вторым входом блока управлени , четвертыйвыход которого соединен с входом синхронизации буферного регистра, выход которого подключен к информационному входу сумматора, управл ющий входкоторого соединен с п тым выходом блока управлени , седьмой и восьмойвыходы которого вл ютс соответственно выходамиОшибка и Конецанализа анализатора, о т л и ч а 13ю щ и и с тем, что, с целью расширени функциональных возможностей за счет обеспечени бесприоритетноUлени аксиомы, информационный вход которого соединен с выходом сумматора , управл ющий вход и информациго синтаксического анализа исходных ,. онный выход блока выделени аксиомывыражений при одновременном повышении быстродействи и упрощении.анализатора , в него введен блок выдеподключены соответственно к шестому выходу и третьему входу блока управлени .Кдеши9Р(наоаамкави8-п опералииpuf.2подключены соответственно к шестому выходу и третьему входу блока управлени .уха.З
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864089673A SU1399741A1 (ru) | 1986-07-11 | 1986-07-11 | Синтаксический анализатор |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SU864089673A SU1399741A1 (ru) | 1986-07-11 | 1986-07-11 | Синтаксический анализатор |
Publications (1)
Publication Number | Publication Date |
---|---|
SU1399741A1 true SU1399741A1 (ru) | 1988-05-30 |
Family
ID=21246047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
SU864089673A SU1399741A1 (ru) | 1986-07-11 | 1986-07-11 | Синтаксический анализатор |
Country Status (1)
Country | Link |
---|---|
SU (1) | SU1399741A1 (ru) |
-
1986
- 1986-07-11 SU SU864089673A patent/SU1399741A1/ru active
Non-Patent Citations (1)
Title |
---|
Авторское свидетельство СССР № 637818, кл. G 06 F П/00. Авторское свидетельство СССР № 1334149, кл. G 06 F, П/00, 15/38, 1986. * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4991094A (en) | Method for language-independent text tokenization using a character categorization | |
US5963742A (en) | Using speculative parsing to process complex input data | |
US5991539A (en) | Use of re-entrant subparsing to facilitate processing of complicated input data | |
SU1399741A1 (ru) | Синтаксический анализатор | |
DeRemer | Lexical analysis | |
SU1334149A1 (ru) | Синтаксический анализатор | |
SU1034043A1 (ru) | Устройство дл лексического анализа метамикроассемблера | |
SU1399767A1 (ru) | Устройство синтаксически управл емого перевода | |
SU1418757A1 (ru) | Устройство дл лексического анализа программ | |
Eriksen et al. | The BOBS-system | |
SU1161950A1 (ru) | 8-Битный микропроцессор | |
SU1439594A1 (ru) | Синтаксический анализатор | |
SU1283797A1 (ru) | Устройство дл преобразовани кодов с одного зыка на другой | |
SU857994A1 (ru) | Устройство дл определени старшинства операций | |
Alpiar | Double syntax oriented processing | |
SU1439593A1 (ru) | Синтаксический анализатор | |
Ullman | Combining state machines and regular expressions for automatic synthesis of VLSI circuits | |
SU1742832A1 (ru) | Устройство дл перевода арифметических выражений в линейные регул рные префиксные формы | |
Boullier | Syntax analysis and error recovery | |
SU1465894A1 (ru) | Параллельный синтаксический анализатор | |
RU2010319C1 (ru) | Устройство для обработки символьной информации | |
SU1091160A1 (ru) | Микропрограммное устройство управлени | |
SU1439591A1 (ru) | Синтаксический анализатор | |
Chu et al. | A top-down parsing co-processor for compilation | |
Maliavko | Neutralization of Syntax Errors in the Compiler of the Functional-Imperative Language El |