Kas yra analizatorius?

Analizatorius yra programinės įrangos dalis, kuri įvertina scenarijaus sintaksę, kai jis vykdomas žiniatinklio serveryje. Žiniatinklyje naudojamų scenarijų kalbų analizatorius veikia taip, kaip kompiliatorius gali veikti kitų tipų programų kūrimo aplinkose.

Lygiai taip pat kompiliatorius iš šaltinio kodo gali sukurti objekto kodą, kuris bus naudojamas kompiuteryje, analizatorius gali paversti scenarijaus kodą nuskaitomu objekto kodu arba rodyti sintaksės klaidas, aptiktas, kai kodas vykdomas naršyklėje.

Analizatoriai dažniausiai naudojami scenarijų kūrimui, nes jie gali įvertinti kodą, kai vykdomas scenarijus, ir nereikalauja, kad kodas būtų sukompiliuotas pirmiausia. Šaltinio kodo kompiliavimas ir jo vykdymas vyksta vienu žingsniu, o ne C++ ar kitu dvejetainiu kompiliatoriumi, kuriame šaltinio kodas sukompiliuojamas į objekto kodą, o tada šis kodas turi būti įdiegtas arba paleistas atskirai.

Didžiausias skirtumas tarp analizatoriaus ir kompiliatoriaus yra aplinka ir kalba, su kuria jie susiduria. Pavyzdžiui, daug scenarijų analizuoja serveris, o programos arba operacinės sistemos šaltinio kodas yra sukompiliuojamas diegimui. Abu terminai gali būti vartojami pakaitomis, kad būtų apibūdinta ta pati veikla, o programos kodas gali būti išanalizuotas į objekto kodą ir scenarijaus kodą, sudarytą žiniatinklyje.

Daugelis analizatorių veikia nuosekliai, nes pateikia pateiktus teiginius iš kairės į dešinę ir iš viršaus į apačią. Kai randama klaida, analizatorius sustos. Jei programoje yra klaidos sąlygos kodavimas, atliekami su tuo kodavimu susiję veiksmai. Jei išanalizuotas kodas yra scenarijus žiniatinklyje, klaida gali būti rodoma naršyklės lange, kai kodas vykdomas. Analizatorius negali apdoroti kodo 12 eilutėje, jei 11 ar ankstesnės eilutės kodas sukelia klaidą.

Analizatorius įvertina pateiktą sintaksę (arba kodą) ir nustato vykdomąsias dalis, parodydamas rastas klaidas. Tai padeda derinti kodą ir gali padėti apsaugoti intelektinę nuosavybę, kuri gali būti projekto šaltinio kodas. Šio proceso pavyzdžiu nereikia galvoti apie scenarijų ar programavimą. Pagalvokite apie sakinį anglų kalba. Šis sakinys puikiai tiks:
Didysis rudasis lokys greitai bėga.
Išanalizuoti šį sakinį reikštų sakinyje esančių žodžių savybių išskaidymą taip, kad skaitytojas suprastų, jog meška yra daiktavardis, rudas ir didelis yra būdvardžiai, apibūdinantys lokį, o bėgimas yra veiksmažodis arba veiksmas, kurį atlieka lokys. Prieveiksmis greitai modifikuoja veiksmažodį veikia sakinyje.
Tai paprastas pavyzdys, ką daro analizatorius. Jis įvertina sintaksei pateiktą kodą ir gali sukurti objekto kodą arba naudotiną išvestį.