КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Формални езици и граматики

Математически език като форма на изразяване на научното познание е била използвана от древни времена за решаване на практически проблеми.

Основна роля в развитието на математиката като език - метаезик науките - играе математическата логика, теорията на числата axiomatized, изследва тяхната логика, вътрешната структура.

Развитието на науката, особено на нейните секции, като теорията на формалните езици, граматики, структури, програмни езици и методи за превод на база данни от информация и знания, както и другите води до развитието, задълбочаващите се признае официално структуриране на обекти на науката.

От своя страна, възможност за моделиране езикови конструкции, формализация, структуриране на различни езици за комуникация, анализ и изграждане на различни видове текстове и речници, включително - автоматична тяхната конструкция.

Език определена с помощта на азбуката (азбуката) X = {x1, x2, ..., Xn}, - е известна вербална, аудио, писмено или друга форма на изразяване на думи Х, включително синтаксис - правилата за формиране на структури на думи и фрази , семантика - правила за валидиране, което означава, уникалност и съвместимост синтаксиса на език, състоящи се от символи. За устни езици (съобщение) е необходимо и фонетика - правилата за произношение компоненти на изречението, т.е. фонеми.

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

Пример. По-специално, тя разглежда семантиката на формата:

"Знак, структура значение обект ";

синтаксис - на формата:

"Знак, структура обект. "

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

Пример. Пишем повече за кратко, стегнато, точно (официално) на факта, че "цяло число х делено на число у без следа." В математически термини, това ще бъде под формата на "Брой х кратно на Y". Фактът, че цифрите X, Y - Като цяло, може вече специално, както по-горе, не се определят, като математически концепцията на множество вече поема (аксиома). Пишем повече стегнато и формализирано в алгоритмичен език Паскал: "х мод у = 0". Там вече е състояние на множество домейни от аргументите не е необходимо да се преговаря - те са обявени в Pascal (в моден видове и описания на операцията).

Езиците са от естествен произход (например, неговорим език) и изкуствени или официални езика, разработен за хората да общуват с машина (компютър) или да описват и придобиват знания.



Нека X - някои азбука, X = {x1, x2, ..., Xn}, и S (X) - набор от думи над азбуката X, тогава S (X) - безкрайното и бройна сет.

Официално език L (X) - произволно подмножество на S (X).

Официалното език използва обработка на естествен език, както лексикалната формата на съставните си абстрактни обекти като мета-език или език за описване на синтаксиса на друг език. Описани метаезик езика в този случай се нарича обект език (по отношение на мета-език).

Официално граматика G се състои от набор: T = {T1, T2, ..., TK} - набор от терминални символи на езика или множество от основните концепции на езика; N = {N1, N2, ..., нм} - набор от не-терминални символи или концепции език подкрепа, наименования за конкретни класове от думи, като глаголи или предлози, и в най-различни N се съдържа n0 - старт символ на N; P = {P1, P2, ..., пт} - система за замени (продукти) думи на формата дума или замествания на думи S1 (х) в дадена система на отношения в думите на S2 на форма (х).

Език (набор от думи S (X)) се определя от граматика G (S) - структурата на правилата, които позволяват да се генерират всички думи и само тях.

Граматически анализ - процесът на намаляване на nonterminal символ или дума.

много - Речник на граматичните G. Правила Output - който не е празен набор от правила за формата където И " "- Отношението на формата" наляво (може да) се заменя с правото ".

дума извличани от думата използване на правила ако , , последователност Тя се нарича изход г от F, ако Fi + 1 е подразбират от всички Fi , Индикация за приключване на процеса (последователност) продукция е липсата на думата изхода от гр.

Пример. Ние се опишат природните елементи, като например на руски език от гледна точка на формалните граматики. език азбука X = {A, A, B, B, ..., I, I ,, ,,:!? ..,; ,,,, ",", (,)}, T = {<корен> <префикс> и т.н.}, N = {предложение, предмет, предикат, глагол, местоимение и т.н.}, n0 = "оферта". Например, да предположим,

T = {диня, банан, червени, топли, вратига, страна}

N = {предикат, предмет, определение, допълнение, една група от предмет, предикат група}

n0 = {предложение}

P = {p1: оферта (Група за), (група предикат)

Р2: група е (Definition) (предмет)

P3: група предикат (Verb) (Изм)

P4: дефиниция "Red"

p5: темата "Диня"

P6: темата "Банан"

P7: предикат "Warm"

P8: допълнение "Банан"

P9: допълнение "Страна"}.

Тогава се направят следните изводи:

