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

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

Info

Publication number
SU1196899A1
SU1196899A1 SU843768726A SU3768726A SU1196899A1 SU 1196899 A1 SU1196899 A1 SU 1196899A1 SU 843768726 A SU843768726 A SU 843768726A SU 3768726 A SU3768726 A SU 3768726A SU 1196899 A1 SU1196899 A1 SU 1196899A1
Authority
SU
USSR - Soviet Union
Prior art keywords
output
group
elements
block
input
Prior art date
Application number
SU843768726A
Other languages
English (en)
Inventor
Вячеслав Вячеславович Мазаник
Николай Прокофьевич Бакров
Константин Александрович Марченко
Виктор Михайлович Неффа
Original Assignee
Войсковая часть 03080
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 Войсковая часть 03080 filed Critical Войсковая часть 03080
Priority to SU843768726A priority Critical patent/SU1196899A1/ru
Application granted granted Critical
Publication of SU1196899A1 publication Critical patent/SU1196899A1/ru

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

УСТРОЙСТВО ДЛЯ СИНТАКСИЧЕСКОГО АНАЛИЗА ПРОГРАММ, содержащее первый, второй триггеры, первый, второй блоки элементов И,первый,второй , регистры, посто нный запоминающий блок, формирователь импульсов, элемент И, первый элемент ИЛИ, причем выход первого блока элементов И соединен с первым информационным входом первого регистра, выход которого соединен с первьм входом второго блока элементов И, первый и второй выходы признаков и информационный выход посто нного запоминающего блока соединены с входами первого, второго триггеров и второго регистра, выход второго триггера соединен с вторым входом первого блока элементов И, отличающеес  тем, что, с целью сокращени  среднего времени синтаксического анализа программ, в него введены третий и четвертый регистры , третий блок элементов И,перва , втора  и треть  группы регистр&в, группы блоков элементов ИЛИ, перва , втора , треть  и четверта  группы ОЛОКОБ элементов И, третий и четвертый триггеры, группа формирователей импульсов,генератор импульсов, второй третий, четвертый элементы ИЛИ,блок элементов ИЛИ,дешифратор исчетчик. причем информационный выход счетчика I подключен к входу дешифратора,выход j-ro (j 1,m) регистра первой группы соединен с первым входом j-ro блока элементов И первой группы, выход которого подключен к j - му выходу группы информационных выходов устройства, выход третьего регистра соединен с входами формирователей импульсов группы и с входом посто нного запоминающего блока, выход третьего признака, группа информационных выходов и выход номера правила которого подключены соответственно к входам третьего триггера, регистров i второй группы и четвертого регистра, (Л входы первого и последукмцих символов строки программ устройства соединены соответственно с вторьтм информационным входом первого регистра и . вторым входом первого блока элементов И, информационные выходысчетг чика подключены к входам первого :о элемента ИЛИ, первьй, второй, третий и четвертый входы второго элемента 05 00 ИЛИ соединены соответственно с выходами второго, третьего, первого (Г триггеров и элемента И, входы кото-, со рого соединены с инверсным информационным выходом счетчика, вычитающий и информационный входы которого соединены соответственно с выходами генератора импульсов и третьего регистра , выход второго элемента ИЛИ соединен с входом формировател  импульсов , выход которого подключен к установочному входу четвертого триггера, выход третьего триггера подключен к вторым входам блоков элементов И первой группы, к выходу Конец контрол  устройства и

Description

к входу третьего элемента ИЛИ, второй вход которого подключен к выходу первого триггера и к выходу ошибки устройства, выход четвертого регистра соединен с первым информационным входом первого регистра первой группы, выход которого соединен с первьм входом третьего блока элементов И, выход третьего элемента ИЛИ соединен с входами сброса первого, второго регистров и регистров первой и третьей групп,выход 2го (г ) регистра третьей Ipynпы соединен с первыми входами (z-2)го блока элементов И второй группы, выход второго триггера соединен с вторьми входами блоков элементов И второй группы, выход-первого элемента ИЛИ соединен с первыми входами блоков элементов И третьей группы, выход у - го (У 1, п-1) регистра третьей группы подключен к вторьм входам у-го блока элементов И третьей группы, информационный вход у-го регистра третьей группы соединен с выходом у-го блока элементов ИЛИ группы, выход второго регистра третьей группы подключен к первым входам первого блока элементов ИЛИ группы, выход U)ro (0 1, n-l) блока элементов И второй группы подключен к первому входу (w+1)-ro блока элементов ИЛИ группы, выход U) -го блока элементов И третьей группы - к второму входу {и)+1)-го бло96899
ка элементов ИЛИ группы, выход - го (f 1, Ф) блока элементов И четвертой группы соединен с F-M (F 1,Ф) входом .f-rp блока элементов ИЛИ группы, выходы которого соединены с вторыми входами первого блока элемен тов ИЛИ группы, выход F-ro регистра второй группы соединен с первыми входами F-ro блока элементов И четвертой группы, F-йвыход дешифратора подключен к вторым входам F-ro блока элементов И четвертой группы, выход j-ro (j i, m) регистра первой группы соединен с информационным входом (j+1)-ro регистра первой группы, выходы формирователей импульсов группы соединены с входами четвертого .элемента ИЛИ, выход которого подключен к установочному входу четвертого триггера, вторые входы второго и третьего блоков элементов И соединены с выходом четвертого триггера, выходы второго блока элементов И подключены к информационным входам первой половины разр дов второго регистра, к информационным входам вторбй половины разр дов которого подключены выходы второго блока элементов И, вход начального символа грамматики устройства подключен к второму информационному входу первого регистра третьей группы, выходы (п-1)-го блока элементов И третьей группы под ключей к информационному входу н -го регистра третьей группы.
Изобретение относитс  к вычислительной технике, в частности к устройствам дл  синтаксического анализа.
Цель изобретени  - сокращение среднего времени синтаксического анапиза программ.
,На чертеже представлена структурна  схема устройства, ,
Устройство содержит первый регистр 1, первый блок 2 элементов И, третью группу регистров 3, группу блоков 4 элементов ИЛИ, вторую 5 и третью 6 группы блоков элементов И, третий регистр 7, посто нный запоминак ций блок 8, первый 9, второй 10 и третий 11 тригге ы, второй регистр 12, вторую группу регистров 13, четвертый ре-
гистр 14, группу формирователей 15 импульсов, первую группу регистров 16, формирователь 17 импульсов, четвертый триггер 18, первую группу блоков 19
элементов И, генератор 20 импульсов, счетчик 21, дешифратор 22, первый элемент ИЛИ 23, четвертую группу блоков 24 элементов И, третий 25 и второй 26 блоки элементов И элемент И
27, второй элемент ИЛИ 28, блок 29 элементов ИЛИ, третий 30 и четвертый 31 элементы ИЛИ, выход 22 Конец контрол , входы 33 и 34 первого и по- следунщик символов , группу информационных выходов 35 , выход 36 ошибки , в-хоц 37 начального символа.
Работу устройства рассматривают на примере синтаксического анализа цепочек  зыков, порождаемых LL граматиками .
Заданы набор правил (1)S
S-VB (2)Л
(3)
а g S А (4)
и таблица разбора: входна  строка авв,ав e,S $ ,е авв ав е BF. ав е вв ав е в ав е в ав е В исходном состо нии регистры 1,3,7,12 - 14 и 16,триггеры 9 - 11 и счетчик 21 обнулены. Управл юща  программа заносит в первый регистр 3 (верхушка стека или магазина) код начального символа грамматики по входу 37, а в регистр 1 - код первого символа входной стро- ки (дл  примера а) по входу 33. Содержимое регистров 1 и 3 заноситс , соответственно, в старшие и младшие разр ды регистра 7 адреса посто нного запоминающего блока 8. При этом на выходе элемента ИЛИ 31 по вл етс  сигнал, который устанавливает триггер 18 в единичное состо ние, чем запрещаетс  прохождение кодов адреса в регистр 7 через блоки элементов И 25 и 26. По данному адресу производитс  выборка, в результате чего на выходном регистре запоминающего устройства по вл етс  следующа  информаци : признаки (ошибка триггер 9 в единичном состо нии, сдвиг - триггер 10, допуск, т.е. конец разбора - триггер 11 в единичном состо нии), количество символов правила (регистр 12), коды символов (регистры 13) и код номера правила (регистр 14).
При этом возможны следующиеварианты: в соответствующем месте таблицы разбора, хран щейс  в посто нном запоминающем блоке 8 (задаетс  содержимьи первого регистра 3 - номечание , J, е - граничные символы; ош - ошиб ка.
также разбор строки: магаз ASj{ BSAS $ SAS в AS j AS jj aSj S $ 25
личество символов F правила из регистра 12 записываетс  в вычитающий счетчик 21, содержимое которого дешифруетс  дешифратором 22, .в результате чего содержимое F-ro регистра 13 (код символа правила) через соответствующий F-й блок 24 элементов И и блок 29 элементов ИЛИ заноситс  в первый (верхний по схеме) регистр 3, при этом производитс  сдвиг стека, реализованного блоком регистров 3, вниз. Затем с генератора 20 импульсов на вычитающий вход счетчика 21 поступает импульс, в результате чего
содержимое счетчика 21 уменьшаетс  на. единицу ST 21 : F-1 и содер симое (F-l)-ro регистра 13 заноситс  в первый регистр 3. Описанный процесс продолжаетс  до тех пор, пока коды
5 всех символов правила не записаны в обратном пор дке в блок регистров 3. При этом содержимое счетчика 21 равно нулю, на выходе элемента И 27 поин выходна  строка jt Допуск мер строки и регистра 1 - номер столбца) содержитс  права  часть правила и его номер (вариант 1); ошибка ( II) j сдвиг (вариант Ш) и допуск конец разбора (вариант 1У). В варианте 1 триггеры 9-11 наход тс  в нулевом состо нии. Код номера правила из регистра 14 заноситс  в первый регистр 16 (при этом производитс  сдвиг стека, состо щего из регистров 16 по схеме вправо). Ко вл етс  единичный сигнал, который через элемент ИЛИ 28, формирователь 17импульсов устанавливает триггер 18в нулевое состо ние. На нулевом выходе триггера 18 по вл етс  единичный сигнал, который разрешает прохождение содержимого регистра 1 и пер вого регистра 3 через блоки 26 и 25 элементов И, соответственно, в регистр 7. В результате чего производитс  очередное обращение к блоку 8. В варианте П из блока 8 считываетс  информаци  в триггеры 9-11,1)егистры 12-14,содержаща  нули за исключением разр да, которому соответствует триггер 9: Т9 1 .Единичное состо ние триг-гера 9 указывает на синтаксическую ошибку в анализируемой строке. По сигналу с единичного выхода триггера 9. производитс  следующа  последовательность действий: на выходе 36 устройства по вл етс  сигнал, указывающий на ошибку в анализируемой стро ке; триггер 18 через элемент ИЛИ 28 и формирователь 17 импульсов устанавливаетс  в нулевое состо ние и сигнал с выхода элемента ШШ 30 обнул ет регистры 1 и 7, блоки регистров 3 и 16
На этом работа устройства заканчиваетс .
В варианте Ш из блока 8 считываетс  нулева  информаци  за исключением разр да, которому соответствует триггер 10: .Т10 1. Единичное состо ние триггера 10 указывает на то,
Таким образом в результате разбора синтаксически правильной строки на выходы 35 устройства вьщаетс  последовательность кодов номеров правил, используемых при написании данной строки. что в данном элементе таблицы разбо ра, хран щейс  в блоке 8, записан сдвиг. При этом разрешаетс  запис очередного символа строки по входу 34 устройства через блок 2 элементов И в регистр 1, производитс  сдвиг блока регистров 3 вверх (по схеме), соответственно, через блоки 5 и 4, и триггер 18 через элемент ИЛИ 28 и формирователь 17 импульсов устанавливаетс  в нуль. В варианте 1У из блока 8 считываетс  нулева  информаци  за исключением разр да, которому соответствует триггер 11: Т 11 1. При этом триггер 18 через элемент ИЛИ 28, формирователь 17 импульсов устанавливаетс  в нулевое состо ние на выходе 32 устройства по вл етс  сигнал, свидетельствующий об успешном окончании разбора входной строки: через элемент ИЛИ 30 обнул ютс  регистры 1, 7 JH 3; на входах 35 устройства по вл етс  множество кодов номеров правил разобранной строки, поступивших из регистров 16 через блоки 19 элементов И.На этом работа устройства заканчиваетс .

