Главная Случайная страница


Полезное:

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


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Тақырып Формалдық тілдер мен грамматикалар





Факультет кеңесінде құпталды

Рецензент

Ж.К. Нурбекова – педагогика ғылымдарының кандидаты,

профессор

 

 

Құрастырушы: М.А. Токкожина

 

 

Т51 Тілдер мен автоматтар теориясы: дәрістердің тірек конспектісі. – Павлодар, 2007. – 71 б.

 

Тілдер мен автоматтар теориясы пәнінің негізгі қызметі формалдық грамматика мен соңғы автоматтар теориясы негіздері мен әдістерін оқу және тәжірибеде қолданылуы.

 

УДК 004.434(075)

ББК 32.81я73

 

 

Ó Токкожина М.А., 2007

Ó С. Торайгыров атындағы Павлодар

мемлекеттік университеті, 2007

Кіріспе

 

«Информатика» ғылыми бағыты негізінен компьютер жадында көрсетіле алынатын модельдерді өңдеу мен іске қосуға негізделген.

Бұдан модельді құру әдісі ақпараттық технологиялар қорын құрайды. Теориялық және тәжірибеде қолданылатын жүйелерді құруда соңғы автомат пен формалды грамматика негізінде пайда болған модельдерді кеңінен пайдалану «Тілдер мен автоматтар теориясы» пәнін «Информатика» бағытының негізгі пәндерінің бірі ретінде санауға мүмкіндік береді.

Бұл пәнді оқуға кіріспес бұрын студенттер «Алгоритмизация мен бағдарламалау негіздері», «Мәліметтер қоры» және «Дискреттік математика» курстарының мазмұнымен таныс болу керек.

«Тілдер мен автоматтар теориясы» пәнінің негізгі қызметі формалдық грамматика мен соңғы автоматтар теориясы негіздері мен әдістерін оқу және тәжірибеде қолданылуы. Бұл пән «Компиляторларды құру», «ЭЕМ элементтері мен түйіндері», «ЭЕМ жобалауды автоматтандыру» және «Имитациялық модельдеу» пәндерін оқытуға дайындық болып табылады.

 

 

тақырып Формалдық тілдер мен грамматикалар

 

1.1 Формалдық грамматика мен тілдер анықтамасы

 

Түрлі ұлттар қарым-қатынас жасайтын табиғи тілден жасанды тілдің ерекшелігі – олар жазба мәтіндерді құру үшін қолданылатыны белгілі. Бұндай тілдер жасанды тілдерден қида жеңіл болып табылады, себебі бұл тілде көп мағыналық пен синоним жоқ,, синтаксис пен семантика жеңілдетілген, сондай-ақ айтарлықтай мәтіндік бағыныңқылық төмендетілген. Жасанды мәтіндердің негізгі қызметі -ақпаратты компьютерлер мен басқару құрылғыларына беру.

Мәтін компьютер немесе басқару құрылғылары орындау қажет тапсырма болып табылады. Бұндай тапсырманың мәтінін адам құрғандықтан, кіріс тілі деп аталатын мәтінді жазу тілі қолданатын адамдар қолданысына ыңғайлы және түсінікті болу керек. Адамға бағытталған тіл әдетте компьютер орындайтын команда түрлерімен біртектес болмайды. Компьютерге түсінікті командалар артынан кіріс тілінде мәтіннің өзгертілуін орындау үшін транслятор деп аталатын арнайы құрылғы немесе бағдарламалар қолданылады.

Трансляторды құру тапсырмасы айтарлықтай қиын және жауапты іс. Оның шешім қабылдау сапасына өзгертуді орындауға қажет ресурстар байланысты болады. Және бұнымен қатар кіріс тілінде жазылған мәтін мазмұнын дәлме-дәл жеткізу трансляторға қойылатын негізгі талап болып табылады. Ондай өзгертулерді іске қосу үшін тіл синтаксисі деп аталатын кіріс мәтіндерінің құрылу ережелерінің дәлме-дәл суреттелуі мен тіл семантикасы деп аталатын мәтін мазмұнын баяндайтын талдау ережелері қажет.

Синтаксис пен семантиканы мазмұндау үшін түрлі құралдар қолданылады. Осылайша тіл синтаксисін формалдық грамматика, ал семантиканы атрибуттық грамматика көмегімен мазмұндауға болады.

Бұл бөлімде тек қана синтаксисті мазмұндаумен байланысты мәселелер ғана қарастырылады. Табиғи тілдік аналогиялармен қолдана отырып формалды тілді нақты ережелер бойынша құрылған көптеген сөйлемдер ретінде көрсетуге болады. Формалды тіл мен құру ережелерінің ұсыныстарын құру тәсілі формалдық грамматика көмегімен анықталуы мүмкін. Бұнымен қатар құру ережелерінің жиыны грамматика кестесі деп аталады, ал құру реті шығару түсінігінің көмегімен анықталады. Грамматика ережелерінің көмегімен тіл сөйлемдерінің ережесі болып табылатын түрлі шығарулар құруға болатыны белгілі. Сондықтан формалдық грамматика көп жағдайларда тудыру грамматикасы, ал шығару – тудыру үрдісі деп аталады.

