Устройство для лексического анализа

 

Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах с диалоговым режимом отладки и выполнения программ. Цель изобретения расширение функциональных возможностей путем обработки входных текстов программ, лексические единицы которых не имеют строгих позиций во входной записи, нейтрализации лексических ошибок, а также увеличения типов распознаваемых терминальных слов при одновременном упрощении устройства и повышении его быстродействия за счет исключения записи во временную таблицу конструкций , которые были ранее в нее записаны . Для достижения указанной цели в устройство дополнительно введены блок нейтрализации ошибок и мультиплексор лексемы. 5 ил. S

СОЮЗ СОВЕТСНИХ

СОЦИАЛИСТИЧЕСНИХ

РЕСПУБЛИН (19) (11) А1

15 а11 4 G 06 F 15/38

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К ABTOPCHOMV СВИДЕТЕЛЬСТВУ

ГОСУДАРСТВЕННЫЙ НОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТНРЫТИЙ (21) 4105451/24-24 (22) 26.05.86 (46) 23.12.87.. Вюл. 1(47 (72) С.А. Соколов, P.Ï. Гахов, Г.К. Кащишин, М.А. Курносов, С.В.Савченко и С.Л. Грахов (53) 681.325(088.8) (56) Авторское свидетельство СССР

У 1034043, кл. G 06 F 15/04, 1982.

Авторское свидетельство СССР

11 1238103, кл. G 06 F 15/38, G 06 F 9/44, 1984. (54) УСТРОЙСТВО ДЛЯ ЛЕКСИЧЕСКОГО

АНАЛИЗА (57) Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах с диалоговым режимом отладки и выполнения программ. Цель изобретения— расширение функциональных возможностей путем обработки входных текстов программ, лексические единицы которых не имеют строгих позиций во входной записи, нейтрализации лексических ошибок, а также увеличения типов распознаваемых терминальных слов при одновременном упрощении устройства и повышении его быстродействия за счет исключения записи во временную таблицу конструкций, которые были ранее в нее записаны. Для достижения укаэанной цели в устройство дополнительно введены блок нейтрализации ошибок и мультиплексор лексемы. 5 ил.

1361578

Изобретение относится к вычислительной технике, в частности к трансляторам языков программирования, и может быть использовано в

5 вычислительных системах с диалоговым режимом отладки и выполнения программ.

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

Сущность изобретения состоит в следующем.

В процессе лексического анализа программ из отдельных литер (букв,. цифр, разделителей, специальных символов) обычно собираются простые синтаксические конструкции (простые нетерминальные символы): идентифика- 30 торы, целые, целые с основанием и вещественные числа, зарезервированные слава языка (операторы), например declare, loop, vheII, do, go to, Ьея -и и т,п, ОднО дву и трюхлитерные разделители, которые при синтаксическом анализе и других этапах трансляции рассматриваются как неделимые. При этом осуществляется построение временных таблиц входных слов 40 (в соответствии с их типами) и частичный лексический контроль, а также подавление всех незначащих литер программы, -Введение блока нейтрализации оши- 4> бок и определяемых им связей позволяет с заведомо определенной степенью. точности заменять зарезервированные слова с лексическими ошибками на эквивалентные из временных таблиц. 50

Данный блок позволяет нейтрализовать следующие типы ошибок: пропуск одного символа, искажение символа, перестановка двух соседних символов и вставка лишнего символа. К данным типам относятся до 80_#_ всех лексических ошибок, Сущность алгоритма нейтрализации лексических ошибок состоит в следую ; =А с 1 = 1у (2) Id; I з1, и с ; предшествует a 1, р. предшествует в;„ соответственно в списках (словах)А и В. Иначе говоря, то

I.1+11 i I.2. (3)

Разбиение А и В на подписке, удовлетворяющее условиям (1)-(3), может быть произведено любыми способами. Естественно, что из всех возможных вариантов разбиений должно быть выбрано разбиение, дающее макtll симальную величину суммы } ;

В качестве меры схожести А и В принимается коэффициент списковой корреляции

Z M

К(А, В) ы= max(, Id;I}

i= где R — множество вариантов разбиений, удовлетворяющих условиям (1) — (3) .

Кроме того, предлагаемое устройство наряду с обработкой позиционных программ может обрабатывать произвольные тексты программ, так как в большинстве языков высокого уровня позиционирования не применяется, но оно применяется в языке ассемблера, который используется наряду с другими языками„ Наряду с нейтрализацией ошибок блок совместно с введенным мультиплексором позволяет производить сравнение всех входных конструкций с эталонами из таблиц, что позволяет, в отличие от известного устройства, записывать во временные таблицы входные слова в качестве эталонов только один раз, что знащем. Входное слово представляется как В =(Ь, Ь ...Ъ„), а слово из временных таблиц А = (а„, a ...а,), где b„и а, — символы этйх слов. Из