Claims (1)

  1. УСТРОЙСТВО ДЛЯ СИНТАКСИЧЕСКОГО АНАЛИЗА ПРОГРАММ, содержащее первый, второй триггеры, первый, второй блоки элементов И,первый,второй, регистры, постоянный запоминающий блок, формирователь импульсов, элемент И, первый элемент ИЛИ, причем выход первого блока элементов И соединен с первым информационным входом первого регистра, выход которого соединен с первым входом второго блока элементов И, первый и второй выходы признаков и информационный выход постоянного запоминающего блока соединены с входами первого, второго триггеров и второго регистра, выход второго триггера соединен с вторым входом первого блока элементов И, отличающееся тем, что, с целью сокращения среднего времени синтаксического анализа программ, в него введены третий и четвертый регистры, третий блок элементов И,первая, вторая и третья группы регистров, группы блоков элементов ИЛИ, первая, вторая, третья и четвертая группы блоков элементов И, третий и четвертый триггеры, группа формирователей импульсов,генератор импульсов, второй третий, четвертый элементы ИЛИ,блок элементов ИЛИ,дешифратор и счетчик, причем информационный выход счетчика I подключен к входу дешифратора, выход j-го (j = 1,m) регистра первой группы соединен с первым входом j - го блока элементов И первой группы, выход которого подключен к j - му выходу группы информационных выходов устройства, выход третьего регистра соединен с входами формирователей импульсов группы и с входом постоянного запоминающего блока, выход третьего признака, группа информационных выходов и выход номера правила которого подключены соответственно к входам третьего триггера, регистров второй группы и четвертого регистра, входы первого и последующих символов строки программ устройства соединены соответственно с вторым информационным входом первого регистра и~ вторым входом первого блока элементов И, информационные выходы 'счетг чика подключены к входам первого элемента ИЛИ, первый, второй, третий и четвертый входы второго элемёнта ' ИЛИ соединены соответственно с вы ходами второго, третьего, первого триггеров и элемента И, входы кото-, рого соединены с инверсным информационным выходом счетчика, вычитающий и информационный входы которого соединены соответственно с выходами генератора импульсов и третьего регистра, выход второго элемента ИЛИ соединен с входом формирователя импульсов, выход которого подключен к установочному входу четвертого триггера, выход третьего триггера подключен к вторым входам блоков элементов И первой группы, к выходу Конец контроля устройства и
    SU ..„1196899 к первому входу третьего элемента ИЛИ, второй вход которого подключен к выходу первого триггера и к выходу ошибки устройства, выход четвертого регистра соединен с первым информационным входом первого регистра первой группы, выход которого соединен с первьв* входе»* третьего блока элементов И, выход третьего элемента ИЛИ соединен с входами сброса первого, второго регистров и регистров первой и третьей групп, выход 2го (z = η) регистра третьей Группы соединен с первыми входами (ζ-2)го блока элементов И второй группы, выход второго триггера соединен с вторьми входами блоков элементов И второй группы, выход· первого элемента ИЛИ соединен с первыми входами блоков элементов И третьей группы, выход у - го (У = 1, п-1) регистра третьей группы подключен к вторьм входам у-го блока элементов И третьей группы, информационный вход у-го регистра третьей группы соединен с выходом у-го блока элементов ИЛИ группы, выход второго регистра третьей группы подключен к первым входам первого блока элементов ИЛИ группы, выход to-го (οι = 1, п-1) блока элементов И второй группы подключен к первому входу (и +1)-го блока элементов ИЛИ группы, выход и) -го блока элементов И третьей группы - к второму входу (ц>+1)-го бло ка элементов ИЛИ группы, выход го (f_ = 1, Ф) блока элементов И четвертой группы соединен с F-м (F = 1,Ф) входом f-rp блока элементов ИЛИ группы, выходы которого соединены с вторыми входами первого блока элемен:тов ИЛИ группы, выход F-ro регистра второй группы соединен с первыми входами F-ro блока элементов И четвертой группы, F-й выход дешифратора подключен к вторым входам F-ro блока элементов И четвертой группы, выход» j-го (j = 1, ш) регистра первой группы соединен с информационным входом (j+1)-ro регистра первой группы, выходы формирователей импульсов группы соединены с входами четвертого «элемента ИЛИ, выход которого подключен к установочному входу четвертого триггера, вторые входы второго и третьего блоков элементов И соединены с выходом четвертого триггера, выходы второго блока элементов И подключены к информационным входам первой половины разрядов второго регистра, к информационным входам второй половины разрядов которого подключены выходы второго блока элементов И, вход начального символа грамматики устройства подключен к второму информационному входу первого регистра третьей группы, выходы (п-1)-го блока элементов И третьей группы под’ ключей к информационному входу η -го регистра третьей группы.
