Kazalo:
Opredelitev - Kaj pomeni Parser?
Razčlenjevalec je komponenta prevajalnika ali tolmača, ki podatke razdeli na manjše elemente za enostaven prevod v drug jezik. Razčlenjevalnik sprejme vnos v obliki zaporedja žetonov ali programskih navodil in navadno gradi strukturo podatkov v obliki drevesa razčlenjevanja ali abstraktnega sintaksovega drevesa.
Tehopedia razlaga Parser
Razčlenjevalec se običajno uporablja kot sestavina tolmača ali prevajalnika. Celoten postopek razčlenjevanja vključuje tri stopnje:
- Leksikalna analiza: Leksikalni analizator se uporablja za izdelavo žetonov iz toka znakov vhodnih nizov, ki jih razbijemo na majhne sestavne dele, da tvorijo smiselne izraze.
- Sintaktična analiza: preveri, ali ustvarjeni žetoni tvorijo pomenljiv izraz. Tako se uporabi brez konteksta slovnica, ki določa algoritmične postopke za komponente. Ta delajo tako, da tvorijo izraz in določajo določen vrstni red, v katerem je treba postaviti žetone.
- Semantično razčlenjevanje: zadnja faza razčlenitve, v kateri sta določena pomen in implikacije potrjenega izraza in izvedena potrebna dejanja.
Glavni namen razčlenjevalca je ugotoviti, ali lahko vhodni podatki izhajajo iz začetnega simbola slovnice. Če je odgovor pritrdilen, kako lahko potem pridobite te vhodne podatke? To se doseže na naslednji način:
- Razčlenjevanje od zgoraj navzdol: vključuje iskanje drevesa razčlenitve, da bi našli največ levih odsekov vhodnega toka z uporabo razširitve od zgoraj navzdol. Primeri vključujejo razčlenjevalnike LL in parserje s rekurzivnim spuščanjem.
- Razpored od spodaj navzgor: vključuje prepisovanje vnosa nazaj na začetni simbol. Ta vrsta razčlenjevanja je znana tudi kot razčlenitev z zmanjševanjem premikov. En primer je LR razčlenjevalec
Parserji se pogosto uporabljajo v naslednjih tehnologijah:
- Java in drugi programski jeziki
- HTML in XML
- Interaktivni jezik podatkov in jezik definiranja predmetov
- Jeziki zbirke podatkov, kot je SQL
- Jeziki za modeliranje, kot je jezik za modeliranje navidezne resničnosti
- Skriptni jeziki
- Protokoli, kot so klici HTTP in internetni oddaljeni klici