Устройство для синтаксического контроля программ, записанных на языке алгол

Иллюстрации

Показать все

Реферат

 

О П И С А Н И Е l91230

ИЗОБРЕТЕНИЯ

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

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

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

Республик

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

Кл. 42m, 14

Заявлено 20.1Х,1965 (М 1029087/26-24) с присоединением заявки A

МПК G 06f

УДК 681,142.2(088.8) Приоритет

Опубликовано 14.1.1967. Бюллетень Мв 3

Дата опубликования описания 15.111.1967

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

СССР

УСТРОЙСТВО ДЛЯ СИНТАКСИЧЕСКОГО КОНТРОЛЯ ПРОГРАММ, ЗАПИСАННЫХ НА ЯЗЫКЕ АЛГОЛ

Известны способы программного контроля синтаксической правильности программ, составленных на языке Алгол-60. Однако при программном контроле затрачивается большое время и занимается большая часть емкости ЗУ машины.

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

На чертеже показано устройство для схемного синтаксического контроля.

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

10 запоминания состояния триггеров регистра поля анализа в стековой памяти 7, а также для считывания из стековой памяти состояния поля анализа па регистр поля анализа, а схема 8 — для взведения триггеров регистра

13 поля анализа.

Блок счетчиков 9 символов «begin», «end» (после последнего «begin» или «end») контролируемой программы связан с выходом дешифратора 2 и схемой 10 внешней индикации, связанной с регистром 8 поля анализа, входным регистром 1 и логической схемой 4, и служит для определения местоположения синтаксически неверной конструкции в контролируемой программе.

Под стековой памятью понимается память с последовательным, безадресным принципом обращения.

Под полем анализа понимается совокупность состояний триггеров регистра 3, харак30 теризующих контролируемую алгольную проВ12ЗО ния анализа этих конлрукций. Если эти Koll струкции содержат н себе другие конструкции, начинающиеся с тех же ограничителей, то последние запоминаются со сдвигом содер5 жимого стековой памяти на более глубокие уровни и т. д.

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

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

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

1) номер последнего «begin» в алгольной программе из соответствующего счетчика блока 10;

2) номер последнего «end» в алгольной программе из соответствующего счетчика блока

10;

3) номер последней «;» после ближнего

«begin» или «end» из соответствующего счетчика блока 10;

4) состояние поля анализа — с индикаторов регистра 8;

5) код алгольпого символа, не соответствующего данному состоянию поля анализа —. с выходного регистра считывающего устройства.

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

Устройство ввода с встроенным устройством схемного синтаксического контроля работает при этом автономно независимо от машины только для синтаксического контроля программ, записанных на алгоритмическом языке Алгол-60. Ьлагодаря этому повышается эффективность использования машины, уменьшается время обучения языку Алгол-60. их сброса. Некоторым ограничителям нет соответствующих триггеров в регистре поля анализа. .Исходная алгольная программа символ за символом слева направо последовательно, на- 15 чиная с первого, поступает на регистр 1. Дешифратор 2 объединяет эти символы в одинаковые по синтаксическому использованию в алгольной программе-так называемые основные синтаксические понятия языка, например, 20

+, X/+, ), (; =,ф, ), (и т. д., которые запоминаются па регистре поля анализами.

Каждое последующее синтаксическое понятие прежде чем запомниться на регистре поля анализа, проверяется логической схемой 25

4, может ли оно идти после синтаксических понятий, которь:е были запомнены перед ним на регистре 8. Логическая схема обнаружения синтаксически неверной конструкции вырабатывает сигнал, если следование син- 30 таксического понятия на выходе дешифратора 2 запрещено при данном состоянии триггеров регистра поля анализа. Последний выдается в машину как сигнал прерывания или используется для запуска схем, определяю- 35 щих местоположение синтаксически неверной конструкции в алгольной программе.

Если следование данного синтаксического понятия не запрещено после тех синтаксических понятий, которые запомнены на регистре 40 поля анализа, то производится удаление (сбросом соответствующих триггеров регистра >) из поля анализа тех синтаксических понятий, которые излишни для анализа последующих алгольных символов. Например, при 45 анализе символа «+» алгольного выражения (a + b) 2... в поле анализа будет записано:

«/» и «идер». Наличие в поле анализа «идера» после того, как логической схемой 4 определено, что знак «+» соответствует данному состоянию поля анализа, не нужно для синтаксического анализа последующих символов «b», «/», «2» и поэтому это синтаксическое понятие удаляется из поля анализа (сбросом соответствующего триггера в регистре поля анализа). Удаление осуществляется логической схемой >, которая в зависимости от состояния триггеров регистра 3 и возбужденного выхода дешнфратора 2 вырабатыва60

65 грамму. Для проис рки алгольных программ регистр 8 имеет сорок четыре разряда. Ка>кдый триггер регистра 8 соответствует определенному синтаксическому понятию языка

Алгол-60. Все элементы поля анализа подразделяются на не записываемые и записываемые в стековую память, причем последние подразделяются на элементы, записываемые в стековую память со сбросом соответствующих триггеров регистра поля анализа и без ет сигнал сброса соответствующего триггера.

При анализе алгольных конструкций, начинающихся с ограничителей «begin», «if», «for», «goto», «(», «/», состояние регистра поля анализа, предшествующее им, запоминается г, стековой памяти и хранится в ней до оконча

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

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

Составитель А. В. Шилейно

Рсдактор Л. А. Утехина Техред А. А. Камышникова Корректор А. М. Смак

Заказ 260/18 Тираж 535 Подппсвос

ЦНИИПИ Ко>аптета ио делам изобретений и открьпгнй прп Совете Министров ССС!

Москва, Центр, пр. Серова, д. 4

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