A и В выделяются такие подписки (участки сравниваемых слов) . .. o( и p....р, для которых выполняются условия

1361578 чительно экономит память, а также процессорное время и другие ресурсы ЭВМ.

Таким образом, по сравнению с из5 вестным предлагаемое устройство позволяет осуществлять выдачу лексем типа "идентификатор", "целое число", "целое число с основанием, вещественное число с целью формирования временных таблиц, используемых на последующих этапах трансляции и при нейтрализации лексических ошибок в конструкциях этих типов; осуществлять лексический контроль входных терминальных слов и производить, с. заведомо определенной степенью точности, нейтрализацию лексических ошибок путем замены ошибочного слова .на эквивалентное из временных таб-. лиц; осуществлять обработку позиционированных программ и произвольные тексты программ; осуществлять построение временных таблиц как в процессе лексического анализа всего текста 25 программ, так и, при соответствующей организации входных программ, в процессе просмотра описаний идентификаторов и чисел, используемых в программе; исключить запись во времен- 30 ные таблицы конструкций, которые были ранее записаны в данную таблицу.

Устройство работает в режиме

"Запрос" — "Ответ" с другими частями транслятора и внешним устройством.

На фиг. 1 изображена функциональная схема устройства для лексического анализа; на фиг, 2 (а,б) — функциональная схема блока нейтрализации ошибок; на фиг. 3 (а,б,в,г) — 4p блок-схема алгоритма обработки зарезервированного слова (оператора), содержащего ошибку; на фиг. 4 — блоксхема алгоритма обработки идентификатора и всех типов чисел, для слу- 45 чая,когда нейтрализация ошибок в этих конструкциях не производится; на фиг. 5 (а,б,в,г) — блок-схема алгоритма обработки идентификаторов и чисел с возможностью нейтрализации ошибок в конструкциях данных типов.

Устройство для лексического анализа (фиг. 1) содержит блок 1 нейтрализации ошибок с информационными выходами 1.1, 1.2 и управляющими выходами 1.3-1.8, блок 2 формирования лексемы с управляющими выходами

2.1-2.7 и информационными выходами

2.8 и 2,9, мультиплексор 3 лексемы, регистр 4 литеры с выходами 4.1, триггер 5 пуска, триггер 6 эталона, элементы ИЛИ 7-11, элементы И 12-16, информационные входы 17 устройства и 18 коэффициента,, вход 19 ответа, вход 20 сравнения, вход 21 выдачи, вход 22 завершения просмотра, вход

23.1 организации, вход 23,2 начальной установки, вход 23.3 блокировки, выходы 24 лексемы, выход 25 терминального слова, выход 26 запроса, выход 27 вызова и выход 28 готовности, Блок 1 нейтрализации ошибок предназначен для нейтрализаций лексических ошибок, допущенных при написании операторов, поиска в таблицах слова, эквивалентного входному, принятому в стек, формирование значения выходных лексем по входным идентификаторам, числам и ошибочным операторам и передачи в таблицы входных слов (идентификаторов и чисел), которые не встречались ранее в программе.

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

Блок 2 формирования лексемы работает следующим образом.

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

55 ходе 2.2 формируется сигнал "Расхождение типа, единичный сигнал формируется также на выходе 2.4, если обработан идентификатор или число, на выходе 2,5, если обработан оператор (зарезервированное слово), и на выходе 2.6, если обработан разделитель, отличный от случая выработки сигнала на выходе 2.1 и от пробела.

Если обрабатываемая конструкция является оператором и в ней допущена ошибка, то единичный сигнал формируется также на выходе 2.7.

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

Если на второй управляющий вход поступает единичный сигнал, .то на выходах 2.8 формируется код типа выходной лексемы, а если обрабатывался разделитель или оператор, не содержащий ошибок, то на выходах

2.9 формируется и код значения вью ходкой лексемы. Через время, необходимое для выдачи кодов с выходов

2.8 и 2.9 через мультиплексор 3 на выходы 24 устройства, блок 2 формирования лексемы переходит в исходное состояние.

Мультиплексор 3 лексемы предназначен для выдачи адреса эталона и выходной лексемы на выходы 24 устройства.

Регистр 4 литеры предназначен для приема и хранения очередной литеры входной цепочки.

Триггер 5 пуска предназначен для формирования сигнала "Запрос", идентифицирующего готовность устройства к обработке следующей литеры (прямой выход), на выходе 26 устройства и сигнала, инициирующего анализ входной литеры блоком 2 формирования лексемы (инверсный выход) .

Триггер 6 эталона предназначен для формирования сигнала Вызов", обеспечивающего выдачу эталона для нейтрализации ошибки или поиска соответствующего слова в таблице, Прочие элементы И и ИЛИ предназначены для разнесения во времени несовместимых микроопераций, реализуемых в течение одного такта.

Блок 1 нейтрализации ошибок (фиг. 2) содержит блоки 29 и 30 стековой памяти с информационными выходами 29,1-29.К и 30.1 соответственно, причем выходы 29.1-29.К одновременно являются выходами 25 терминального слова устройства, блок 31 признаков с выходами 31,Z0-31.Z30, причем выход 31.Z12 одновременно является выходом 28 готовности устройства, блок 32 коэффициента с информационными выходами 32.1 и управляющим выходом 32.2, регистр 33, регистр 34 совпадений, регистр 35 коэффициента, регистр 36 ограничения, регистр 37 значения, мультиплексор 38, счетчик 39 входного маркера, счетчик 40 эталонного маркера, счетчик 41 литер эталона, счетчик

42 входных литер, счетчик 43 разбиений, счетчик 44 совпадений, счетчик 45 адреса эталона, триггеры 46 и 47, триггер 48 режима и элемент

49 задержки.

Блок 29 стековой памяти предна-. значен для приема и хранения до К литер входного слова, передачи их для сравнения в блок 31 признаков и выдачи IIQ выходам 25 в таблицы, соответствующие типам входных кон- струкций.

Блок 30 стековой памяти предназначен для приема и хранения до К литер эталонного слова и политерной передачи их для сравнения в блок 31 признаков.

Блок 31 признаков предназначен для формирования управляющих сигналов, обеспечивающих функционирование блока 1 нейтрализации ошибок в соответствии с алгоритмами (фиг. 3-5).

Работа блока 31 сводится к формированию управляющих сигналов на выходах

31 ° Z0-31.Z30 в зависимости от поступающих управляющих сигналов на входы

31Л-31.У9 и от информации, поступающей на входы 31.Х1-31.Х 13.

Рассмотрим системы логических уравнений процесса функционирования блока 31 признаков в соответствии с предназначенными алгоритмами.

1361578

Алгоритм 1 - обработка оператора, содержащего лексические ошибки (фиг. 3). . С31.Y51n(31.У4)h(31.У13 (31. Z 111 л (31. Z53; (31.У7) = (31. Е21) Л (31. Z147; (З1.Х1) <(31.Õ3)= Г З1.Z11; (з1.хг3 с (з1.хз) = (з1.z2 JAL31. z71; (Г31,x87 Г31.x77) A (Г31.x4)4

Ф (31. X53) = (31. Z7 7 ЛГ 31. Z81; (f31.Х83 Г31.Х7) )л ((31.Х47

=(31.Х57) =(31.Е6) Л(31.Е15)Л(31.Z7)n

h (31. Z 18); ((31..Х8)>(31.X7)) (L 31.Х8) (31.X71) A ((31.Х4)= (31.Х5)) Л

A (Г 31.Х8)> (31.X7 J)) = (31.Z15) A

A (31. Z10) (Г 31.Х23> l31.XÇ)) A((31.Õ11)>

)(31.X101) = (31.Z227, (L 31.X23>(31.XÇJ) A (Г31.Х11) < f31. X103) = Г31. Z147; (31.Х1) ъi (31.XÇ) = (31.Z23); (3 1. Х93) (31. Х123 = (31. Z57; (Г 31.Х91> (31.X121)ЛГ 31.У2) =

31.ЕО) Л Г31. Z111A (31. Е26)ЛГ 31. Е27); (Г31. Х91 4 (31.Х127) Л (31Л27 Л Л((31.X127>i(31.X137 ) = (31.Z247; (Г31.X9) 4 (31.Х12)) Л(31.У2) A

A(Г31.X12) < (31.X133 ) = (31.Z257; (31.Y93 = (31.zo) A(31.Z4) .

Алгоритм 2 — обработка идентификаторов и чисел, в случае, когда нейтрализация ошибок в данных конструкциях не производится (фиг. 4): (31Л5) Л Г31.УЗ)Л(31 Y8)

=(31.Е113Л (31.Z53; ((31.X33=f31.Х7)) Л (Г31.Х4)

= (3 i „.Х5) ) = (31. Z8) h E 31. Е107 A

Л (31.ЕЗ); (Г31.Х33 = Ф ) = f31.Е16)Л (31.Е12); ((31.Х33 W Ф ) Л((31.Х4)

= (31. Х51) = (31. ZB 7 A Г31. Е10)Л (31. ЕЗ); ((31.XÇJ Ф О) П ((31.X4) 4

=(31.x57)л (31 Y23=(31.z127; ((31.ХЗ)Ф Ф ) Л((31.Х4) = (31.Х57 )Л

A (31 Л23 = (31.Z113 A (31.Z5); ((31.X33= (31.Õ7)) h ((31.X4)Ô

Ф(31.Х5))ЛE31.У23 = l31.Z9); (L 31.ХЗ)= Г31.X71) Л((31.Х4) Ф

4(31.X5)>A (31.У27 = Г31.Е11) Л (31.Z5); (31 Л9) = l31.ЕО) hi31.Z4) .

Алгоритм 3 — обработка идентификаторов и чисел с возможностью нейтрализации лексических ошибок (фиг. 5): (31 ЛЗ)Л (31.Y81= (31.Z11)A Г31.Z53 (Г 31. Х37 Ô (31, Х7) ) A (31.У2)

= (31. Z11) A f31. Z51; (Г31.Х33 Ф (31.Х77) h (31.Y23=

= ГЗ 1.ZÇOJ;

l31.Y71 = Г31. Z211 лГ31. Z143; (Г 31.Х33 = f 31.X73 ) Л(Г 31.Х43

=(31.X57) = (31.Z87h Г31.Е101Л(31,Е33; (Г31.Х33=Г31.X71) П (Г31.Х47 Ф

4 (31, Х5) Л Г31, У23 = Г31. Z303 ", (Г31.X33 = Г31. Х7 3) A (f31. Õ43

1О 4 Г31.X5)A (31.Y27 = Г31.Е113ЛГ31.Е53 ((31.XÇJ= Ф ) 4 (31.Z12) ((31.Х314 6 ) h((31.Х47 Ф С31.Х57)

= (31 . Е87 Л Г 31. Е101 Л (31. ЕЗ (C31.x33 w P5) л ((31.х47 4(31.X57)h

15 Л(31.Y23 =Г31. Z303; ((31.X3)4 ф) Л (Г31.Х41,ФГ31.ХЯЛ

Л (31.У2 ) = (31. Z11)A(31. Z53, (Г31.Х313 (31,X13 ) = (31.Z13; ((з1.x37((31.х1)) = (31.егз3;

20 ((31.Х23> (31.ХЗ)) = (31.Z2 )h

Л f31.Z7); ((31.Х23- f 31.ХЗ)) л((31.Х117)

> (31.X103 ) = f31. Z223, ((31.X21 (31.XÇ)) A ((31.Х113- гб - (31. X107 ) = (31. Z14); ((31.Х83 >(31.X77) =(31.Z15JA п (3i.z1OJ; ((31.Х83 L31.Х71)л (Г31.Х47Ф

4 (31. X5 J ) = (31. Z7 J h f 31, Z8J, ЗО ((31.X47 =(31.X57) Л ((31.Х8)>

) (31.Х73) =(31. Z157 л (31.Е10) ((31.х47 =(31.X51) л (Г31.XBJ< (31.x73) = (31.z267 л (31.z15)A(31.z7)A

Л (31. Z183;.. ((31.Х9) (31.X127) = (31. Е5), ((31,Х93 4 Г 31. X123) Л ((31.Х12)>

3 (31. Х137 ) = 131. Z247 h Г31. Z127 (Г 31.Х9) f 31.Õ127)h (L31.Х123 <

c (31.X133) = (31.Z25) Л(31.Z123

4g (31 Y93=131 ° zL 04(31 ° z4) °

В случае поступления единичного сигнала на вход 31 У10 блока 31 производится блокировка выдачи всех

45 сигналов на выходах 31 ° Z0-31.ЕЗО независимо от сигналов и информации на входах 3 1.У0-31.У9 и 31.Х1-31.Х13, за исключением сигнала на выходе

31.Z12.

В общем случае составление обобщенной системы логических уравнений, характеризующей работу блока 31 признаков без привязки к конкретным алгоритмам, является тривиальнои sa55 дачей и поэтому в описании не приводится °

Блок 32 определения коэффициента предназначен для вычисления коэффици! 361578

1. тах77КА/, /КВ/) 20

9 ента схожести (КС) входного и эталонного слов, Данный блок представляет собой электронный узел, позволяющий реализовать вычисление

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

10 арифметические преобразования над двумя операндами. Синтез блока 32 определения коэффициента может быть произведен при помощи современных

ВИС для выполнения арифметических

15 операций, поэтому функциональная схема блока 32 также не рассматривается.

Регистр 33 предназначен для хранения позиции сравниваемой литеры входного слова, регистр 34 совпадения — для хранения максимального числа совпадений (для всех разбиений) при сравнении входного слова с эталонным, регистр 35 коэффициента — для хранения максимального коэффициента схожести КС для сравниваемых эталонов, регистр 36 ограничения — для хранения граничного коэффициента (К, ), который опреде30 ляет минимальное значение коэффициента КС, а регистр 37 значения— для хранения адреса считываемого эталона и, в случае совпадения (или определения эквивалентности в про- 35 цессе нейтрализации), выдачи значения выходной лексемы.

Мультиплексор 38 предназначен для выдачи в блок 32 максимального значения длин входного и эталонно- 40 го слов, Счетчик 39 служит для определения позиции сравниваемой литеры входного слова, счетчик 40 — для определения позиции сравниваемой литеры эталонного слова, счетчик 41 литер эталона — для определения количества литер эталонного слова (его длины), счетчик 42 входных литер — для определения количества 50 входных литер (определения длины входного слова), счетчик 43 разбиений — для перебора всех разбиений для данного эталона в процессе нейтрализации, счетчик 44 соипаде- 55 ний, — для подсчета всех совпадений в одном разбиении, счетчик 45 адреса эталона — для формирования адреса эталона, необходимого для выборки.

l0

Триггер 46 предназначен для формирования сигнала Лексема готова на выхдде 28 устройства в случае обработки идентификаторов и чисел нейтрализации ошибок, триггер 47 для управления формированием значения лексемы в лроцессе нейтрализации ошибок, триггер 48 режима — для установления режима работы блока 1 нейтрализации ошибок. Если триггер 48 находится в единичном состоянии, то производится нейтрализация ошибок во всех конструкциях (кроме разделителей). Если триггер 48 находится в нулевом состоянии, нейтрализация производится только над ошибочными операторами.

Элемент 49 задержки предназначен для обеспечения обнуления блока 29 стековой памяти после выдачи,результатов анализа.

В исходном положении все блоки, узлы и элементы блока 1 нейтрализации ошибок находятся в нулевом состоянии, а на информационные входы

18 поступает код коэффициента К (граничный коэффициент схожести слов). Сигнал с входа 23.2 стробирует запись данного коэффициента в регистр 36 ограничения, одновременно данный сигнал обнуляет триггер 48 режима. В зависимости от структуры программы сигнал с входа

23,1 переводит в единичное состояние триггер 48 (если в программе производится нейтрализация ошибок во всех конструкциях) или данный сигнал не поступает (если нейтрализация производится. только в ключевых словах — операторах).

Входные литеры поступают на информационные входы блоков 29 и 30 стековой памяти, одновременно на счетный вход счетчика 42 поступает единичный сигнал, который инициирует формирование адреса записи входных литер и, поступая на V-вход блока 29, стробирует запись литер входного слова в ячейку блока 29, соответствующую адресу, сформированному счетчиком 42. Данный процесс повторяется до тех пор, пока все литеры одной и той же конструкции не будут записаны в блок 29 ° После записи последней литеры обрабатывае:мой конструкции на вход 9,1 блока 1 нейтрализации ошибок, а далее на вход 31.У5 блока 31 признаков поступает сигнал "Расхождение типа".

1361578

Далее процесс функционирования блока 1 нейтрализации ошибок зависит от типа обрабатываемого входного слова и структуры входной программы, поэтому целесообразно рассмотреть работу блока в соответствии с подмножествами его состояний.

Подмножество 1 — обработка ключевых слов (операторов, содержащих 10 ошибку). Процесс функционирования блока 1 нейтрализации ошибок в рассматриваемом подмножестве не зависит от структуры входной программы и представлен блок-схемой алгорнтма 1б (фиг. 3.) .

Одновременно с сигналом "Расхождение типа, который поступает на вход 31.У5 блока 31 признаков, на входы 31.У4 и 31,У1 поступают сигна- 20 .лы (блок 1 алгоритма, фиг. За). Данная последовательность сигналов инициирует выборку из таблиц и запись в блок 30 стековой памяти эталонного слова (фиг. Зг), Далее производится обнуление регистра 34 совпадений (блоки 3 и 4 алгоритма) и выбор варианта разбиения эталона (блоки 5 и 6 алгоритма). Затем блок 31 признаков анализирует все ли варианты 30 разбиений просмотрены, Данная операция производится путем сравнения содержимого счетчиков 41 и 43 (блок

7 алгоритма). Если не все варианты разбиений просмотрены ((Cv433 C

35 ((Ст4 1)), то инициируется обработка очередного варианта разбиения (блоки 26-28 алгоритма) . В следующем такте работы блок 31 анализируе,. положение сравниваемой литеры эталонного 40 слова, если литеры эталонного слова не все сравнивались ((Ст40) (Ст411) (блок 29 алгоритма), то во входном слове для сравнения выбирается литера, следующая после последней совпадающей (блоки 30 и 31 алгоритма) ° Далее .блок 31 анализирует все ли входное слово просмотрено (блок

32 алгоритма), если нет ((Ст39 ) (<(Ст423), то блок 31 сравнивает ли- gp теры входного и эталонного слов, которые уже выбраны для сравнения (блок 33 алгоритма), если литеры не совпадают, то для сравнения выбирается следующая входная литера методом сдвига входного слова в блоке.29 (блоки 35 и 36 алгоритма) и, если ((Ст39)((Ст42) (блок 32 алгоритма), снова производится сравнение литер, если литеры не совпадают, процесс повторяется до тех пор, пока не просмотрены все литеры входного слова. Если литеры совпадают, то производится проверка все ли литеры входного слова сравнивались, если нет ((CT397< ГСт423), то производится запоминание последней сравниваемой литеры входного слова и сдвиг для просмотра следующих литер эталонного и входного слов в блоках

30 и 29 (блоки 37, 43-48 алгоритма) и снова литеры сравниваются, в дальнейшем, если указанные условия выполняются ((Ст39) ((Ст42) ), то процесс повторяется.

В случае сравнения всех литер входного слова (блоки 32 и 34 алгоритма), т.е. если (LC 39) ГСт423), то для сравнения выбирается следующая литера эталона (блоки 38 и 39 алгоритма). Далее выполняется проверка. все ли литеры эталона сравнивались (блок 29 алгоритма), если нет, т,е. ((Ст40) 4 (Ст41) ), то блок 31 признаков инициирует повторное выполнение микроопераций, описанных блоками 30-39 и 43-48 алгоритма. Если сравнивались все литеры эталона, т.е. (Ст40))(Ст41) ), то в регистр

34 совпадений помещается число совпадений в данном разбиении, если оно превышает количество совпадений других разбиений (блоки 40-42 алгоритма).

Затем производится выбор следующего варианта разбиения (блоки 5 и 6 алгоритма), если последний существует, то указанный процесс повторяется. Если все варианты разбиения рассмотрены, то блок 31 инициирует определение в блоке 32 коэффициента (КС ) для данного эталона (блоки

7 и 8 алгоритма) и, если вновь вычисленный коэффициент (КС ) больше коэффициента для ранее обработанного эталона (или безусловно, если обрабатывается первый эталон), то он записывается в регистр 35 коэффициента (блоки 10-12 алгоритма). Далее блок 31 анализирует вся ли таблица эталонов просмотрена ° Если нет (отсутствует сигнал от внешнего устройства на входе 22 завершения просмотра), то формируется адрес следующего эта

1361578 лона и инициируется его вызов из внешнего устройства и запись в блок

30 стековой памяти, а также производится установка в исходное положение входного слова (сдвиг вниз на длину данного слова — сигнал 31.Z27).

После записи нового эталона процесс повторяется до полного просмотра таблицы эталонов зарезервированных слов (операторов), 10

По окончании просмотра всей таблицы в блоке 31 вычисленный коэффициент схожести сравнивается с граничным значением данного коэффициента, т,е. сравнивается содержимое регистров 35 и 36. Если вычисленный коэффициент меньше граничного значения, то выходная лексема формируется сле- 20 дующим образом: в поле ошибки записывается "1 "-ERROR = 1, в поле типа записывается код оператора, сгенерированный кодопреобразователем 2

ТУРЕ: = 2,8, в поле значения записывается последовательность ф -й .—

ZNACH: = ф . Если вычисленный коэффициент больше или равен граничному значению, то выходная лексема отличается от описанной формы полем значе- 30 ния, которому присваивается адрес в таблице эталонного слова со значением коэффициента схожести КС-ZNACH: =

=1.1 и в поле ошибки записывается ф-ERROR: =ф. Далее производится вы- З дача лексемы на выходы устройства и считывание ее BHeIIIHHM устройством (блоки 21-25 алгоритма).

Подмножество 2 — распознавание чисел и идентификаторов и построение 40 таблиц данных конструкций в процессе просмотра программы (т.е, описание чисел и идентификаторов перед телом программы не производится и нейтрализация ошибок в данных кон- 45 струкциях не осуществляется).

В одном такте работы блока на .его входы 9.1, 2.4 и 23.2 поступают единичные сигналы 1 Расхождение типа" (алгоритм фиг. 4), сигнал, иденти- 50 фицирующий тип входной конструкции

2.4, и сигнал 23.2 начальной установки, включающий нейтрализацию ошибок в конструкциях, отличных от оператора. Последовательность указанных сигналов инициирует запись эталона из таблиц в блок 30 стековой памяти (фиг. 32). После записи эталона в блок 30, о чем идентифицирует сигнал 20 на входе 31.У7 блока 31, данный блок сравнивает длины входного и эталонного слов (совпадают ли значения счетчиков 4 1 и 43), если длины не совпадают (Ст4 1) (Ст433), то блок 31 проверяст есть ли сигнал завершения просмотра на его входе 31.У2, т.е.. просмотрена ли таблица эталонов, если нет, то инициируется запись очередного эталона в блок 30. Данный процесс повторяется либо до совпадения длин анализируемых слов, либо до окончания просмотра таблицы. Если длины слов совпадают (Ст413= 1Ст433), то олок 31 анализирует идентичность первых литер анализируемых слов, если литеры не совпадают, то анализ данного эталона завершается и производится проверка на окончание просмотра таблицы (блок 4 алгоритма), и, если сигнал завершения просмотра отсутствует, в блок 30 записывается новый эталон и процесс повторяется, если первые литеры совпадают, то производится последовательный анализ следующих литер слов, если какиелибо литеры не совпадают, анализ прекращается и выбирается новое слово, если совпали литеры (т.е. данная конструкция встречалась ранее в программе и уже записана в таблицу), то выходная лексема формируется следующим образом: полю ошибки присваивается 0 — ERROR: = О, полю типа присваивается значение, выдаваемое кодопреобразователем 2 по выходам

2.8-TYPE = 2.8, а полю значения присваивается адрес эталона, совпавшего с входным словом, который хранится в счетчике 45 блока 1 нейтрализации ошибок ZNACH:=LCò453. После формирования лексемы производится выдача ее внешнему устройству по его запросу (блоки 13-18 алгоритма). Если в процессе обработки входного слова в таблице эталонов не найден эталон, соответствующий данному входному слову, то выходная лексема формируется также, как и в предыдущем случае, только полю значения присвоен адрес. (N+1) в таблице символов, если в таблице уже записано N эталонов, а само входное слово выдается параллельным кодом на выходы 25 устройства и записывается в таблицу эталонов в соответствии с его типом по адресу (N+1). Сформированная лексе1361578

16 ма выдается в соответствии с алгоритмом (блоки 13-18 алгоритма).

Подмножество 3 — распознавание чисел и идентификаторов и нейтрали- 5 зация ошибок при их возникновении в рассматриваемых конструкциях (при условии, что перед "телом" программ описываются все идентификаторы и числа, используемые в данных программах).

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

На вход 31.У10 блока 31 признаков по- 1Б ступает сигнал с входа 23.3 блокировки устройства и блокирует выдачу управляющих сигналов на входах

31.ЕО+31.230 блока 31, за исключением сигнала 31.212, независимо от сиг- 2О налов и информации, поступающей на входы 31.YO-:31.У9, 31.Х1-:31.Х13. Литеры входного слова накапливаются в блоке 29 стековой памяти и по сигналу "Расхождение типа" с выхода 22 блока 2 формирования лексемы выдаются на выходы 25 устройства и помеща ются в таблицу в соответствии с кодом типа входной конструкции, выдаваемым на выходе 24 устройства по первому свободному адресу в данной таблице, данный процесс повторяется до окончательного формирования таблиц входных конструкций, после чего сигнал на входе 31 У10 блока 31 снимается °

По окончании формирования таблиц входных конструкций блок 1 нейтрализации ошибок функционирует следующим образом (фиг. 5). Если обрабатывае- 4О мая конструкция не содержит ошибок .(т.е, записана в таблицу в соответ; ствии с типом), то процесс функционирования аналогичен работе блока 1 нейтрализации ошибок в соответствии 4Б с состоянием подмножества 2. В .случае обнаружения ошибок (входное слово не обнаружено в таблице эталонов) блок 1 нейтрализации ошибок функционирует в соответствии с состоянием ВО подмножества 1.

Устройство для лексического анализа работает следующим образом.

В исходном положении элементы и блоки устройства находятся в нулевом состоянии, а триггер 5 пуска— в единичном, причем последний инициирует на выходе 26 устройства единич" ный сигнал "Запрос", на выходы 18.поступает значение граничного коэффициента К,, а на вход 23,2 — сигнал "Начальйая установка", стробирующий запись кода граничного коэффициента в регистр 36. В зависимости от структуры входной программы на входах 23.1 и 23.3 устройства присутствуют или отсутствуют единичные сигналы Спец.структура и "Блокировка". Сигнал "Запрос" вызывает подачу от внешнего устройства (не показано) единичного сигнала "Ответ" на вход 19 ответа и литеру входной записи на информационные входы 1? устройства. Сигнал "Ответ" стробирует запись входной литеры в регистр 4 литеры и через открытый элемент И 12 устанавливает триггер 5 пуска в нулевое состояние, обеспечивая. снятие сигна- ла "3anpoc". Одновременно сигнал с инверсного выхода триггера 5 пуска через открытый элемент И 15 инициирует распознавание кодопреобразователем 2 литеры, записанной в регистр 4 литеры, код -которой поступает на информационные входы блока 2 формирования лексемы после распознавания входной литеры, если она относится к ранее считанной конструкции, на выходе 2.3 блока 2 формирования лексемы формируется единичный сигнал. Данный сигнал, поступая на одноименный вход блока 1 нейтрализации ошибок, инициирует перезапись .входной литеры из регистра 4 литеры в блок 29 стековой памяти, одновременно сигнал с выхода 2,3 через элемент ИЛИ 7 устанавливает триггер 5 пуска в единичное состояние. Сигнал с прямого выхода триггера 5 пуска через открытый элемент И 14. формирует на выходе 26 устройства сигнал "3anpoc", по которому на выходы 17 поступает следующая литера, и процесс повторяется до тех пор, пока в регистр 4 литеры не будет записана литера, не принадлежащая к обрабатываемой конструкции.

После записи в регистр 4 литеры, не принадлежащей к конструкции, литеры которой обработаны ранее, блок 2 формирования лексемы разпознает данную литеру и в результате анализа формирует на выходе 2.2 единичный сигнал "Расхождение типа".

Далее процесс функционирования зависит от типа обрабатываемой входной конструкции, поэтому целесооб1361578

17

l8 разно рассмотреть работу устройства в следующих состояниях,.

Состояние 1: обрабатываемая конструкция — оператор (зарезервированное слово), не содержащий лексических ошибок. В данном состоянии блок 2 формирования лексемы формирует коды типа и значения выходной лексемы и сигнал "Оператор" на выходе 2.5. Сигнал "Оператор" поступает на двенадцатый управляющий вход блока 1 нейтрализации ошибок и инициирует формировайие этим блоком единочного сигнала "Лексема готова" на выходе 28 устройства. По данному сигналу внешнее устройство (не показано) устанавливает на вход 21 вьдачи единичный сигнал, который поступает на второй управляющий вход блока 22 формирования лексемы и инициирует снятие сигнала "Расхождение типа" с выхода 2.2 и выдачу данным блоком 2 формирования лексемы кодов

1 типа на выходы 2 ° 8 и кодов значения выходной лексемы на выходы 2,9. Коды типа и значения лексемы поступают на первые и вторые информационные входы мультиплексора 3 лексемы, где под действием сигнала на втором управляющем входе окончательно формируется лексема. Сформированная лексема вьдается на входы мультиплексора

3 лексемы, которые одновременно являются выходами- 24 устройства. Од:новременно сигнал с входа 21 приво.дит в исходное состояние блок 2 формирования лексемы и через время задержки, равное времени выдачи лексемы во внешнее устройство, инициирует распознавание литеры, записанной в регистре 4 литеры, и процесс накопления литер одной входной конструкции в блоке 29 стековой памяти повторяется до формирования блоком

2 формирования лексемы единичного сигнала на выходе 2,2, Состояние 1а: обрабатываемая кон".трукция — оператор, содержащий лексические ошибки, При обработке данной конструкции блок 2 формирования лексемы совместно с кодом типа и сигналом "Расхождение типа" формирует сигналы "Оператор" и "Ошибка" на выходах 2.5 и 2.7 соответственно.

Данные сигналы инициируют работу блока 1 нейтрализации ошибок в соответствии с алгоритмом (фиг. 3). Сигнал "Ошибка" через элементы, ИЛИ 10, И 13 и ИЛИ 9 устанавливает триггер

6 эталона в единичное состояние.

Сигнал с прямого выхода триггера 6 эталона формирует единичный сигнал

"Вызов эталона" на выходе 27 устройства, По данному сигналу внешнее устройство устанавливает единичный сигнал на вход 19 устройства и последовательно подает литеры эталона на входы 17 устройства. Сигнал с входа 19 через элемент И 16 поступает на одиннадцатый управляющий вход блока 1 нейтрализации ошибки и инициирует запись литер эталона в блок

30 стековой памяти, этот же сигнал через элемент ИЛИ 8 устанавливает триггер 6 эталона в нулевое состояние, при этом сигнал "Вызов эталона" с выхода 27 снимается. Сигнал с нуле- вого выхода триггера 6 эталона через элемент ИЛИ 11 поступает на второй управляющий вход мультиплексора

3 лексемы, но формирование лексемы

25 не происходит, так как данный сигнал блокирован сигналом "Расхождение типа", поступающим на первый управляющий вход мультиплексора 3 лексемы. После завершения работы блока

30 нейтрализация ошибки по алгоритму (фиг. 3) устройство переводится в исходное состояние, Состояние 2: обрабатываемая конструкция — разделитель. Блок 2 формирования лексемы формирует значение

\1 выходной лексемы и сигнал Разделитель" на выходе 2,6. По данному сигналу устройство начинает функционировать аналогично функционированию в

4О состоянии 1 под воздействием сигнала

"Оператор, однако выходная лексема формируется в соответствии с результатами анализа разделителя.

Состояние 3: обрабатываемая кон45 струкция — число (идентификатор), а структура программы не предусматривает нейтрализации лексических ошибок в идентификаторах и числах любого класса. В данном состоянии блок

2 формирования лексемы формирует единичный сигнал на выходе 2.4, который поступает на одноименный вход блока

1 нейтрализации ошибок и совместно с сигналом с входа 23.2 инициирует запуск работы блока 1 нейтрализации

55 ошибок по алгоритму (фиг. 4) .. Одновременно сигнал с выхода 2.4 поступает на третий управляющий вход мульт щлексора 3 лексемы, но он бло19

1361578

55 кируется сигналом "Расхождение типа, После завершения работы блока нейтрализации ошибок по алгоритму устройство переходит в исходное состояние, обрабатывает литеру из регистра 4 литеры и процесс повторяется.

Состояние 4; обрабатываемая конструкция — число (идентификатор), а структура программы позволяет производить нейтрализацию ошибок в рассматриваемых конструкциях. В данном состоянии устройство по сигналу на входе 23.3 блокировки формирует временные таблицы рассматриваемых конструкций, т.е ° производится накопление входных литер блоком 1 нейтрализации ошибок и по сигналу "Расхождение типа" на выходе 2.2 кодопреобразователя 2 записанное слово. выдается на выходы 25 устройства, а на выходы 24 устройства блока 2 формирования лексемы через мультиплексор 3 лексемы выдается код типа обработанного входного слова. Далее внешнее устройство по этим данным формирует временные таблицы. После завершения процесса формирования таблиц сигнал с входа 23.3 устройства снимается и по сигналам 2.4 и 23.1 блок нейтрализации начинает функционировать в соответствии с алгоритмом (фиг. 5) ° формула изобретения

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

И и пять элементов ИЛИ, причем информационный вход регистра литеры является информационным входом устройства, выход регистра литеры соединен с информационным входом блока формирования лексемы, первый управляющий выход которого соединен с первым входом первого элемента И, первым входом первого элемента ИЛИ и входом асинхронной установки в "0" регистра литеры, второй управляющий выход блока формирования лексемы соединен с первыми входами второго и третьего элементов И, третий управляющий .выход блока формирования лексемы соединен с вторым входом первого элемента ИЛИ, четвертый и пятый управляющие выходы блока формирования лексемы соединены с первым и вторым входами второго элемента ИЛИ соответ5

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

ИЛИ, входы установки поля и единицы триггера пуска подключены к выходам первого элемента ИЛИ и пятого элемента И соответственно, инверсный и прямой выходы триггера пуска соединены с вторыми входами первого и второго элементов И соответственно, второй вход пятого элемента И является входом ответа устройства и соединен с вторым входом четвертого элемента И и входом сйнхрониэации регистра литеры, выход второго элемента ИЛИ соединен с третьим входом третьего элемента И, о т л и ч а ющ е е с я тем„ что, с целью расширения функциональных возможностей путем обработки входных тестов программ, лексические единицы которых не имеют строгих позиций по входной записи, нейтрализации лексических ошибок, а также увеличения типов распознаваемых терминальных слов при одновременном упрощении устройства и повышении его быстродействия за счет исключения записи во временную таблицу конструкций, которые были ранее в нее записаны в процессе лексического анализа, в устройство введейы блок нейтра- лизации ошибок и мультиплексор лексемы, причем первый и второй информационные выходы блока формирования лексемы соединены соответственно с первым и вторым информационными входами мультиплексора лексемы, третий

1361578

22

21 и четвертый информационные входы которого соединены соответственно с первым и вторым информационными выходами блока нейтрализации ошибок, третий информационный выход которого является выходом терминального слова устройства, первый управляющий вход мультиплексора лексемы соединен с вторым управляющим выходом блока фор- 1р мирования лексемы, второй управляющий вход мультиплексора лексемы соединен с выходом пятого элемента ИЛИ, третий управляющий вход мультиплексора лексемы соединен с четвертым управляющим выходом блока формирования лексемы, первый и второй управляющие выходы блока нейтрализации ошибок соединены соответственно с четвертым и пятым управляющими вхо- О дами мультиплексора лексемы, выход которого является выходом лексемы устройства, третий, четвертый и пятый управляющие выходы блока нейтрализации ошибок соединены с вторым, 25 .третьим и четвертым входами четвертого элемента ИЛИ соответственно, шестой управляющий выход блока нейтрализации ошибок является выходом готовности устройства, седьмой управ- ЗО ляющий выход блока нейтрализации ошибок соединен с вторым входом пятого элемента ИЛИ, первый информационный вход блока нейтрализации ошибок соединен с выходом регистра литеры, второй информационный вход блока нейтрализации ошибок является входом коэффициента поправки устройства, первый управляющий вход блока нейтрализации ошибок соединен с пятым управляющим выходом блока формирования лексемы, второй управляющий вход блока нейтрализации ошибок соединен с вторым управляющим входом блока формирования лексемы, третий, четвертый, пятый и шестой управляющие входы блока нейтрализации ошибок образуют соответственно входы организации, завершения просмотра, начальной установки и блокировки устройства, седьмой управляющий вход блока нейтрализации ошибок соединен с выходом четвертого элемента ИЛИ, восьмой управляющий вход блока нейтрализации ошибок соединен с вторым входом третьего элемента И, девятый управляющий вход блока нейтрализации ошибок соединен с первым входом третьего элемента И, десятый, одиннадцатый, двенадцатый и тринадцатый управляющие входы блока нейтрализации ошибок соединены соответственно с третьим, четвертым, шестым и седьмым управляющими выходами блока формирования лексемы, 1361578

1:361 578

25 . 22

В

26

1361578

1361578

ФигЗа

1361578

ffem

HPМ

Фиг. 5b

79

Рорииро5ание олокои

Л сигналоо 51 Z0;

ЛZ71j 37.Z26j Л,Г7

11

Формирооание Боком Л сигнала 51. 25

Запись Ю35 но ь оычисленного КГ

RG 35 : = Ю17 сяли g да&. зталпноЮ кморрена фпрмирооание Ьпком

31 сигнала Л. 225

17

Фпрмирооание лексемы — ERR0R: = L17; тт:=гр; zwAce. P

Выпча лексемы на оыхпдь! 2Ч ycmpoucmба

22

Фармцро ание сигнала

"Лексема zomola "иа оьиоое 2о

Z3

Cvum i ание лексемы (прием сигнала иа Юхан

21 устроасп7оа ) Фпрмиро ание локан

У1 сцгналоо Л.20 и

31.Z9

h C i ф,р .

18

Фориирооание йлпкпм 3 сигнала Л.Z29

79

Фпрмиро5пние пригге ром 7 сигнала 17

Формиро5ание лексемы екЯОЙ: = ПЭ;

ПРе:=$8 хиАсн = 11

Запрос хоонпй ятеры (сигнал на оыходе 2б устрпйстоа ) 1361 578

)Yern

36

Выбор оля сра neeus сле8ующей о;;одиои ливеры

Б

Формиродаиие локон 31 сигиалоо

31 27 и 312о

37

Рормиро ание олоиам

Л сигналоб 31.2о;

ЗП1Х; 31.27 и 31.2N

26

Рормирооание олокои

31 сигнала 31. Z1

Обнуление регистра .

Ю 33

28

Начала оораоотии оцередн, pazdueeus

Сто: = гтЮ арке д за преоеламиз алона стФО с нет 3g

Формиро3ание олокои

37 сигна ьо5 Л.2Г и

31. 27

3!

Устадоока маркера на нейхооимую литеру Ст РЗ: = Ю 33 >1

fapgep за преоелами сл

Cm Я СтФ2 депе итеры 3Я совпадают .

29-7 = 301

Аа. аркер В

3a п еоеламц слооа

Р т ЩсаЧ2

Да

Формиро5ание блоком

31 сигналао 31. 2 1 и 31;Z 10

ГУ

Выоор As срабнения следующей лиаеры. злал она

1361578

ФугЗг

Иа чала ппдпраграммы записи мавалана о олпк Я

Рорморпоание аореса зяалпна йлокпм Л и счетчяом Сл О5

"0птирание" мулыто-. щексора 3 сигналом с оыхоУа Г.Z

ВьВпча адреса зтаАоМ и0 дфlхОЙУх 2 успгрпис тра ф. фпрморп иное сигнала

" Запрос зталпна "на йихопе 27

Подача на йхпд 19 сигнала "Рт&ш" б

Посл еаоо апрель чая тдача .питер звалаиа иа Охода 17

Па0ача на хо Я согнала " эталон закюнчился

/1одпрограмма задериена

136)578

Иа чало

«1

Прием алоком1 иейтролтации соаиалаа

Гю л Ях2

ПО ПРОгРоииа ЗОПИСа

3РплОнй О ОлУГ X у77 луРи 3 слоо сц па ают?

Сто= Дц полица язосмОГп()аонк 7

22 = "1" да

Формиро ание лексеиыЕЛКОВ: =О; APE:=2,8

Z NACH: = CITl 05

Со иг хОЬОго и эяи лаииагО СЛОО " ОеРД " о олаках 29 и ЮО б

Вь!дача иа быходы 25 усяройсп оа охотных литер

Зменьшение счетчика таланных тте

Cm 91: = Ст 9112

РориирооаииЕ ЛЕКСЕмы F8808:=0; TED: 2д ПАСИ:= Ст95

Вь)дача выходной анц>ормации усп рай— сто

16

9орииро5ание блоком

Д стналоо Я1. 20 с1 31. 24

17

05нулеиае садержимто

Олокой О и Я

Сортира ание олокои у1 сигнала "лексема готооа "на оыходе 28

Прием на оход 21 сигиалй "Считать лексем

jlumPpb! 7 со&йдаюР .

29,1=Я б ОРарйате Ьаком Л сигналоо 31. 2Ю, 31. Z 1О и Л.23

Сранение 11 Дед окончено? Ст 91=0

18

Запрос охо0нои литеры (сигюл иа аиходе 26 устройства ) 1361 578

На чало

Прием Юлолом 1 нейтрализации сигналоо

2.9 Л 2Л7

Oodпрогоамма записи эталона яблок 30

НЕПА

Формирооание слоям

Л сигнала Л 2Я

Ц

Пойрограимп записи эталона о блок Ю

Рортро3ание Ьто

37 сигнала 31.2И

17 дыдор следующего разбиения сач3 =ОЯИ адлица - 7Q просмотрена ?

2 ="1"

Аа 71

Начало пооторнога

npoc ompa Cm 45:=g

79

ФОрмирМание блоком

37 сигнала Л. 227

Обнуление» регистра соопас7ении Я&34:=0 лины слоо содпадают. ст 7=ст

plumeðû 4 соопаоают 7

291= Ю1

П

Рормирооание олокои

Л сигналоЮ Л28, Л. 2 10, 37. Z3 б

С иг хо ного и злдлонного сло6 "Иерх"

3 блоках 29 и 30

7 уменьшение счетчика зталонтм ливер ся 97:= ст 91-1 а3нени 8 щд окончено

mV1=d

Да формирайние лексемы

ЕВЯОЯ: =О; APE: 2.8

ZNACH: =Ст 95

1361 578

19 ание олоком а 31.21

20 регистра

Hem

Фиг. Я

>pm исло ЯЗ

mls> чем Юз а ц

Формиробаниа олокои.71 сигнала Л.Z 2Г

Запись R& ЯФ со ержииого Ст И

Þ39:= Cm94

8ыЮр оля сра5иения следующей бхооной литеры

Z7

Формирооание олоком

31 сигналоЮ Л27 а

Л. ZB

so

,Рорми,оо ание Ьоном

31 сигнало6 Я 2 6, Л. 215, Л.Z7, 31.218

21 браоотки р ра оиения

Cm 90: = Ст 93 арктур 22 а пределами уталон ст.40тйпA

Hem

Формирование блоком 31 сигналао 31. ZZ и

Л. z7

29

Чстано ка маркера на неодходимуа numen

Ст39 RG 33 i

Мапкер 25 за npedeaaeu слоо

em umepai Я совпадают .7

91=Za а неш apwep 29 за пределами слаба

Ст ЗИщ

Да

136! 578

1361578

Составитель И.Поливода

Редактор И,Николайчук Техред A.Кравчук Корректор А.Зимокосов

Тираж 671 Подписное

ВНИИПИ Государственного комитета СССР по делам изобретений и открытий

113035, Москва, Ж-35, Раушская наб,, д, 4/5

Заказ 6293/50

Производственно-полиграфическое предприятие, г, Ужгород, ул. Проектная, 4

Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа Устройство для лексического анализа 

 

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

Изобретение относится к вычислительной технике и может быть использовано в системах управления базами данных

Изобретение относится к вычислительной технике и может быть использовано в автоматизированных системах обработки данных и производства программ для ЭВМ в условиях с жесткими требованиями к быстродействию и аппаратурным затратам

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике и может быть использовано в системах реализации языков высокого уровня, в аппаратурных трансляторах , эмуляторах и интерпретаторах

Изобретение относится к автоматике и цифровой вычислительной технике, в частности.к устройствам обработки текстовой информации

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике и может использоваться при вводе информации в вычислительную систему для оперативного орфографического контроля текстов

Изобретение относится к вычислительной технике

Изобретение относится к вычислительной технике

Изобретение относится к компьютерной системе создания и перевода документов, к системе подготовки текста на языке ограничений и перевода на иностранный язык

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

Изобретение относится к обработке информационных естественно-языковых текстовых материалов

Изобретение относится к системам классификации текстовых сообщений

Изобретение относится к автоматизированному синтезу текстовых документов

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

Изобретение относится к распознаванию образов из графического изображения, и в частности к распознаванию текста на изображении документа в электронном виде

Изобретение относится к устройствам распознавания написанных знаков
Наверх