Жогорудан ылдый менен ылдыйдан өйдө талдоо ортосундагы негизги айырмачылык жогорудан ылдый талдоо тиктөө белгисинен киргизүү сапка чейин талдоону жүзөгө ашырат, ал эми ылдый ылдый талдоо киргизүү саптан баштоо символуна талдоону аткарат. Андан тышкары, жогорудан ылдый менен ылдыйдан өйдө талдоо ортосундагы дагы бир маанилүү айырма, жогорудан ылдый талдоодо көпчүлүк сол туундуларды, ал эми ылдыйдан ылдый талдоодо көпчүлүк оң туундуларды колдонот.
Жогорку деңгээлдеги тилдер компьютердик программаларды жазууга жардам берет. Аларды программист түшүнүү оңой, бирок компьютер эмес. Демек, жогорку деңгээлдеги программа машина кодуна айланат. Компилятордун милдети – адам окуй турган баштапкы кодду машина окуй турган машина кодуна айландыруу. Программа машина кодуна айландыруу үчүн бир нече этаптан өтөт. Бул процесс Тилди иштетүү системасы деп аталат. Алардын бири компиляция. Синтаксис анализатору же талдоочу компилятордо жана ал талдоо тапшырмасын аткарат.
Жогорудан төмөн талдоо деген эмне?
Ар бир программалоо тилинде тилди көрсөтүү үчүн эрежелердин жыйындысы бар. Синтаксис анализатору же талдоо киргизүү сапты алып, анын грамматикалык өндүрүшкө ылайык экендигин текшерет. Башкача айтканда, грамматика талдоо дарагынын жардамы менен ошол сапты түзүшү керек.
Жогорудан ылдый талдоодо, талдоо башталгыч символдон ишке ашат жана берилген киргизүү сабына жетет. Төмөнкү грамматикалык өндүрүш эрежелерин карап көрөлү. Киргизүү сапы (w) cad.
S -> cAd
A -> ab /a
Жогорудан ылдый талдоо жүргүзгөндөн кийин талдоо дарагы төмөнкүдөй.
01-сүрөт: 1-даракты жогорудан ылдый талдоо менен талдоо
S c A d жана A a b чыгарат. Сап - cabd. Бул талап кылынган сап эмес. Демек, артка кайтуу керек, башкача айтканда, башка альтернативаларды колдонуу керек.
Ошондой эле, S чыгарат c A d. А үчүн башка вариантты колдонуу а берет. Эми ал керектүү сапты берет. Ошондуктан, талдоочу бул киргизүү сапты кабыл алат. Жогортон ылдый талдоо жүргүзгөндөн кийин талдоо дарагы төмөнкүдөй.
02-сүрөт: Даракты 2-жогорудан ылдый талдоо менен талдоо
Киргизүү сап (w) abbcde болгондо
Төмөнкү грамматиканы даярдоо эрежелерин карап көрүңүз.
S -> aABe
A -> Abc/b
B -> d
Жогорудан ылдый талдоодо, S -> aABe (A -> Abc алмаштыруу)
S -> aAbcBe (А -> b алмаштыруу)
S -> abbcBe (В ->d алмаштыруу)
S -> abbcde
Алмаштыруу биринчи сол эң өзгөрмөдөн башталат, андан кийин кийинки оң позицияга ж.б.у.с. Ошондуктан, ал эң солдон чыккан туунду ыкмасын карманат. Андан тышкары, өзгөрмө болгондо кайсы өндүрүш эрежесин тандоону чечиш керек.
Төмөндөн өйдө талдоо деген эмне?
Төмөндөн өйдө талдоо башка жол менен ишке ашат. Талдоо киргизүү саптан баштап символго чейин ишке ашат. Төмөнкү грамматикалык өндүрүш эрежелерин карап чыгыңыз жана киргизүү сап w ɛ cad болсун
S -> cAd
A -> ab /a
Төмөндөн өйдө талдоо жүргүзгөндөн кийин талдоо дарагы төмөнкүдөй.
03-сүрөт: Төмөндөн өйдө талдоо менен даракты талдоо
Берилген сап кад. a A тарабынан генерацияланат. c, A жана d башталгыч символду алуу үчүн биригип S.
Киргизүү сап (w) abbcde болгондо
Төмөнкү грамматиканы даярдоо эрежелерин карап көрүңүз.
S -> aABe
A -> Abc/b
B -> d
Төмөндөн өйдө талдоодо, S -> aABe (В ->d алмаштыруу)
S -> aAde (A -> Abc алмаштыруу)
S -> aAbcde (Аны алмаштыруу -> b)
S -> abbcde
Алмаштыруу адегенде эң оң өзгөрмөдөн башталып, андан кийин кийинки сол позицияга жылат ж.б.у.с. Ошондуктан, ал сол мотивден чыгаруу ыкмасын колдонот.
Жогорудан ылдый менен ылдыйдан өйдө талдоонун ортосунда кандай айырма бар?
Жогорудан ылдый талдоо - бул талдоо дарагынын эң жогорку деңгээлин караган жана формалдуу грамматиканын эрежелерин колдонуу менен талдоо дарагынын ылдый жагына иштеген талдоо стратегиясы. Төмөндөн өйдө талдоо - бул талдоо дарагынын эң төмөнкү деңгээлин карап, формалдуу грамматиканын эрежелерин колдонуу менен талдоо дарагын иштеп чыгуу стратегиясы. Талдоо башталгыч символдон киргизүү сапка чейин, жогорудан ылдый талдоодо болот. Башка жагынан алганда, талдоо киргизүү саптан баштап, ылдыйдан өйдө талдоодо ишке ашат.
Мындан тышкары, жогорудан ылдый талдоодо негизги чечим сапты куруу үчүн кандай өндүрүш эрежесин колдонуу керек экендигин тандоо, ал эми ылдыйдан ылдый талдоодо негизги чечим сапты төмөндөтүү үчүн өндүрүш эрежесин качан колдонууну тандоо. баштоо белгисин алуу. Андан тышкары, жогорудан ылдый талдоодо көпчүлүк сол туундуларды, ал эми ылдыйдан ылдый талдоодо эң туура туундуларды колдонот.
Корытынды – Жогортон ылдый жана ылдыйдан өйдө талдоо
Жогорудан ылдый менен ылдыйдан өйдө талдоо ортосундагы айырма жогорудан ылдый талдоо тиктөө белгисинен киргизүү сапка талдоону жүзөгө ашырат, ал эми ылдый ылдый талдоо киргизүү саптан баштоо символуна талдоону аткарат.