Formal dillər: Redaktələr arasındakı fərq

Silinən məzmun Əlavə edilmiş məzmun
Redaktənin izahı yoxdur
Redaktənin izahı yoxdur
Sətir 73:
=== Formal dildə cümlə===
 
Sözlərdən əmələ gələn daha mürəkkəb konstruksiyaya cümlə deyilir. Hər bircümlənin yalnız bir mənası ola bilər. Ona görə də insan dili bütövlükdə heç vaxt proqramlaşdırmada istifadə oluna bilməz, çünki insan dilində çoxmənalı, dolaşıq cümlələr mövcuddur ki, bunları kompüter başa düşə bilməz. Hər bir dil fikri ifadə etməyə xidmət edir. Dil fikri birbaşa, ya da dolayısı ilə ifadə edə bilir. Şifahi dil adətən fikri birbaşa ifadə edə bilir. Yazılı dil isə fikri yox, şifahi dilin səslərini ifadə edir, məsələn biz "at" sözünün yazanda fikrimizdə olan canlının özünü yox onun Azərbaycan dilindəki səslərini kodlaşdırırıq. Deməli, yazılı dilin ierarxiyası iki mərtəbədən ibarətdir. Lakin yazılı dil bir mərtəbəli ola bilər. Məsələn, at şəklini çəkməklə canlının özünü yazı ilə kodlaşdırmaq olar. Üç mərtəbəli yazılı dilə aid misal olaraq Morze əlifbasını göstərmək olar. Morze əlifbası ilə insan dilinin hərfləri kodlaşdırılır(1-ci mərtəbə), hərflərlə dilin sözləri kodlaşdırılır(2-ci mərtəbə), sözlərlə fikir kodlaşdırılır(3-cü mərtəbə). Maşın dilləri bir mərtəbəli dillərdir. Universal dillər iki mərtəbəlidir. Yuxarı qatda olan dilə metadil deyilir.Yəni universal dil maşın dilinə nəzərən metadildir. Formal dilin qurulması üçün birincisi sintaksis, ikincisi isə semantika qaydaları verilməlidir. Bu zaman aşağıdakı şərtlər irəli sürülür:
*Sintaksis semantikadan asılı olmamalıdır
*Hər cümlənin yalnız bir mənası ola bilər. Lakin müxtəlif cümlələr eyni məna verə bilər. Məsələn, Paskal dilində dövr operatorunun iki fərqli yazılışına baxaq:
# Ön şərtli dövr operatoru: While<şərt>do<dövrün gövdəsi>.
#
# Son şərtli dövr operatoru: Repeat<dövrün gövdəsi>until<şərt>.
#
 
Formal dili yaratmaq üçün düzgün sözlərin qurulması qaydaları verilməlidir. Bunun üçün aşağıdakı üsullar mövcuddur:
#Düzgün sözlərin tam siyahısı verilir.
#
#Sözlərin filtrasiyası(tanınması) qaydası verilir.
#
#Dilin qurulması qaydası üçün formal qrammatika verilir.
#
 
Formal dilin sözlərini yaradan zaman rabitə vasitələrindən istifadə olunur. Fərz edək ki, söz qurmaq üçün rabitə vasitələri aşağıdakılardır:
 
o→ (sözün başlanğıcı)
 
→ (sözün ortası)
 
→o (sözün sonu)
 
Onda “then” sözünü aşağıdakı kimi qura bilərik:
 
o→t→h→e→n→o
 
Cömləni qurmaq üçün başqa rabitə vasitələrindən istifadə etmək olar:
 
o<math> \Rightarrow </math> (cümlənin əvvəli)
 
<math> \Rightarrow </math> (cümlənin ortası)
 
<math> \Rightarrow </math>o (cümlənin sonu)
 
Onda “then goto” cümləsini aşağıdakı kimi qura bilərik:
 
o<math> \Rightarrow </math>(o→t→h→e→n→o)<math> \Rightarrow </math>(o→g→o→t→o→o)<math> \Rightarrow </math>o
 
Göründüyü kimi, cümlə quran zaman bu vasitələrdən başqa mötərizələrdən də istifadə olundu. Mötərizə vasitələrinə cümlənin ayrı-ayrı konstruksiyalarını yaradan element kimi baxmaq lazımdır. Belə elementlərə formal dildə çərçivə deyilir. Əgər çərçivələrin özü də çərçivəyə alınarsa, onda daha mürəkkəb konstruksiyalar yaratmaq mümkündür. Məsələn, mürəkkəb cümlə sadə cümləyə nisbətən mürəkkəb konstruksiya kimi qiymətləndirilə bilər. Konstruksiyaların satsız-hesabsız formaları var, məsələn, matris tipli, ağac tipli və s. Sözü ən sadə informasiya modeli kimi qəbul etmək olar. A əlifbasında qurulmuş L formal dili olaraq ixtiyari sayda sözlər başa düşülür. Bu çoxluq sonlu, boş, hətta sozsuz ola bilər. Formal dil sonsuz olarsa, onun sözlərinin hər birini qurub yadda saxlamaq qeyri-mümkündür, bu halda insanın köməyinə formal qrammatika gəlir.