Լեքսիկական անալիզատորին անհրաժեշտ է ՝ սկանավորելու և հայտնաբերելու վավեր տողերի/նշանների/լեքսեմների միայն վերջավոր շարքը, որը պատկանում է ձեռքի տակ գտնվող լեզվին: Այն որոնում է լեզվի կանոններով սահմանված օրինաչափությունը։ Կանոնավոր արտահայտությունները կարող են արտահայտել վերջավոր լեզուներ՝ սահմանելով որոշակի օրինաչափություն նշանների վերջավոր տողերի համար:
Ինչո՞ւ է մեզ անհրաժեշտ բառապաշար անալիզատոր։
Լեքսիկական անալիզատորի դերը
Կազմողի առաջին փուլը: Լեքսիկական վերլուծություն. նիշերի մուտքագրման տող վերցնելու գործընթաց (օրինակ՝ համակարգչային ծրագրի սկզբնաղբյուրը) և ստեղծելու խորհրդանիշների հաջորդականություն, որը կոչվում է բառապաշար կամ պարզապես նշաններ, որոնք կարող են ավելի հեշտ վարվել վերլուծողի կողմից:
Ո՞րն է բառարանային անալիզատորի դերը կոմպիլյատորում։
Վերլուծիչից get-next-tohen հրամանը ստանալուց հետո բեքսիական անալիզատորը կարդում է մուտքային նիշերը, մինչև որ կարողանա նույնականացնել հաջորդ նշանը: նշանները ազդում են վերլուծության որոշումների վրա, … հատկանիշներն ազդում են նշանների թարգմանության վրա:
Ի՞նչ է առաջացնում բառարանային անալիզատորը:
Լեքսիկական անալիզատորը (ինքնաբերաբար ստեղծվում է այնպիսի գործիքի միջոցով, ինչպիսին է lex-ը կամ ձեռքով պատրաստված) կարդում է նիշերի հոսքով, նույնականացնում է հոսքի բառակապակցությունները և դասակարգում դրանք նշանների. Սա կոչվում է նշանավորում: Եթե lexer-ը գտնի անվավեր նշան, այն կհայտնի սխալի մասին:
Ի՞նչ կարիք կա բառապաշարի և շարահյուսական անալիզատորի տարբեր փուլերում:
Լեքսիկական անալիզատորը օրինաչափությունների համապատասխանող է: Շարահյուսական վերլուծությունը ներառում է ծառի ձևավորում՝ ծրագրի շարահյուսության դեֆորմացիաները հայտնաբերելու համար: Լեքսիկական վերլուծության համար հաճախ օգտագործվում են ոչ այնքան բարդ մոտեցումներ: Շարահյուսական վերլուծությունը պահանջում է շատ ավելի բարդ մոտեցում: