Što je Parser?

Parser je dio softvera koji procjenjuje sintaksu skripte kada se izvršava na web poslužitelju. Za jezike skriptiranja koji se koriste na webu, parser radi kao što bi prevodilac mogao raditi u drugim vrstama okruženja za razvoj aplikacija.

Na isti način na koji prevodilac može kreirati objektni kod koji će se koristiti na računalu iz izvornog koda, parser može pretvoriti skriptni kod u čitljiv objektni kod ili prikazati sintaksičke pogreške pronađene kada se kod izvršava u pregledniku.

Parseri se obično koriste u razvoju skripte jer mogu procijeniti kod kada se skripta izvrši i ne zahtijevaju da se kod prije prevede. Kompilacija izvornog koda i njegovo izvršenje događa se u jednom koraku za razliku od C++ ili drugog binarnog prevoditelja u kojem se izvorni kod prevodi u objektni kod, a zatim se ovaj kod mora instalirati ili pokrenuti zasebno.

Najveća razlika između parsera i kompilatora je okruženje i jezik s kojim rade. Na primjer, poslužitelj analizira mnoge skripte, a izvorni kod aplikacije ili operativnog sustava kompilira se za instalaciju. Ta se dva pojma mogu koristiti naizmjenično za predstavljanje iste aktivnosti, a programski kod se može raščlaniti u objektni kod i kod skripte sastavljen na webu.

Mnogi parseri rade uzastopno tako što izvršavaju poslane izraze s lijeva na desno i odozgo prema dolje. Kada se pronađe greška, parser će se zaustaviti. Ako u aplikaciji postoji kodiranje za stanje pogreške, poduzimaju se radnje povezane s tim kodiranjem. Ako je raščlanjeni kod skripta na webu, pogreška se može prikazati u prozoru preglednika dok se kôd izvršava. Parser ne može rukovati kodom u retku 12 ako kod u retku 11 ili ranije uzrokuje pogrešku.

Parser procjenjuje dostavljenu sintaksu (ili kod) i određuje izvršne dijelove, prikazujući pronađene pogreške kako ide. To pomaže u otklanjanju pogrešaka koda i može pomoći u zaštiti intelektualnog vlasništva koje može biti izvorni kod projekta. Primjer ovog procesa ne mora se razmišljati u smislu skriptiranja ili programiranja. Zamislite rečenicu na engleskom jeziku. Sljedeća rečenica će dobro doći:
Veliki smeđi medvjed brzo trči.
Rastaviti ovu rečenicu značilo bi secirati svojstva riječi u rečenici kako bi čitatelj shvatio da je medvjed imenica, smeđi i veliki su pridjevi koji opisuju medvjeda, a da trči glagol ili radnju koju medvjed izvodi. Prilog brzo modificira glagol runs u rečenici.
To je jednostavan primjer onoga što radi parser. Procjenjuje kod koji je predviđen za sintaksu i može stvoriti objektni kod ili iskoristiv izlaz.