Авиационно инженерство Административно право Административно право Беларус Алгебра Архитектура Безопасност на живота Въведение в професията „психолог” Въведение в икономиката на културата Висша математика Геология Геоморфология Хидрология и хидрометрия Хидросистеми и хидравлични машини Културология Медицина Психология икономика дескриптивна геометрия Основи на икономически т Oria професионална безопасност Пожарна тактика процеси и структури на мисълта, Професионална психология Психология Психология на управлението на съвременната фундаментални и приложни изследвания в апаратура социалната психология социални и философски проблеми Социология Статистика теоретичните основи на компютъра автоматично управление теория на вероятностите транспорт Закон Turoperator Наказателно право Наказателно-процесуалния управление модерна производствена Физика Физични феномени Философски хладилни инсталации и екология Икономика История на икономиката Основи на икономиката Икономика на предприятията Икономическа история Икономическа теория Икономически анализ Развитие на икономиката на ЕС Спешни ситуации ВКонтакте Однокласници Моят свят Facebook LiveJournal Instagram
border=0

Начини за описване на официалните езици

Както вече споменахме, за описване на езика на обекта трябва да се използва мета език. Но метаезикът също трябва да притежава определени свойства на официалния език, за да дефинира уникално конструктите на обектен език. Следователно метаязиката трябва първо да бъде описана сама по себе си, за кой език също е необходим - естествено, може да се създаде впечатлението, че такъв процес никога няма да свърши. Доказано е обаче, че естественото може да се използва за описване на всеки метаязик. Следователно, за да се изгради официален език, е необходимо да се опише метаезик с помощта на естествени езикови средства и след това да се опише официален език с помощта на метаезик. Помислете за две опции за описване на метаезиките.

Една от най-разпространените металузи е известна като нотация Бекус-Наур. За да се формират изречения във формата Бекус-Наур, се използват универсални метасимволи: { <,>, = =, | }. Първите два метасимвола се наричат "ъглови скоби" - служат за оформяне на нетерминалния характер. Символът ":: =" чете "по дефиниция там"; символа "|" - "или". В изреченията, написани във формата на Backus-Naur, нетерминалният знак в ъгловите скоби играе ролята на определената конструкция на езика на обекта. В формулите Backus-Naur могат да се използват крайни символи от азбуката на езика на обекта, различни от универсалните метасимволи. Терминалните символи на официалния език не са ограничени до нищо.

Описанието на официалния език е изградено от поредица от формули, всяка от които в лявата част съдържа един метасимвол, обозначаващ определена конструкция на обектен език. Дясната страна на такава формула съдържа или изброяване на метасимволи и терминални знаци на езика на обекта (не се добавят едновременно разделители), или набор от изброявания, разделени със символа “|”. Дясната и лявата части се комбинират в една формула със знака ":: =".

Език на обект може да се счита за напълно дефиниран във формата на Backus-Naur, ако някой не-терминален символ може да бъде представен от поредица от терминални символи.

Като пример, разгледайте дефиницията на термина "идентификатор", който се използва в много езици за програмиране. В естествен език дефиницията гласи, както следва: "Идентификатор е всяка последователност от букви и цифри, която започва с буква." Във формата на Bekusa-Naur ще изглежда така:

<identifier> :: = <указател> / <идентификатор> <лист> / <идентификатор>

Може да се види, че дефиницията на това понятие съдържа рекурсивност, тъй като понятието „идентификатор” се дефинира чрез себе си. Елементарно е еднобуквен идентификатор.

Добродетелността на бек-наурските нотации е, че те са представени в писмена форма; нотацията е неудобна от монотонните начини за конструиране на изречения на езика-обект - записът се оказва тромав и лошо възприеман.

Много по-визуално трябва да се разглежда друг начин за описване на официален език, предложен от Никлас Вирт, създател на програмния език PASCAL, наречен “синтаксични диаграми”. Синтаксичната диаграма е диаграма (графично представяне) на описанието на нетерминален символ на обектен език. Веригата винаги има един вход и един изход. Елементите на схемата могат да служат като крайни символи на обектен език, затворен в кръг (или овал) или нетерминални символи (понятия) на обектен език, затворен в правоъгълник. Елементите са свързани помежду си чрез насочващи линии, указващи реда на обектите в означения нетерминален символ.

Структурата на синтаксичните диаграми е идентична със структурата на езиците за програмиране, което направи възможно използването на диаграми за писане на преводачи на различни езици. Първият език, описан с помощта на синтактични диаграми, беше PASCAL.

Диаграмата се чете по посока на стрелките; в точката на разклонение може да бъде избран всеки маршрут. Естественият език може да се използва като метаезик; езиците за програмиране са изградени на английски език. Терминалните символи се пренаписват буквално. Не-терминалните символи могат да бъдат изразени чрез терминални или други нетерминални символи - в този случай за тях се конструират диаграми; в крайна сметка всички не-терминални символи трябва да бъдат изразени чрез крайни. Когато се използват синтактични диаграми, се приема условието, че сред крайните символи на езика на обекта не трябва да има същите, а нито един от крайните символи не може да служи като начало на другия. Ако това условие е нарушено, е възможно двусмислено четене на диаграмата и като резултат - конструиране или разпознаване на неправилна конструкция на езика.

Нека разгледаме редица примери за конструиране на синтактични диаграми, първата от които ще бъде дефиницията на понятието "Идентификатор" за сравнение с нотацията Бекус-Наур, дадена по-горе.

Задължителни пояснителни таблици:

Примери за конструиране на идентификатори на английски език в съответствие с тази диаграма са: q, a 123, идентификатор, e2e4.

Диаграмата, определяща общия изглед на програмата PASCAL , изглежда както следва:

Като примери за предписания, помислете за условната и цикличната.

В съответствие с тези и подобни диаграми са конструирани валидни синтактични конструкции на езика.

Следователно нотацията и синтактичните диаграми на Backus-Naur са два алтернативни начина за описване на структурите на мета-език, с помощта на които се изгражда официален език. След като се изгради официалната граматика и се генерира езикът, той може да се използва за решаване на приложни задачи - комуникация, съхранение и обработка на информация. Последният клас задачи води до необходимостта от формулиране, използвайки езиците на последователностите за обработка на информация, т.е. алгоритми и тяхното представяне във форма, която може да бъде разбрана и изпълнена от лицето или техническото устройство, че обработването се извършва.





Вижте също:

По този начин - формулировката и най-важните изявления.

Проблем на алгоритмичната разрешимост

Пример 3.2.

Пример 5.3

Превод на цели числа от една система с номера в друга

Връщане към съдържанието: Теоретични основи на компютърните науки

2019 @ ailback.ru