Генератор программ для управляемого синтаксического контроля
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано в быстродействующих операционных системах, в частности в системах с диалоговым режимом разработки, отпайки и выполнения программ, а также в ЭВМ с языком высокого уровня. Цель изобретения - расширение функциональных возможностей за счет обеспечения самонастраиваемости на различные планы грамматик при одновременном повышении достоверности контроля за счет выявления ошибок во входной грамматике, а также повышение быстродействия устройства. Для достижения указанной цели в устройство дополнительно введены входной регистр 1, дешифратор 4 адреса, блок 7 контроля, коммутатор 8 и выходной регистр 9. Использование аппарата алгоритмических алгебр для представления входной грамматики, оптимизация алгоритма работы блока 3 управления, а также введение блока 7 контроля входной грамматики обеспечивают эффективную генерацию программ контроля, делают устройство универсальным и самонастраиваемым. При этом исключение блока памяти грамматик позволяет повысить быстродействие и упростить устройство. 3 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (51) 5 G 06 F 15/31) 9/4 55
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
К А BTOPCHOMY СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЬ1Й КОМИТЕТ
flO ИЗОБРН ЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГНКТ СССР
1 (21) 4/58991/24 (22) 29. 09Ä89 (46) 23-.08,.91. Вюл„Ь 31 (/1) Научно-исследовательский технологический институт приборостроения (/2) В. К. Водопьянов, Н, И„Одриковский и 3.В.Плотникова (53) 681=325(088,.8) (56) Авторское свидетельство СССР
li 1062 /2 1, кл. (" 06 Р 15/38, 1982.
Авторское свидетельство СССР
il - 138/018, кл„ G 06 Е 15/38, 1981. (54) ГЕНГРАТОР ПРОГРАММ Й /ДЛ УНРАВ.1ИЕМОГО СИНТАКСИЧЕСКОГО КОНТР0 :Я (5/) Изобретение относится к вычислительной технике и может быть использовано в быстродействующих операционных системах, в частности в системах с диалоговым режимом разработки, отпайки и выполнения программ, а также в ЭВМ с языком высокого уровня.
Цель изобретения — расширение функ„„ Ы„„1672467 А1 цнональных возможностей за счет обеспечения самонастраиваемости на различные планы грамматик при одновременном повышении достоверности контроля эа счет выявления ошибок во входной грамматике, а также повышение быстродействия устройства. Для достижения укаэанной цели в устройство дополнительно введены входной регистр
l дешифратор 4 адреса, блок / контроля, коммутатор 8 и выходной регистр 9. Использование аппарата алгоритмических алгебр для представления входной грамматики, оптимизация алгоритма работы блока 3 управления, а также введение блока / контроля входной грамматики обеспечивают эффективную генерацию программ конт С> роля, делают устройство универсальным и самонастраиваемым. При этом исключение блока памяти грамматик п зволяет повысить быстродействие и упростить устройство. 3 ил., 6 табл.
1672461
««, I P, «»z «V... VP««, Р, Р, „„(,„„Р„„V N»...),.
Р2 А»1 «и Р Мрit(qiр Ч Ч(5 zK (цр(Р„ЧраKÈ,(qz к1 p„i VN)) ° ° ° ); переменная (оператор регулярной схемы микропрограммы, определяемой заданным уравнением; оператор P, включаемый в левую часть регулярной схемы, синтаксически определяют номер этой схемы); 40
1, если переменной Р; сопоставляется некоторый терминал входной грамматики;
О, в противном случае; где P
1 граммах Вирта, формах Бэкуса-Наура и др. если переменной Р; сопо- 4 ставляется макрокоманда в генерируемой программе;
О, в противном случае, =1,К
j=1,Ê+1, N — - постоянная, определяющая пустой оператор.
Под терминалом входной грамматики понимается некоторая конструкция, например знаки операций +, -, х, имя, цифра, буква, ключевые слова типа
1)
if, СОТО: PROGRAM и т.д., »»спользуе1 мая для описания синтаксиса в диаИзобретение относится к вычислительной технике и может быть использовано в быстродействующих операционных системах обработки информации, в частности в системах с диалоговым режимом разработки, отладки и выполнения программ, а также в 3ВМ с языком высокого уровня.
Цель изобретения — расширение функциональных воэможностей за счет обеспечения самонастраиваемости на различные классы грамматик при одновременном повьпнении достоверности контроля за счет выявления ошибок во входной грамматике, а также повьппение быстродействия.
Генератор, получая на вход грамматику, записанную в специальной форме, выдает в результате своей работы программу синтаксического контроля на выходном языке. Генерируемая программа зависит, в основном, от особенностей входной грамматики, определяющей структурные свойства языка пользователя (арифметических, логи1О
25 ческих, регулярных, автоматных и других выражений, подлежащих контролю). Учитывая, что не каждая грамматика обеспечивает полноту контроля входных напряжений, устройство за счет специальной формы представления грамматики позволяет включать в генерируемую программу макрокоманды, определяющие выход на подпрограммы семантического контроля. Последние могут храниться во внешнем блоке памяти и доопределяться пользователем в зависимости от требуемой полноты контроля. В этом плане генератор допускает построение программ контроля, структура которых может изменяться (управляться) не только синтаксисом, но и семантикой входных выражений. !
Теоретической базой генератора является представление входной грамматики в виде системы уравнений в алгоритмических алгебрах, записываемой в следующей дизъюнктивной скобочной форме
Приведенная форма представления входной грамматики является независимой от используемых языков и более компактной (сжатой) по сравнению с традиционно используемыми формами.
Генерация на ее основе программ контроля может осуществляться в темпе последовательного чтения входной грамматики, что повьппает быстродействие и исключает необходимость хранения входной грамматики в памяти re" нератора.
На фиг.1 представлена структурная схема устройства; на фиг.2 — структурная схема блока управления; на фиг.З вЂ” структурная схема блока контроля.
Устройство (фиг.1) содержит входной регистр 1, дешифратор 2 операторов, блок 3 управления, дешифратор 4 адреса, блок 5 памяти, счетчик 6 меток, блок / контроля, коммутатор 8 и выходной регистр 9, 5 16/
В состав блока 3 управления (фиг.2) входят программируемая логическая матрица И 10, программируемая логическая матрица ИЛИ 11, узел 12 памяти, элемент ИЛИ !3 генератор 14 тактовых импульсов, триггер 15, элемент
16 задержки, элемент И 1/, Блок контроля (фиг.3) содержит !>åверсивный счетчик 18, первый элемент
ИЛИ 19, первый элемент И 20, второй элемент ИЛИ 21, первый триггер 22, второй 23 и третий 24 элементы И, третий элемент ИЛИ 25, второй триггер
26, четвертый элемент ИЛИ 2/, третий триггер 28, пятый элемент ИЛ!! 29, четвертый 30 и пятый 31 элементы И, шес."ой элемент ИЛИ 32
Входной регистр 1 предназначен для хранения текущего символа подаваемой на вход устройства дизъюнктивной формы представления входной грамматики и может быть выполнен, например, на микросхеме 155 ТН 2. Дешифратор 2 операторов предназначен для анализа текущего символа, хранящегося во входном регистре.
Блок 3 управления организует взаимодействие всех элементов устройства и может быть выполнен на многократно программируемых логических
Ф матрицах.
Блок 5 памяти предназначен ..ля хранения базовых конструкций в. оцного языка (в частности языка ассемблера), непосредственно используемых в процессе формирования генерируемой программы в выходном регистре. Запись информации из блока памяти в выходной регистр осуществляется по командам блока 3 управления. При этом адрес опрашиваемой ячейки памяти формируется дешифратором 4 адреса.
Для схемной реализации блока 5 памяти может быть использовано репрограммируемое постоянно запоминающее устройство с длительным сроком хранения при включенном и выключенном источнике питания.
Счетчик 6 меток предназначен для формирования меток, используемых в выходной программе.
Блок / контроля предназначен для выявления ошибок путем проверки наличия и порядка следования символов в дизъюнктивной скобочной форме входной грамматики, поступающей на вход генератора.
55 разом.
При включении генератора з глускается блок 3 управления, управляющий сигнал которого подается на входы сброса в нуль счетчика Ь меток и одновременно на блок / контроля, где устанавлидаются в нулевое состояние реверсивный счетчик 18 и триггеры 22, 26 и 28. Этот же -правляющий сигнал производит разблакировку входного регистра 1 для ввода гекущего сНМВо ла входной грамматики. !екущий симьол грамматики поступает во входной регистр 1, а затем на дешифратор 2 операторов Дешифратор 2 производит анализ текущего символа и вырабатывает соответствующий этому символу выходной сигнал, который поступает на блок / контроля, где проверяется наличие и порядок следования анализируемого символа, и одновременно на блок 3 управления, Если текущий символ является оператором Р, то блок управления вырабатывает управляющие сигна, которые различаются в зависимости от выходного сигнала счетчика 6 меток, В том случае, когда счетчик б меток сброшен в нулевое состояние, то управляющий сигнал блока 3 управления переключает коммутатор 8 на запись текущего символа из входного регистра 1 в выходной регистр 9. В том случае, когда состояние счетчика отлично от нулевого, то управляющий сигнал блока 3 управления блокирует поступление во входной регистр 1 очередного символа граю атики, переключает коммутатор 8 на запись соответствующей оператору
Р конструкции выходного языка из блока 5 памяти в выходной регистр 9, затем переключает коммутатор 8 на запись оператора Р из входного регистра 1 в выходной регистр 9. После этого управляющий сигнал с блока 3 управления поступает на блок 7 контроля, где производится изменение состояния триггера 22, и на ьходной регистр 1, для его разблокирования и ввода в него очер 1дного символа грамматики.
246/
Коммутатор 8 обеспечивает поступление элементов генерируемой программы из входного регистра 1, блока 5 памяти и счетчика б меток в выходной регистр 9
Генератор работает с;и- дующим об30
167246
Если текущий символ является цифрой, то блок 3 управления переключает коммутатор 8 на запись этой цифры из входного регистра 1 н выходной
5 регистр 9 и переходит к анализу следуюш""го текущего символа.
Если текущий символ является знаком =, сператором Nq признаком или
q, то блок 3 управления блокирует запись во входной регистр 1 о ередного символа грамматики, переключает коммутатор 8 на запись соответствующей текущему символу конструкции выходного языка чз блока 5 памяти н выходной регистр, а затем вырабатывает управляющий сигнал, которыr поступает на блск l контроля для изменения состояния триггерог, 22, 26, 28 и на входной регистр 1 Для его разблоки- 20 ровцния н Вг,ода 1чередного симгола, F.ñëÿ тс-кущий символ являет -я знаком дизъг нкции, то по сигналу с дешифрат ра 2 блок 3 управления блокирует запнс но вхОДной регистр 1, пе- 25 реключает коммутатор 8 на запись метки (символического адреса формируемой прог1 ммы) из блока 5 памяти н выходной ргл:сгр 9, переключаег коми,татор 8 ra запись содержимого сч(- ° чц я 1 .1ето., " ВыхОднОЙ регисTp .рс<л.,:-.ает ксммутатор 8: а эаНИСЬ (: r оЛОКа 3 Паиятц Н НЫХОдНОй регистр -, изменяет состояние триггеров 22 и 3, а за -ем разблокнронывает
35 нхсднс:; регистр
Ес.. нс входном регистре появляется открыт-;ающая скобка, то сигнал с дешифратора 2 пос упает на блок 3 упранлення ° КОтОрый «О этому сигналу 40 блокирует за-нсь но входной регистр переключает ;омму татор 8 на запись состнетсгнующей открывающей скобке конструкции выходного языка из блока
5 памяти н ВыхОдноЙ регистр 9, /Be- 45 личин-.ет на единицу значение счетчика 6 меток и переключает коммутатор
8 на запись значения счетчика 6 меток н ных дной регистр 9, а затем производит разблокирование нходнс.ro регистра 1„ Одновременно по сигналу с дешнфратора Z блок / контроля производит и:" верку порядка следования и накопления количества поступающих скобок, 15
Если но Входном регистре поннлягтся закрывающая скобка, то по с лгналу с дешифратора 2 блок / контроля снова осуществляет проверку порядка следования и накопление количества поступающих скобок. При этом блок 3 управления никаких управляющих сигналов не вырабатывает.
Когда но входном регистре 1 появляется знак конца уравнения (:), то блок 3 управления блокирует запись очередного символа во входной регистр и осуществляют сброс счетчика Ь меток в нулевое состояние. Одновременно с дешифратора 2 подается сигнал на блок / контроля, где осуществляется проверка наличия и порядка следования этого символа, а также анализ накопившейся суммы открывающих и закрывающих скобок, Затем с блока 3 управления подается сигнал на блок / контроля, где изменяется состояние триггеров 22,26 и 28. После этого осуществляется разблокирование регистра 1 и на него могут поступать для анализа составлянлцие следующего уравнения дизъюнктинной формы входной грамматики.
Преобразование символов входной грамматики в программу контроля происходит до тех пор, пока в регистре
1 не окажется символ конца диэъюнкТНВНоА формы ф). При этом блок 3 угранления переключает коммутатор 8 на запись lr÷ блока 5 ".амяти в выходной регистр 9 той конструкции выходного языка, которая определяет выход нз программы контроля и вырабатывает сигнал "Останов". Генератор прекращает работу, Блок 3 управления работает следующим образом. Запуск генератора осуществляется при наличии разрешающего потенциала на единичном выходе триггера 15 (положение "Пуск" ). При его наличии сигналы с генератора 14 тактовых импульсов поступают на узел 12 памяти и одновременно на элемент 16 задержки, а пройдя элемент 16 задержки и элемент И 1/, поступают на программируемую логическую матрицу И 1О.
Элемент 16 задержки предназначен для,. начальной установки узла,12 памяти перед пуском устройства.
Программируемые логические матригггг И 10 и ИЛИ 11 организованы известным способом, Выходы матрицы И 10 соединены с входами матрицы ИЛИ 11 таким образом, что поступающие от дешифратора 2 и счетчика 6 меток сигналы, (1=1„12), пройдя матрицу И 10,, 1
167246/
1О
10, 15
30
40 где Р преобразуются в некоторую совокупность логических произведений, а затем, пройдя матрицу ИЛИ 11, преобразуются в логические суммы от этих логических произведений. Результат суммирования снимается с одноименных выходов в виде управляющих сигналов
Y (j = 1,23) блока 3 управления.
Сигнал нОстанов устройства" вырабатывается элементом ИЛИ 13 при поступлении с дешифратора 2 на входы матрицы И 10 сигнала, определяющего конец дизъюнктивной скобочной формы входной грамматики. . Программируемые логические матрицы И 10, ИЛИ 11 и узел 12 памяти обеспечивают реализацию любой схемы перевода входного языка в выходной язык беэ переделки связей между блоками. При переходе с одного выходного языка на другой язык корректировке подлежат лишь используемые в блоке 5 памяти базовые конструкции выходного языка. При изменении входного языка никаких корректировок не требуется ввиду специальной (самонастраиваемой) формы представления входной грамматики.
Работу генератора и его основных блоков можно дополнительно проиллюстрировать на следующем примере.
Пусть необходимо сгенерировать программу на языке Ассемблер для синтаксического контроля логических выражений с одной унарной и с одной бинарной операциями: отрицанием и дизъюнкцией. Грамматика такого рода логических выражений представима в .виде следующей системы уравнений в алгоритмических алгебрах
Р, = f3,(Ч,Р,VP,(qp,VN));
P — Р,(Ч,,ЧР+(q4P>y N) );
=Ф
1,если с переменной Р1 первого уравнения связывается знак отрицания контролируемых выражений;
О, в противном случае, 1, если с переменной Р первого уравнения связывается операнд контролируемых выражений;
О, в противном случае, 1, если с переменной Р1 второго уравнения связывается знак дизъюнкции конт ролируемых выраже нии, О в противном случае
1, если с переменнои Р второ о уравнения свяэыва ется знак конца выражения;
О, в противном случае.
Если считать, что в ячейки блока
5 памяти занесены базовые конструкции языка Ассемблера (табл. 1), то пошаговое преобразование исходной системы уравнений в программу будет осуществляться в соответствии с табл. 2.
Содержательный смысл приведенных в табл.2 управляющих сигналов блока
3 управления следующий:
У вЂ” останов устройства;
25 Y — сброс в нулевое состояние счетчика 6 меток;
Y — увеличение на единицу значения счетчика 6 меток;
Y — сброс в нулевое состояние
3 реверсивного счетчика 18 блока контроля;
Y4(Y ) — разблокирование (эаблокирование) входного регистра;
Y — переключение коммутатора 8 на запись текущего символа
35 из входного регистра 1 ь выходной регистр 9;
Y< — переключение коммутатора 8 на запись содержимого счетчика 6 меток в выходной регистр 9;
Y (Y ) — установка в нулевое (единичное) состояние триггера 22 блока контроля;
45 Y1î(Y11 ) Установка B Нулевое (единичное состояние триггера
28 блока контроля;
Y<<(Y>> )- установка в нулевое (единичное) состояние триггера
26 блока контроля;
У 14 — переключение коммутатора 8 на запись данных иэ блока
5 памяти в выходной регистр; (Y 1я 23 формирование дешнфратором 4
55 адресов ячеек блока 5 памяти, хранящих соответственPCtt "Btt "BCStt д Э Э
tlNPll "0", "нг" "1 ОР"
"ENDgP"
16/246/
Если исходная запись входной грамматики не содержит ошибок, то в любой момент времени на выходе элементо» И . 133 согласно табл. 4 должн»: . гь i .и кс нули Наличие сигнала
«а вы оде элемента .1ЛИ 32 рассматри- О
Ba .Тс. ка, !ли ;, а 1 о входной грлмма=
".Ике „., t. ; Роя, ыал .чия и порядк".. сл: дсва. Ия < мволов в исходном и ед".тав,.:они. грамматики осущест;:ляется комбинационной схемой (элементы И, 3 !
УП1 и ннверторы) совместно с группой
RS-т иггеров. состояние которых изменяется под непосредственным воздействнсм выходных сигналов блока 3. Изменение состояния триггеров 22, 26„ 28 4О осуществляется непосредственно леред . раэбл к :.ровкой входного регистра 1 в соответстви. с табл. 5.
Если гекущий символ являет я от Р-t - -. flu, скобкои, То =и на - "де- 45 шифра-.ора 2 поступает на суммирующий вхоц реверсивного счетчика 18, а в случае, если это закрывающая скобка на в»иитающий.
25!
В процессе генерации программ чепрерывно контролируется текущая сумма от. рывающих и закрывающих скобок.
Нулевая сумма соответствует "балансу скобок". Последний должен соблюдаться по окончании каждого уравнения исход- 55 ного представления грамматики, т.е. при поступлении во входной регистр 1 знака (;) или знака (4 ).
Преобразование I-ro уравнения исходной системы к программе на языке
Ассемблер завершается sa 23 шага.
Преобразование 2-ro уравнения идентич5 но первому. Сгенерированная устройством программа для всей исходной системы уравнений приводится в табл. 3.
Блок / контроля работает следующим образом. Текуший символ исходного представления входной грамматики последовательно поступает на входной регистр 1 устройства„ а затем на дешифратор 2. Последний формирует выход. ной сигнал, соответствующий текущему. символу граьжатики.
),.
Если текущий символ является одной, из букв алфавита входной грамматики, то с ответствующий ему сигнал с де шифратора 2 подается на блок / контроля и, пройдя в нем элементь1 И и
ИЛ). (табл.4), подается на элемент
ИЛИ 32.
В случае нарушения баланса скобок или появления зчака (;) или знака (ф) внутри уравнения на выходе реверсивного счетчика 18 Формируется код, в разрядах которого содержится хотя бы одна единица. В этом случае на выходе элемента ИЛИ 19 формируется сигнал, который, пройдя элемент И 20, появляется на выходе блока контроля в виде сигнала ошибки„
В случае отсутствия знака (;) в конце некоторого неконечного уравнения или отсутствия знака (ф) в конце последнего уравнения при соблюдении баланса скобок, на выходе элемента
ИЛИ ?1 формируется сигнал, который, пройдя элемент ИЛИ 32, появляется на выходе блока контроля в виде сигнала ошибки, Отсутствие знака (;) в конце анализируемого уравнения с одновременным нарушением баланса скобок (парная ошибка) должно обнаруживаться при поступлении начального оператора
P последующего уравнения, так как в этом случае триггер 22 не перейдет в н„левое состояние (единичное состояние соответствовало конечному знаку уравнения — закрывающей скобке), и выходной сигнал, после триггера
2 пройдя элемент ИЛИ 25 и ИЛИ 32, п,.явится на выходе блока контроля в вид ..игнала ошибки.
Поскольку баланс скобок соблюдается не только для конечного знака (;), но и для начальных знаков (P или =) анализируемого уравнения, то может вырабатываться ложный сигнал ошибки.
Для его предотвращения сигналы Х, Х и Х, формируемые дешифратором 2, подаются на вход блока ИЛИ 21.
В табл,.6 приведены основные ситуа" ции распознавания ошибок во входной грамматике, характеризующие полноту контроля
Формула изобретения
Генератор программ для управляемого синтаксического контроля, содержащее дешифратор операторов, блок управления, блок памяти, счетчик меток, причем выход дешифратора операторов соединен с первым входом блока управления, первый выход которого является выходом "Останов" устройства, второй выход блока управления соедиhei со счетным входом счетчика меток, 2461 14 выход дсшифратора операторов и четвертчй выход блока управления соединеHbl с первым и вторым входами блока контроля соответственно, выход блока
tt и контроля является выходом Ошибка устройства, пятый выход блока управления соединен с входом дешифратора адреса, а выход которого соединен с ад10 Р ресным входом блока памяти, выход которого подключен к второму информационному входу коммутатора, третий информационный вход которого соединен с информационным выходом счетчи15 ка меток, шестой выход блока управления соединен с управляющим входом коммутатора, выход которого соединен с информационным входом выходного регистра, выход которого является информационным выходом устройства.
16/ управляющий выход которого соединен с .вторым входом блока управления, отличающийся тем, что, с целью расширения функциональных возможностей за счет обеспечения самонастраиваемостн на различные классы грамматик при одновременном повышении достоверности контроля за счет выявления ошибок во входной грамматике, а также повышения быстродействия, в устройство введены входной регистр, дешифратор адреса, блок контроля, коммутатор и выходной регистр, причем информационный вход входного регистра является информационным входом устройства, третий выход блока управления соединен с управляющим входом входного регистра, выход которого подключен к входу дешифратора и перво му информационному входу коммутатора, Таблица 1
Интерпретация конструкций выходного языка в генерируемой программе
Базовые конструкции выходного языка
Метка
Метка
Двоеточие после метки
Оператор перехода к подпрограмме Оператор безусловного перехода
Оператор .перехода по условию
Оператор конца программы
Имя подпрограммы семантического контроля входного выражения
Имя подпрограммы определения принадлежности символа входному языку
Пустой оператор
NP
ISR PC, BR
BCS
ЕИР }1Р
NOP
Та блида 2
Шаг работы устройства
Содервимое вход
Выходные сигналы
Содервимое выходного регистра 9
Блоха 3 управления
Счетчиеш121раора 2 ного регистра 1 ха меток
1(12
Х12 11
Х,2
F12 х, х, х, ха
Х12 х«
Х,2
Х12 с !5 по 19
Х,е
X 12
Х,2
ISR РС, 8
1.
BSC HPt
ISR PC, Q
BR P
NP:
ISR PCI В
BSC ХР1
N0P
У 1 6 I О 12 4
29 14 о х, ° Ен(ЭН Рэ
1 P
2 1
Ю
4 15
5 1
6 (7 Ч
В
9 P
1О
i1;/ эг
13 г
14 (l 5-19 го н
21,22 ) )
23 х, хэ х, х, х, х, x„, х, х, х, х, хэ х, Х
Шаги х„
1Ь
1а
Т Т15 у 14ТВТ1% Т и Т4
Y s 6 Y 14 Y 17 Y 14 9 Y 4 уь 3 16 14 Y2Y <> 4
"т" 16 У14 "ео "6 |1з "1о" 4
УВ
YS Y 21 14 6 9 4
Тб
"г" 19 YI4YzY в" 14" и "4 ьР16 " 14Yэт l4 У9У4
1о
Y$Y IS t4YQ 12 У4 аналогичны вагам с 7 ло. 11 а 2Е 14 13 4
16/246/
Метки Операторы яэыка Ассемблер
ISR YC, В1
BCS ИР1
ISR РС, (BR P, ISR PC, В
BCS NP
РС9
BR Р
N0R
ISR
BCS
ISR
BR
ISR
BCS
ISR
BR
N0P . END Ll P<
РС, В. 3
Рс, q
P)
PC B . 1Р4
РС, Е
Э
NPq.
Р
Ъ
П р и м е ч а н н е. Подпрограммы
В -B4 устанавливают принадлежность
1 элементов логического выражения алфавиту исходной грамматики. Подпрограммы Q<-Q 4 включены для воэможности проведения семантического контроля входных выражений. Укаэанные подпрограммы должны быть предварительно включены в библиотеку подпрограмм и введены в память ЭВМ.
Та блица 4
Текущий символ входной
Элементы И и
ИЛИ, принимающие сигналы от дешифратора 2
Сигнал, формируемый дешифратором 2 грамматики
27
29, 30
23, 25
24, 25,29,31 или N
Х или Х1
Х
Х, V
167246/
Таблица 5
Сигнал, формируеПримечание мый дешифратором 2
28
1 1 0 0
0 — ь1
Х, 0 -1
1 0
0 1
Х,, 9
0 1
1 1
1- 0 1 1
1«1
0-1 1-0
1 -0
1-а 0
1 — 1
0 -«1
1- !
1 -1
0 -1
Х
X 10
1 1
1 -1 1 — 1
Состояние всех триггеров не изменяется
1 « 0
1 - 0
1 0
1 0
1- " 0
1 - 0
ХВ
Ф х2
Буква используемого грамматикой алфавита {+) Состояние всех триггеров не изменяется
Таблица 6
Текущий символ
Выходные сигналы элементов блока контроля
Распоэнаваемый вид ошибки
И 23 И 24 ИЛИ 25 ИЛИ 21 И 30
ИЛИ 32
"7 входного регистра
0 0 0 0 0
0 0
1 0 0
Замена Р на P
Перестановка q c P
Замена Ч на P
Замена Р на Ч
Пропуск P
Текущий символ вхорной грамматики
Характер изменения состояния триггеров
1 0 0 0
0 0
0 1
0 0
0 0
0 0
0 0
Состояние триггеров 26 и 28 не изменяется
Состояние всех триггеров не изменяется
Состояние триггеров 26 и 28 не изменяется
Состояние триггеров 22 и 28 не изменяется
Состояние триггера 26 не изменяется
Состояние триггеров 22 и 28 не изменяется
Замена P íà q
Замена Ч на о
Замена N на М
Пропуск
1672467
Продолжение табл.6
Текущий символ
Входно
Распознаваемый вид ошибки
И23 И24 ИЛИ25 ИЛИ 21 И 30
ИЛИ 32
И 31 го регистра
Замена Р íà V
Замена q на Ч
Замена P íà Ч
Замена Р
Замена q на на
Замена P на
Замена Ч на
П р и м е ч а н и е. Знак определяет один из следукщих символов: скобку (откры вающую и закрывакщую), знак конца уравнения (;) или ф) и.iÿ символ Ф- - букву другого (не используемого грамматикой) алфавита.
Выходные сигналы элементов блока контроля
Ч О О 1
Ч О О О
О О 1 о о о о о
О О О
О 0
О О 1
0 О О
О 0 1
0 О 0
Лропуск V
Замена q
Замена P
Замена Ц на Р на Р на !"э
161246/
Om беши ррагпора Я
Х Ху ХуХ Хр1Х Х Х9ХЮХ1 у!
Уп
Редактор В.Данко
Заказ 2841 Тираж 391 Подписное
ВНИИПИ Го.-у; арстнснного комитета по изобретениям и открытиям при ГКНТ СССР
11303ý, Г1о; квп, Ж-35, Раушская наб., д. 4/5
Производственно-издательcvHii KQMGHHQT "Патент", I Ужгород, ул. Гагарина, 101
Ь
Ю
1 ф о ф
1 «Ъ
Ь
%к v 8
У7
Составитель Г.Поливода
Техред Л.Сердюкова Корректор М.Демчик