оферта (при група) (група предикат)

(Definition) (предмет) (група предикат)

(Definition) (предмет) (глагол) (допълнение)

"Red" (предмет) (глагол) (допълнение)

"Red диня" (глагол) (допълнение)

"Диня червен топло" (допълнение)

"Диня червен топла страна."

По този начин, ние сме изградени официалните правила на език изречение естествено.

Има четири основни типа формални граматики.

Тип 0 граматика (G-0) - граматика, в които не съществуват ограничения по отношение на правилата за извод (т.е. регулирането изход , F и G - всяко).

Граматика тип 1 (G-1) - граматика, която съдържа правила вид Когато п - nonterminal , F1, F2, w - верига от W. на речника

въведете Граматика 2 (G-2) - граматика, които са валидни само правилата на формата ,

Граматиката на типа 3 (G-3) има правила за формата или където ,

Граматика тип G-0 се нарича свободен, като G-1 - в зависимост от контекста, като G-2 - контекстно-свободен, като G-3 - редовен или автомат.

Фразата, изписана върху мета-език с ограничен (изброимо) брой операции и операнди, наречен регулярен израз.

Официалните граматики разглежда три основни проблема:

възникване на проблеми - за изграждане на алгоритъм, който е определен от всяка дума определя дали тя е на език, приет от граматиката принадлежи;

анализ на проблемите - за изграждане на алгоритъм, който за всяка дума, разрешен от граматиката, изгражда на изхода на думата;

проблем за оценка на сложността на алгоритъма е О (компютри).

Ако първите две цели - една "граматика" характер, а след това на третия проблем - повече "алгоритмични" характер.

С появата на компютрите повишени изисквания за точност и структура на алгоритъма. За тези цели, разработен алгоритмични езици. Това е формален език, формален език, тъй като тя включва математически символи, като например цифри, знаци за операции, променливи, изрази и др.

Алгоритмичната език - писмено означава алгоритми за изпълнение, изучаването на логика алгоритъм. Основната разлика между алгоритмичен език програмен език (въпреки че те често са идентифицирани) е, че той е предназначен за запис и изпълнение на алгоритми във формата, която е разбираемо и изпълним компютър.

Basic алгоритмични (програмиране) език атрибути:

Константи - константи (числови, символни, логика);

символи - признаци на с различни кодове в превода;

идентификатори - имената на различни обекти именуване алгоритъм;

променливи - това са променили стойностите на параметрите;

маркер - именуване на различните части, раздели на алгоритмите;

процедура - име функционално завършена част от алгоритъма;

описание - споразумението от вида, характера и структурата на използваните данни и стандартизацията на представителство (описание) на данните;

коментари - обяснение на различните части на алгоритъма;

оператори - отборът, използвани за преобразуване на данните, или промяна на реда на тяхното изпълнение;

изразяване - запис формира от DC, AC и признаци на операциите и е източник на ценности; тук ние поставяме стандартни (вградени) функции, които могат да бъдат управлявани като променлива, в зависимост от техните атрибути.

Всички математически изрази, написани на алгоритмичен език в съответствие с правилата, не само математиката, но също така и на езика.

Пример. На алгоритмичен език Pascal математически израз

ще бъде написана под формата у = Exp (х * LN (2)) + 3 * грях (х - 4/5)) * LN (х + SQRT (х + 5)).

Пример. Експресия Pascal W = SQRT (пл (В + С) + 2 / А * х / С) съответства на математически израз на формата ,

Изчисление на езикови изрази на ценности алгоритмични се извършва в съответствие със старшинство на езика на операциите.

Пример. Намираме б = LN (Годен (5)) + мин (макс (3,2), 6) + мод (15,4) * инт (1.99). Резултатът е: б = 5 + мин (3,6) + 3 * 5 + 1 = 3 + 3 = 11.

Първите компютри са били доставени без софтуер и програмист трябваше да опише всичко на програмата, необходими за неговата експлоатация. Развитието на първите езици за програмиране (например Fortran) опростено програмиране, увеличаване на броя на хората, които решават на техните компютърни проблеми, без участието на програмистите, се поставя началото на две основни области на програмиране: Прилагане и система за програмиране, а след третата - инструментална програмирането.

програмист Application (обикновено на високо ниво езици за програмиране) се разработва програма за справяне със специфичните проблеми на естествените науки.

програмист на системата (обикновено от ниско ниво езици за програмиране) се разработва програма за автоматизиране на процеса на писане и отстраняване на грешки приложения, разпределението на ресурсите между приложения, контрол на процеса на преминаване на такива приложения на компютъра, като например разработването на операционната система.

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

