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

 

ОПИСАНИЕ

ИЗОБРЕТЕНИЯ

Союз Советских

Социалистических

Республик

К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ

Зависимое от авт. свидетельства №

Заявлено 20ЛХ.1968 (¹ 1270855/18-24) с присоединением заявки №

Приоритет

Опубликовано 17.!Ч.1973. Бюллетень ¹ 18

Дата опуоликования описания 29.VI.1973

Ы. Кл. G 061 9/00

Комитет по лелем изобретений и открытий при Совете Министров

СССР

УДК 681.326.3 (088.8) Авторы изобретения

Б. Н. Малиновский, С. Б. Додонов и Л. Г. Козлов

Институт кибернетики АН Украинской ССР

Заявитель

УСТРОЙСТВО СИНТАКСИЧЕСКОГО АНАЛИЗА ПРОГРАММ

Предлагаемое изобретение относится к вычислительной технике и может быть применено для трансляции программ вычислительными машинами.

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

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

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

На фиг. 1 показана блок-схема предлагаемого устройства синтаксического анализа программ; на фиг. 2 — анализирующая таблица.

Оно состоит из постоянного ассоциативно5 го запоминающего устройства 1, регистра опроса, состоящего из входного регистра 2 и регистра 8 сформированного кода, блока 4 ассоциативных признаков, блока 5 индикаторов, блока б рабочих ячеек, выходного ре10 гистра 7 постоянного ассоциативного запоминающего устройства, схемы 8 контроля, регистра 9 ошибки, блока 10 прерывания и управления, регистра 11 основного тоода, регистра 12 чтения, регистра 18 записи, регистра

15 14 прерывания, регистра 15 адресов подпрограмм, регистра 1б Bcnoмогательного кода, блока 17 магазинной памяти.

В основу предлагаемого устройства положена идея параллельного поиска строки ана20 лизирующей таблицы, в результате которого существенно сокращается время синтаксического анализа программы. Синтаксический анализ программы осуществляют с помощью анализирующей таблицы, показанной,на

25 фнг. 2 (- анись ПАЗУ означает постоянное ассоциативное запоминающее устройство, а номер столбца определяется номером регистра на фиг. 1).

Строка анализирующей таблицы содержит

30 код текущего символа Т; (столбец 2 табли377774 цы) для поиска необходимой строки совместно с кодом (столбец 3 таблицы), сформированным предыдущим символом Т, i программы.

Каждая строка таблицы содержит дополнительный разряд «ОШ» (ошибка), в котором всегда записана единица. Данный разряд используется для проверки текущего символа Т, программы.

Устройство работает следующим образом.

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

Затем производится поиск кода путем сравнения ассоциативного признака, записанного на регистре опроса (регистры 2 и 3) с ассоциативным признаком, записанным в блоке 4 ассоциативных признаков. При сравнении кодов, очевидно, только один из индикаторов блока 5 индикаторов останется в нулевом состоянии, и из блока б,рабочих ячеек .на выходной регистр 7 будет считан рабочий код, соответствующий найденному ассоциативному признаку. Затем схемой 8 контроля производится анализ регистра 9 ошибки. Поскольку произошло чтение некоторого кода на выходной регистр 7, то в регистре 9 ошибки будет записана единица:и, следовательно, работа устройства будет продолжаться. Если текущий символ Т; записан синтаксически неверно (т. е. символ

Т;) не соответствует коду, записанному на регистре 3), то соответствующий ассоциативный признак не будет найден, и поскольку чтения кода на выходной регистр 7 не происходит, регистр 9 ошибки останется в нулевом состоянии. В этом случае схема 8 контроля выдает, сигнал в блок 10 прерывания и управления, который прекращает работу устройства, а следовательно, и синтаксичес5 кий анализ программы. После чтения кода на выходной регистр 7 и анализа содержимого регистра 9 ошибки выполняемые действия — формирование основного кода, анализ регистра чтения, регистра записи, регистра

10 прерывания — аналогичны действиям прототипа.

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

15 регистре 15 для выбора соответствующей генерирующей подпрограммы. Блок 10 прерывания и управления прекращает работу уст ройства, когда на его вход с регистра 11 поступает код «Конец программы», 20

Предмет изобретения

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

377774

1 !

I !

Сигналы прерывания и упраЬ ения

Фиъ, 1

Фиг 2

Составитель Е. Иванеева

Техред Т. Курилко

Корректор Н. Стельмах

Редактор И. Гавренкова

Заказ 1741 7 Изд. Ма 1394 Тираж 647 Подписное

ЦНИИПИ Комитета по делам изобретений и открытий при Совете Министров CC(.1Москва, 5К-35, Раушская наб., д. 4/5

Типография, пр. Сапунова, 2

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

 

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

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

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

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

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

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

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

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

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

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