Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_1-15.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.23 Mб
Скачать

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

Формалдық грамматика теориясында 4 тіл түрі сәйкес келетін грамматиканың 4 түрі ерекшеленеді. Бұл грамматикалар грамматика ережелеріне шектеу қою жолымен анықталады.

Жалпы түр грамматикасы деп айтылатын 0 түріндегі грамматикалар тудыру ережелеріне ешқандай шектеу қоймайды. Кез келген ережесі еркін шынжырындық көмегімен құрылуы мүмкін.

Мәнмәтінді – бағыныңқылы грамматика деп аталатын 1 түріндегі грамматикалар кез келген ережені қолдануға жол бермейді.

Бұндай грамматикаларда шығару ережесі келесі түрде болуы керек:

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

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

Мысалы,

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

2 түріндегі грамматиканы мәнмәтінді – бос және мәнмәтінсіз грамматика ( -грамматика немесе грамматика) деп атайды. бұндай грамматикаларды шығару ережесі келесідей болады:

және

Яғни бұл ережелер шарты бойынша 1 түріндегі грамматика ережесінен пайда болады. Мәнмәтіндік шарттар болмағандықтан, 1 түріндегі грамматика ережесіне қарағанда МБ – грамматика ережесі жеңілдірек алынады. Яғни, нақты осындай грамматикалар бағдарлама тілдерін мазмұндау үшін қолданылады. – грамматикаға мысал ретінде төмендегі грамматиканы келтіруге болады:

Бұл грамматика шынжыры немесе шынжырының айналы көрінісінің әрбіреуі екі бөлігінен тұратын шынжырдан тұратын тілді тудырады.

бұнда - бұл бос шынжырсыз жиыны. Бұл грамматика көмегімен мысалға келесі шынжыр құруға болады:

3 түріндегі грамматика автоматты грамматика ( -грамматика) деп аталады. Бұндай грамматикаларда шығару ережелері келесі түрде болады:

немесе немесе

бұнда және және грамматика тек қана - оң жақ ереже немесе – сол жақты ереже түріндегі ережесі болуы мүмкін.

Бұл грамматикалар бір тілді тудырады.  

Тіл классификациясы тілді тудыратын грамматика түрлеріне сәйкес құрылуы мүмкін. Бір тіл екі түрлі грамматика болатын түрлі грамматикалармен берілуі мүмкін. Сондықтан тіл түрін түріндегі грамматика беруі мүмкін грамматика түрімен анықталады.

1.3 Шығару ағашы. Сол жақты және оң жақты шығарулар

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

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

Берілген грамматика тудыратын, тілге қатысты болатын кез келген тілдің шынжырының шығаруы символдан басталуы керек болғандықтан, ағашты құру ережесін келесідей айту қажет:

  • Бастапқы шың немесе ағаш тамыры ретінде грамматикалық бастапқы символымен белгілейтін шыңды алайық; бұл шың ағаштың нөлдік қабатын құрайды.

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

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