1
Предлагаемое изобретение относится к вычислительной технике и может быть применено для трансляции программ вычислительными машинами.
Известны устройства, с помощью которых пр01ИЗводят синтаксический анализ входной программы, содержащие блоки памяти, блок прерывания и управления, регистр сформированного кода.
Эти устройства производят синтаксический анализ входной программы с помощью анализирующей таблицы, в которую записана грамматика языка.
Недостатком этих устройств является их низкое быстродействие, так как синтаксический анализ каждого символа программы производится Последовательным считыванием строк анализирующей табл.ицы, соответствующих анализируемому символу программы.
С целью Повышен ия быст родейст,вия предлагаемое устройство содержит схему .контроля и постоянное запоминающее устройство, выполненное в виде постоянного ассоциативного запоминающего устройства, в котором выход регистра сформированного кода соединен с одним из входов блока ассоциативных признаков и выход регистра ошибки постоянного ассоциативного запоминающего устройства соединен через схему контроля с входом блока прерывания и управления.
На фиг. 1 показана блок-схема предлагаемого устройства синтаксического анализа программ; на фиг. 2 - анализирующая таблица. Оно состо ит из постоянного ассоциативного запоминающего устройства /, регистра опроса, состоящего из входного регистра 2 и регистра 3 сформированного кода, блока 4 ассоциативных признаков, блока 5 индикаторов, блока 6 рабочих ячеек, «выходного регистра 7 постоянного ассоциативного запоминающего устройства, схемы 8 контроля, регистра 9 ощибки, блока 10 прерывания и управления, регистра 11 основного кода, регистра 12 чтения, регистра 13 записи, регистра
14 прерывания, регистра 15 адресов подпрограмм, регистра 16 вспомогательного кода, блока 17 магазинной памяти.
В основу предлагаемого устройства положена идея параллельного поиска строки анализирующей таблицы, в результате которого существенно сокращается время синтаксического анализа программы. Синтаксический анализ программы осуществляют с помощью анализирующей таблицы, показанной ла
фиг. 2 (запись ПАЗУ означает постоянное ассоциативное запоминаюц;ее устройство, а номер столбца определяется номером регистра па фиг. 1).
Строка анализирующей таблицы содержит
код текущего символа Г, (столбец 2 таблицы) для поиска необходимой строки совместНО с кодом (столбец 3 таблицы), сформирова.нным Предыдущим символом Tj-i программы. Каждая строка таблицы содержит допол-5 нительный разряд «ОШ (ощибка), в котором всегда записана единица. Данный разряд Используется для проверки текущего символа Тг программы. Устройство работает следующим образом. Текущий символ Тг Программы записывается на входпОЙ регистр 2 регистра опроса постоянного ассоциативного запоминающего устройства /. Затем производится поиск кода inyтем сравнения ассоциативного признака, записанного на регистре опроса (регистры 2 и 3) с ассоциативным признаком, записанным в блоке 4 ассоциативных признаков. При сравпенИИ кодов, очевидно, только 20 один из индикаторов блока 5 индикаторов останется в пулевом состоянии, « из блока 6 рабочих ячеек на выходной регистр 7 будет считан рабочий код, соответствующий найденному ассоциативному признаку. Затем25 схемой 8 контроля производится анализ регистра 9 Ощибки. Поскольку произошло чтение некоторого :кода на выходной регистр 7, то В регистре 9 ошибки будет записана единица :и, следовательно, работа устройства бу-30 дет продолжаться. Если текущий символ Tt записан синтаксически неверно (т. е. символ Т{) не соответствует коду, записанному на регистре 3), то соответствующий ассоциати,вный иризнак не будет найден, и поскольку35 чтения кода на Выходной регистр 7 не происходит, регистр 9 ошибки останется в ну1015 левом состоянии. В этом случае схема 8 «олтроля выдает сигнал в блок 10 прерывания и управления, который прекращает работу устройства, а следовательно, и синтаксический анализ программы. После чтевия кода па выходной регистр 7 и анализа содержимого регистра 9 оШИбки выполняемые действия - формировалше основного кода, анализ регистра чтелия, регистра зап-иси, регистра -прерывания - аналогичны действиям прототипа. ПрИ прерывании синтаксического анализа программы производится обращение к блоку генерирующих подпрОграмм по адресу на регистре 15 для выбора соответствующей генерирующей подпрограммы. Блок 10 прерывания и управления прекращает работу устройства, когда на его вход с регистра 11 поступает код «Конец программы. Предмет изобретепия Устройство Синтаксического анализа программ, содержащее блоки памяти, блок прерываиия и управления, регистр сформированлого кода, отличающееся тем, что, с целью новыщения быстродействия, оно содержит схему контроля и -постоянное запоминающее устройство, вьшолненное в виде постоянного ассоциативного запоминающего устройства, в котором БЫХОД регистра сформированного кода соеди.нен с Одним из входов блока ассоциатпвных признаков и выход регистра ошибки постоянного ассоциативного запоминающего устройства соединен через схему контроля с входом блока прерывания и управления.
Симболы входной про&раммы
В 5/1 о к генерирующих подпрог-рамм
Фиъ. ;
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЛЯ ТРАНСЛЯЦИИ ПРОГРАММ | 1969 |
|
SU257151A1 |
Устройство для синтаксического анализа программ | 1980 |
|
SU918950A1 |
Устройство для синтаксически-управляемого перевода | 1982 |
|
SU1062721A1 |
Устройство для синтаксическогоКОНТРОля пРОгРАММ | 1978 |
|
SU807299A1 |
Устройство синтаксически управляемого перевода | 1986 |
|
SU1399767A1 |
АССОЦИАТИВНЫЙ ПРОЦЕССОР | 1988 |
|
SU1521118A1 |
Вычислительная система | 1989 |
|
SU1777148A1 |
Устройство для синтаксического анализа программ | 1984 |
|
SU1196899A1 |
УСТРОЙСТВО для СИНТАКСИЧЕСКОГО КОНТРОЛЯПРОГРАММ | 1969 |
|
SU247628A1 |
Устройство для контроля микропроцессорной системы | 1987 |
|
SU1474650A2 |
Авторы
Даты
1973-01-01—Публикация