Бұл бөлімде алфавит, шынжыр, грамматика, шығару, тіл және т.б. базалық түсініктер анықтамалары беріледі. Содан соң формалдық грамматиканың мүмкін классификацияларының бірі – Хомс бойынша классификациялау қарастырылады. Бұл классификация бағдарламалау тілін тәжірибеде мазмұндау үшін қолданылатын грамматика типін көрсетуге мүмкіндік береді. Бөлімнің соңында бағдарламалау тілінің кейбір конструкцияларына арналған жай грамматикаларды құру мысалдары қарастырылады.

Формалдық тіл мен грамматиканы анықтауға қажет алғашқы және ең жай түсінік болып алфавит пен алфавиттегі сөздер табылады.

Символдардың бұл қарастыруда бөлінбейтін соңғы жиыны сөздік немесе алфавит деп, ал жиынға жататын символдар - алфавит әріптері деп аталады.

Мысалы, әрбіреуі екі символдан тұратын алфавиті 5 әріпті құрайды, ал алфавиті 4 әріпті құрайды.

Алфавит әріптерінің реті бұл алфавиттегі сөз немесе шынжыр деп аталады. Сөздегі әріптер саны жиынының ұзындығы деп аталады. Бос шынжыр – бұл бірді-бір әріпі жоқ шынжыр. Оң жақтан немесе сол жақтан шынжырына кез келген бос шынжырдың қосылуы шынжырын өзгертпейді .

алфавитінің символдарынан құрылған барлық мүмкін шынжыр жиындарын анықтау үшін белгісі қолданылады.

формалды грамматикадепкелесі төрт объектінің жиынтығы аталады: мұнда - терминалдық алфавит (сөздік); бұл алфавиттің әріптерін терминалдық символ дейді; олардан грамматиканы тудыратын шынжыр құрылады; терминалдық сөздік немесе терминалдық символ әріптерін белгілеуді әрі қарай латын алфавитінің әріптерімен белгілейтінімізді атап кетейік;

– терминалдық емес, көмекші алфавит (сөздік); бұл алфавиттің әріптері шынжыр құруда қолданыла алады; олар аралық шынжырға кіре алады, бірақ құру нәтижесіне кіргізілмейді; терминалдық емес символдарды белгілеу үшін латын алфавитінің жазба әріптерінен тұратын және бұрыштық жақшаларға алынған идентификаторларды қолданатынымызды атап кетейік; - грамматикасының бастапқы символы немесе аксиомасы- .

шығару ережелерінің жиыны немесе түрінің ережелерін тудыру жиыны, бұнда және , алфавитінің әріптерінен құрылған шынжырлар6 олар грамматикасының толық алфавиті ( сөздік ) деп аталады.

Грамматика ережелерінің жиынына сондай-ақ түрінің оң жағы бос ережелер де кіреді. Ереженің оң жағы бос болғандықтан, қателік тудырмау үшін бос шынжыр символын түрінде белгілейміз.

Грамматиканы шығару ережесі шынжыр құру үшін қолданылады.

- грамматикасының ережесі және – символдар шынжыры, оған қоса . Онда шынжыры (яғни -де шынжырын g ауыстыру) ережесінің көмегімен шынжырдан алынуы мүмкін. Бұл жағдайда шынжырынан тікелей шығарылған және білдіреді.

Егер шынжырының жиынтығы берілгенде келесі шығады: ,онда мұндай реттік қатарды грамматикасында –дан шығару деп атап, белгілейді.

грамматикасының терминалдық алфавитінің соңғы шынжыр жиынын алғашқы символынан шығарамыз, ол грамматикасынан түған тіл деп аталып, былайша белгіленеді.

 

 

Келтірілген грамматика кестесінде үш ереже бар. Екінші ереже ереженің оң жақ және сол жағында да терминалдық емес символы бар. Мұндай ережелер рекурсивтік деп аталады. Бұл ережені терминалы жоқ шынжырға пайдалану, қайта енетін жаңа шынжырдың тууына әкеледі. Осылайша қайталай отырып ұзын шынжыр құруға болады. Рекурсивтік ереже көмегімен шығару шексіз болмау үшін грамматика кестесінде оң жақта символымен бір болсын ереже болу керек.

Бұндай ереже шығарылатын шынжырдан шығара отырып рекурсияны аяқтайды. Қарастырылатын грамматикада шығаруды аяқтау үшін ережесі қолданылады. грамматика ережесінің көмегімен шығару қатарын қарастырайық. Бірінші және үшінші ережені қолданып келесіні аламыз:

 

 

Бірінші, екінші одан кейін үшінші ережелерді қолданып келесіні аламыз:

 

Date: 2016-07-25; view: 686; Нарушение авторских прав; Помощь в написании работы --> СЮДА...



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию