Жоғарыдан төмен және төменнен жоғары талдау арасындағы айырмашылық

Мазмұны:

Жоғарыдан төмен және төменнен жоғары талдау арасындағы айырмашылық
Жоғарыдан төмен және төменнен жоғары талдау арасындағы айырмашылық

Бейне: Жоғарыдан төмен және төменнен жоғары талдау арасындағы айырмашылық

Бейне: Жоғарыдан төмен және төменнен жоғары талдау арасындағы айырмашылық
Бейне: 1; 2; 3; 4; 5; 6 цифрлары көмегімен цифрлары қайталанбайтындай неше үш таңбалы сандар жазуға болады? 2024, Қараша
Anonim

Жоғарыдан төмен және төменнен жоғары талдаудың негізгі айырмашылығы мынада: жоғарыдан төмен талдау қарау таңбасынан кіріс жолына дейін талдауды орындайды, ал төменнен төмен талдау кіріс жолынан бастапқы таңбаға дейін талдауды орындайды. Сонымен қатар, жоғарыдан төмен және төменнен жоғары талдаудың тағы бір маңызды айырмашылығы, жоғарыдан төмен талдауда сол жақтағы туындының басым бөлігі, ал төменнен төмен талдауда оң жақтағы туындының көп бөлігі пайдаланылады.

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

Жоғарыдан төмен талдау дегеніміз не?

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

Жоғарыдан төмен талдауда талдау бастапқы таңбадан орындалады және берілген енгізу жолына жетеді. Төмендегі грамматикалық өндіріс ережелерін қарастырыңыз. Енгізу жолы (w) cad.

S -> cЖарнама

A -> ab /a

Жоғарыдан төмен талдауды орындағаннан кейін талдау тармағы келесідей.

Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық

01-сурет: 1-ағашты жоғарыдан төмен талдаумен талдау

S c A d шығарады және A a b шығарады. Жол – cabd. Бұл қажетті жол емес. Сонымен, кері трек жасау керек, яғни басқа баламаларды пайдалану керек.

Сол сияқты, S c A d шығарады. А үшін басқа опцияны қолдану а береді. Енді ол қажетті жолды береді. Сондықтан талдаушы осы енгізу жолын қабылдайды. Жоғарыдан төмен талдауды орындағаннан кейін талдау ағашы келесідей.

Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық 2-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық 2-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық 2-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық 2-сурет

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 -> cЖарнама

A -> ab /a

Төменнен жоғары талдауды орындағаннан кейін талдау тармағы келесідей.

Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы негізгі айырмашылық 03-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы негізгі айырмашылық 03-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы негізгі айырмашылық 03-сурет
Жоғарыдан төмен және төменнен жоғары талдаудың арасындағы негізгі айырмашылық 03-сурет

03-сурет: Төменнен жоғары талдау арқылы ағашты талдау

Берілген жол cad. 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

Ауыстыру алдымен оң жақ ең айнымалыдан басталады, содан кейін келесі сол жақ позицияға жылжиды және т.б. Сондықтан, ол сол жақ таңбалы туынды әдісімен жүреді.

Жоғарыдан төмен және төменнен жоғары талдаудың айырмашылығы неде?

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

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

Кесте түріндегі жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Кесте түріндегі жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Кесте түріндегі жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық
Кесте түріндегі жоғарыдан төмен және төменнен жоғары талдаудың арасындағы айырмашылық

Қорытынды – Жоғарыдан төмен және төменнен жоғары талдау

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

Ұсынылған: