Վերևից ներքև և ներքևից վեր վերլուծության հիմնական տարբերությունն այն է, որ վերևից ներքև վերլուծությունը կատարում է վերլուծություն՝ հայացք նետող նշանից դեպի մուտքային տողը, մինչդեռ ներքևից ներքև վերլուծությունը կատարում է վերլուծություն մուտքային տողից մինչև մեկնարկային նշան: Ավելին, վերևից ներքև և ներքևից վեր վերլուծության միջև մեկ այլ կարևոր տարբերություն այն է, որ վերևից ներքև վերլուծությունը օգտագործում է ձախից ամենաշատ ածանցումը, իսկ ներքևից ներքև վերլուծությունը օգտագործում է ամենաշատ ածանցումը:
Բարձր մակարդակի լեզուներն օգնում են համակարգչային ծրագրեր գրել։ Դրանք ավելի հեշտ է հասկանալ ծրագրավորողի կողմից, բայց ոչ համակարգչի կողմից: Հետեւաբար, բարձր մակարդակի ծրագիրը փոխակերպվում է մեքենայի կոդի:Կազմողի խնդիրն է մարդու կողմից ընթեռնելի սկզբնաղբյուրը վերածել մեքենայական ընթերցվող մեքենայի կոդի։ Ծրագիրն անցնում է մի քանի քայլ՝ մեքենայի կոդի վերածելու համար: Այս ամբողջ գործընթացը կոչվում է Լեզվի մշակման համակարգ: Դրանցից մեկը կազմում է. Շարահյուսական անալիզատորը կամ վերլուծիչը կոմպիլյատորում է և կատարում է վերլուծության առաջադրանքը։
Ի՞նչ է վերևից ներքև վերլուծությունը:
Յուրաքանչյուր ծրագրավորման լեզու ունի լեզուն ներկայացնելու մի շարք կանոններ: Շարահյուսական անալիզատորը կամ վերլուծիչը վերցնում է մուտքագրման տողը և ստուգում, թե արդյոք այն համապատասխանում է քերականական արտադրություններին: Այլ կերպ ասած, քերականությունը պետք է արտադրի այդ տողը, օգտագործելով վերլուծական ծառ:
Վերևից ներքև վերլուծության ժամանակ վերլուծությունը տեղի է ունենում մեկնարկային նշանից և կհասնի տվյալ մուտքագրման տողին: Դիտարկենք հետևյալ քերականության արտադրության կանոնները. Մուտքային տողը (w) cad է։
S -> cAd
A -> ab /a
Վերևից ներքև վերլուծություն կատարելուց հետո վերլուծության ծառը հետևյալն է.
Նկար 01. Վերլուծել ծառ 1-ը վերևից ներքև վերլուծմամբ
S-ն արտադրում է c A d, իսկ A-ն՝ a b: Շարանը կաբդ է։ Դա պարտադիր տողը չէ։ Այսպիսով, անհրաժեշտ է հետքայլ անել, այսինքն՝ օգտագործել մյուս այլընտրանքները։
Նմանապես, S-ն արտադրում է c A d. A-ի համար մյուս տարբերակը կիրառելը կտա ա. Այժմ այն տալիս է անհրաժեշտ տողը: Հետևաբար, վերլուծիչն ընդունում է այս մուտքային տողը: Վերևից ներքև վերլուծություն կատարելուց հետո վերլուծական ծառը հետևյալն է.
Նկար 02. Վերլուծել ծառ 2-ը վերևից ներքև վերլուծմամբ
Երբ մուտքագրման տողը (w) abbcde է
Դիտարկեք հետևյալ քերականական արտադրության կանոնները։
S -> aABe
A -> Abc/b
B -> դ
Վերևից ներքև վերլուծություն, S -> aABe (Փոխարինող A -> Abc)
S -> aAbcBe (Փոխարինող A -> բ)
S -> abbcBe (Փոխարինող B ->d)
S -> abbcde
Փոխարինումը սկսվում է սկզբում ամենաձախ փոփոխականից, այնուհետև հաջորդ աջ դիրքից և այլն: Հետևաբար, այն հետևում է ձախակողմյան ձևավորման մեթոդին: Ավելին, կարևոր է որոշել, թե արտադրության ինչ կանոն ընտրել, երբ կա փոփոխական:
Ի՞նչ է ներքևից վեր վերլուծությունը:
Ներքևից վեր վերլուծությունը տեղի է ունենում այլ կերպ: Վերլուծումը տեղի է ունենում մուտքագրման տողից մինչև մեկնարկային նշանը: Դիտարկենք հետևյալ քերականական արտադրության կանոնները և թող մուտքագրման տողը լինի w ɛ cad
S -> cAd
A -> ab /a
Վերլուծման ծառը ներքևից վեր վերլուծություն կատարելուց հետո հետևյալն է.
Նկար 03. Վերլուծել ծառը ներքևից վեր վերլուծմամբ
Տրված տողը cad է: a-ն ստեղծվում է A-ի կողմից: c, A և d միավորները ստանում են մեկնարկային S նշանը:
Երբ մուտքագրման տողը (w) abbcde է
Դիտարկեք հետևյալ քերականական արտադրության կանոնները։
S -> aABe
A -> Abc/b
B -> դ
Ներքևից վեր վերլուծում, S -> aABe (Փոխարինող B ->d)
S -> aAde (Փոխարինելով A -> Abc)
S -> aAbcde (Փոխարինելով A -> բ)
S -> abbcde
Փոխարինումը սկսվում է սկզբում աջ ամենափոփոխականով, այնուհետև տեղափոխվում է հաջորդ ձախ դիրք և այլն: Հետևաբար, այն հետևում է ձախ շարժման ձևավորման մեթոդին:
Ո՞րն է տարբերությունը վերևից ներքև և ներքևից վեր վերլուծության միջև:
Վերևից վար վերլուծությունը վերլուծման ռազմավարություն է, որը նախ նայում է վերլուծական ծառի ամենաբարձր մակարդակին և աշխատում է վերլուծական ծառի վրա՝ օգտագործելով պաշտոնական քերականության կանոնները: Ներքևից վեր վերլուծությունը վերլուծման ռազմավարություն է, որը նախ նայում է վերլուծական ծառի ամենացածր մակարդակին և մշակում վերլուծական ծառը՝ օգտագործելով պաշտոնական քերականության կանոնները:Վերլուծումը տեղի է ունենում մեկնարկային նշանից մինչև մուտքային տողը, վերևից ներքև: Մյուս կողմից, վերլուծությունը տեղի է ունենում մուտքագրման տողից մինչև մեկնարկային նշանը, ներքևից վեր վերլուծության մեջ:
Ավելին, վերևից ներքև վերլուծության ժամանակ հիմնական որոշումը կայանում է նրանում, որ ընտրել, թե արտադրության ինչ կանոնը պետք է օգտագործել տողը կառուցելու համար, մինչդեռ ներքևից ներքև վերլուծության հիմնական որոշումը կայանում է նրանում, որ ընտրել, թե երբ օգտագործել արտադրության կանոնը՝ տողը նվազեցնելու համար: ստացեք մեկնարկային նշանը: Ավելին, վերևից ներքև վերլուծումն օգտագործում է ձախից ամենաշատ ածանցումը, իսկ ներքևից ներքև՝ աջից ամենաշատ դերիվացիան:
Ամփոփում – Վերից ներքև ընդդեմ ներքևից վեր վերլուծություն
Վերևից ներքև և ներքևից վեր վերլուծության միջև տարբերությունն այն է, որ վերևից ներքև վերլուծումը կատարում է վերլուծություն՝ հայացք նետված նշանից դեպի մուտքային տողը, մինչդեռ ներքևից ներքև վերլուծությունը կատարում է վերլուծություն մուտքագրման տողից մինչև մեկնարկային նշան: