Формальды грамматиканың негізгі түрі

U1ÎW сөзі W2ÎW сөзінен P1:f1-91 ережесінің көмегімен, егер де U1=v1f1v2, w2=v191v2, p1ÎP болса қорытылады. F=f0:f1:f2: … :ft=9, t³1 тізбегі, егер де fi+1, fi ден бірақ0£ i £ nүшін қорытылатын болса ғана fтен шыққан g қорытынды деп аталады. Қорыту процесінің (тізбегінің) аяқталуының көрінісі- ол g ден қорытылатын сөздің болмауы болып табылады.

Мысал. Мәселен қарапайым тілдің (орыс немесе қазақ) элементтерін формальды грамматика терминдерінде сипаттап көрейік. Х тілінің әліпбиі={A,a,Б,б, … , Я,я, . , . , . , . , . , ! , ? , “ , ”, (,)}, T={<түбірлер> <үстеулер> және әрі қарай}, n0=“сөйлем”.

Мысалы,

T={қарбыз, банан, қызыл, жылытады, қыздырады, бүйір},

N={бастауыш, баяндауыш, анықтауыш, толықтауыш, бастауыш тобы, баяндауыш тобы},

n0={сөйлем},

P={P1: cөйлем ®(бастауыш тобы), (баяндауыш тобы)},

Р2:бастауыш тобы ® (анықтауыш) (бастауыш),

Р3:баяндауыш тобы ®(баяндауыш) (толықтауыш),

Р4:анықтауыш ® “қызыл”,

Р5:бастауыш ® “қарбыз”,

Р6:бастауыш ® “банан”,

Р7:баяндауыш ® “жылытады”,

Р8:толықтауыш ® “банан”,

Р9:толыққтауыш ® “бүйір”}

 Cанды мына қорытындылар дұрыс болады: сөйлем (бастауыш тобы) (баяндауыш тобы) ® (анықтауыш) (бастауыш) (баяндауыш тобы) ® (анықтауыш) (сөйлем) (баяндауыш) (толықтауыш) ® “қызыл” (бастауыш) (баяндауыш) (толықтауыш) ® “қызыл қарбыз” (баяндауыш) (толықтауыш) ® “қызыл қарбыз жылытады” (толықтауыш) ® “қызыл қарбыз бүйірді жылытады”.

Міне осылайша біз формальді ереже бойынша қарапайым тілдің сөйлемін құрастырдық.

Формальды грамматиканың төрт негізгі түрін ажыратады.

0(G-0) типіндегі грамматика – қорытынды ережесіне шектеу болмайтын грамматика (яғни f®9, қорытынды ережесінде, f және g – кез келгені)

1(G-1) типінің грамматикасы – f=f1nf2,g=f1u*f2 көрінісінің f-g ережесі болатын грамматика, мұнда n-w сөздігіндегі (nÎN),f1,f2,w тізбегінің терминалды емес символы.

2(G-2) типтегі грамматика – ол n®w, nÎN, wÎW көрінісінің ережелеріне ғана жол берілетін грамматика.

9-ші бет

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

Алгоритмдік тілдердің осы деңгейлерін сипаттайық:

Сұрау алу тілдері (процедуралық емес тілдер) қолданбалы программалардың кейбір топтарымен диалогты жүзеге асыру үшін арналған, бұлар ұқсататын модельдеу тілдері, дәлірек айтқанда SLAM тілі және тағы басқа;

Жоғары деңгейдегі тілдер (проблемалық – бағытталған тілдер) белгілі бір, бірақ барынша кең көлемдегі мәселелерді шешуге, мәселен: есептеу сипатындағы немесе мәтіндерді өңдеу секілді мәселелерді шешуге арналған, мысалға айтар болсақ олар FORTRAN,BASIC,LISP және тағы басқа тілдер;

 Ассемблер  (тілдер тобы) машиналық командаларды үлкейтуге және символдық (мнемоникалық) жазба үшін арналған;

Микрооперациялар тілдері (микропрограммаларды жасау тілдері) – бұл машиналық операциялардың нағыз өзі.

Тілдерді пайдалану тілдері мен қолдану салалары бойынша шартты түрде мынандай типтерге бөлуге болады (бұл олардың толық топтамасы емес).

  1. Процедуралық тілдер.
  2. Процедуралық емес тілдер.
  3. Функционалды программалау тілдері.
  4. Модельдеу тілдері.
  5. Талдау өзгерістер тілдері.
  6. Эвристикалық тілдер.
  7. Сипаттау тілдері, обьектілік тілдерді көрсету немесе метатілдер.