SU843768726A 1984-07-11 1984-07-11 Устройство дл синтаксического анализа программ SU1196899A1 (ru)

Priority Applications (1)

Application Number Priority Date Filing Date Title
SU843768726A SU1196899A1 (ru) 1984-07-11 1984-07-11 Устройство дл синтаксического анализа программ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SU843768726A SU1196899A1 (ru) 1984-07-11 1984-07-11 Устройство дл синтаксического анализа программ

Publications (1)

Publication Number Publication Date
SU1196899A1 true SU1196899A1 (ru) 1985-12-07

Family

ID=21129895

Family Applications (1)

Application Number Title Priority Date Filing Date
SU843768726A SU1196899A1 (ru) 1984-07-11 1984-07-11 Устройство дл синтаксического анализа программ

Country Status (1)

Country Link
SU (1) SU1196899A1 (ru)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Авторское свидетельство СССР № 1056210, кл. G 06 F 15/38, 1982. Авторское свидетельство СССР № 1034045, кл.С 06 F 15/38, 1981. *

Similar Documents

Publication Publication Date Title
US3717851A (en) Processing of compacted data
SU1196899A1 (ru) Устройство дл синтаксического анализа программ
SU1080132A1 (ru) Устройство дл ввода информации
SU922877A1 (ru) Запоминающее устройство с автономным контролем 1
SU1179548A2 (ru) Устройство дл декодировани циклических линейных кодов
SU1034043A1 (ru) Устройство дл лексического анализа метамикроассемблера
SU902282A1 (ru) Устройство дл приема информации по двум параллельным каналам св зи
SU1363478A1 (ru) Преобразователь кодов
SU496549A1 (ru) Устройство дл вывода информации
SU1048502A1 (ru) Устройство дл отображени информации
SU1223219A1 (ru) Устройство дл ввода информации
SU1005059A1 (ru) Мажоритарное декодирующее устройство
SU1153329A1 (ru) Устройство дл лексического анализа метатрансл тора
SU1293845A1 (ru) Декодирующее устройство дл исправлени пакетных ошибок
SU1007096A1 (ru) Устройство дл ввода информации
SU636680A1 (ru) Посто нное запоминающее устройство
SU623258A1 (ru) Устройство мажоритарного декодировани
RU2075777C1 (ru) Устройство идентификации человека-оператора
SU830386A1 (ru) Микропрограммное устройствоупРАВлЕНи
SU631912A1 (ru) Устройство дл ввода информации
SU497578A1 (ru) Мультиплексный канал
SU1455392A1 (ru) Преобразователь кодов
SU690497A1 (ru) Устройство дл лексического анализа
SU746736A1 (ru) Буферное запоминающее устройство
SU1432784A1 (ru) Преобразователь двоичного кода в код системы остаточных классов