Ние характеризиране на тези нива на алгоритмични езици:

езици заявка (не-процедурни езици) са предназначени за изпълнение на диалог с определен софтуерен пакет, - симулация езици, по-специално SLAM език и др.;

език от високо ниво (домейни специфични езици) са предназначени за справяне с конкретен, но доста широк кръг от проблеми, като изчислителната или обработка на текстове (знаци) - това е, например, езици, FORTRAN, BASIC, LISP и др.;

монтажници (семейни на езици), са предназначени за консолидация и символични (мнемонични) инструкции за запис на машината;

микро езици (езици за развитие на фърмуера) - в действителност, това е езикът на машинни операции.

Езици за вида на употреба и области на приложение може да бъде условно разделена на следните видове (това е - не пълна класификация):

процедурни езици;

не-процедурни езици;

функционални програмни езици;

моделиране езици;

езици аналитични преобразувания;

езици евристичен;

Описание на езици, обект езикови представителство или мета-език.

Възможно е разделянето на езика (което отразява характера на използването им):

метаезици, описание езици на други езици;

Описание на езици, формулиране на цели;

Технологии Описание езици, за решаване на проблеми сценарии;

Описание на езици, развиват решаване на проблеми програми (или алгоритми за кодиране, изчислителна често);

Описание на езици, представяне на знания (рамкова-базирани езици);

Описание на езици, докладване на данни;

описание език, езика на разтворите.

В развития свят, хиляди езици за различни цели.

Пример. Обърнете внимание на следните езици, които са имали най-голямо въздействие и приемствеността в развитието на езиците за програмиране:

Fortran език научни и технически изчисления, разработен през 1955 г. от IBM;

Algol, изчислителна език, разработен през 1960 г. от Международния комитет на учените;

BASIC, прост език за начинаещи, предназначени през 1965 г. в Дортмунд;

Паскал, е проектирана като образователен и изследователски характер на език през 1969 г. в Цюрих Н. Wirth;

SI разработен лабораторен BELL (САЩ, 1972), както операционната система UNIX и език за програмиране подкрепа;

Пролог, език логика програмиране, разработен Colmerauer в 1971-1973;

PYTHON (PYTHON), разработен в началото на 1990 г. от Гуидо ван Росум е прост обектно-ориентиран език, разтегателен, усъвършенствана от потребители;

Ява - ориентиран език за мрежови Интернет и WWW сървъри; разгледа езика в повече подробности по-долу;

HTML, предложен от Тим ​​Бърнърс-Лий през 1989 г. като опора WWW-документи.

Компютърът може да изпълнява програми, написани на неговия машинен език, машинен код. За да преведете от други езици в машинен език съставили специална програма, наречена компилатор. Алгоритъмът (програмен език за програмиране) се превръща в правилната последователност на команди и данни да бъде зареден в паметта на компютъра и изпълнени в хардуер. Колкото по-високо ниво, използвани при изготвянето на програмата на езика източник, толкова по работата по превода на програмата. Компилаторът превежда програмата източник с езика за програмиране в машинен език зареждането му в паметта и изпълнение.

Има два основни режима на превод: компилация и интерпретация. При тълкуването на превода в машинен език и изпълнението на всяка от оригиналния програмни инструкции последователно, pokomandno, и в резултат на компютърна програма е подходяща само за едно-единствено решение на проблема; където данните се записват като предаването. При съставянето преди програмата да е пълен превод на програмата в машинен език на компютъра, след което получената програма се редактира и заредени с всички необходими за изпълнението на преведените софтуерни програми, работещи в паметта на компютъра, и се оказва, т.нар модул натоварване. Стартиращ модул е ​​подходящ за повторна употреба без повторно компилиране.

Пример. Езикови ОСНОВНИ компилатори имат различни видове. Например, в една среда, TurboBasic (TBasic) - преводач-интерпретатор, и в среда QuickBasic (QBasic) - съставител-компилатор. Програма TBasic тълкува цикъл "командния ред - екип превод на езика на вътрешния машина - въвеждане на данни за командата -. Екзекуция" Програма за QBasic е съставен на един цикъл: ". Превод на всички команди на програмата в областта на вътрешния език - корекция на грешки в програмата - данни за въвеждане на програмата - изпълнение на цялата програма"

<== Предишна лекция | На следващата лекция ==>
| Формални езици и граматики

; Дата: 04.01.2014; ; Прегледи: 201; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:



ailback.ru - Edu Doc (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 11.45.9.26
Page генерирана за: 0.054 сек.