Контрол на синтаксиса - Голямата енциклопедия на нефта и газа, статия, страница 1
Контрол на синтаксиса
Синтактичният контрол включва разлагане на входните съобщения на отделни компоненти, проверка за съответствие с граматическите правила на вътрешното представяне на знания и идентифициране на липсващи части. Семантичният анализ осигурява установяването на семантичната коректност на синтактичните конструкции. За разлика от анализа, синтезът на твърдения се състои в преобразуване на цифровото представяне на информация в представяне на естествен език. [1]
Синтактичният контрол включва проверка на съответствието на структурата на входния низ с дадения синтаксис. За разглеждания синтаксис това се свежда до проверка на реда на операндите и операциите във входния низ и съответствието на операциите с даден (в този случай) набор. [2]

Синтактичният контрол на програмния текст и разпознаването на отделни оператори на езика Fortran се извършват по различни методи. Тази статия обсъжда накратко метода структурна таблица и метода състояние - символ, а също така предлага нов метод, наречен комбиниран. Внедряването му в преводача TF1 за компютъра Mnnsk-32 направи възможно значително ускоряване на разпознаването и синтактичния контрол на операторите в сравнение с методите, споменати по-горе. В допълнение, количеството памет, заемано от съответната програма, също е значително намалено. [5]
Задачата на синтактичния контрол е да провери въведения текст за съответствие със синтаксиса на езика, посочен в неговото формално описание. Пълнотата на синтактичния контрол се определя от съответствието на методите за неговото прилагане на класа, към който принадлежи контролираният входен език. [6]

Ускоряването на синтактичния контрол при използване на този метод е възможно поради въвежданетодопълнителни таблици, което увеличава обема на паметта и усложнява алгоритъма на програмата, която реализира този метод. [8]

Задачата на синтактичния контрол е да провери въведения текст за съответствие със синтаксиса на езика, посочен в неговото формално описание. С такъв контрол могат да бъдат открити някои други, по-сложни грешки, които са общи за програмата: неправилно сегментиране на програмата, липса на приемане и прехвърляне на контрол, липса на необходимите характеристики на променливите. Пълнотата на синтактичния контрол се определя от съответствието на методите за неговото прилагане на класа, към който принадлежи контролираният входен език. [10]
Блокът за синтактичен контрол (блок 2) проверява правилността на синтаксиса на програмата Algol с помощта на синтактични таблици. Отпечатва се информация за открити грешки. Блокът за извличане на концепции (блок 3) превежда програмата от вътрешния език към междинния, в който няма рекурсивност, присъща на езика Algol-60. Преводът се извършва с помощта на таблици. В процеса на превод идентификаторите се събират от отделни букви и цифри, а числата се преобразуват в двоична система. Информацията за неописаните идентификатори се отпечатва. [единадесет]
Със синтактичен контрол, базиран на двоични отношения, индикацията за естеството на грешката може доста лесно да бъде ограничена само до индикация за грешния знак. По сложен семантичен път се постига по-пълна информация. [12]
След това се извършва синтактичен контрол на операторите и ако се открие грешка в един от тях, задачата не се приема за обработка. Ако всички изрази са синтактично правилни, тогава информацията, принадлежаща на самото задание, се въвежда в опашката за входни задания и свързаните контролни блокове и данните се прехвърлят на диска.системен вход В по-малко сложни системи, като дисковата операционна система Siemens 4004, операторът трябва да стартира този четец ръчно и да разпредели памет за него и заданието, което инициира. По-напредналите системи (IBM 360 / 370 OS, VS; ICL System-4, ниво J, Siemens 4004 BS) позволяват използването на резидентен четец, който автоматично чете входния поток от задачи, когато има данни, и формира опашка от входни задачи. Разбира се, резидентният четец изисква голямо количество основна памет (около 30 kB за разлика от 6 kB, необходими за обикновен нерезидентен четец) и това разбира се намалява възможностите за мултипрограмиране. [14]
Анализаторът извършва синтактичен контрол на текста на описанието. Използвайки разделители, той избира отделни секции от текста на описанието и предава информация за това на диспечера, който свързва съответните програми. [15]