Parser

Een parser (van het Engelse to parse, ontleden, en het Latijnse pars, deel) is een computerprogramma, of component van een programma, dat de grammaticale structuur van een invoer volgens een vastgelegde grammatica ontleedt (parset). Een parser converteert de ingevoerde tekst in een datastructuur. Vergelijk het met het invullen van een formulier met gegevens op de voorgegeven plaats in een voorgegeven tekstformaat, zoals bloktekst.

Het resultaat van een bewerking met een parser wordt meestal een boomstructuur: de syntaxisboom genoemd.

Een parser heeft twee taken wat betreft zijn invoer:

  • Het controleren of de gegeven invoer de correcte structuur heeft, en
  • het omzetten van de tekst in een gestructureerde representatie die voor de computer begrijpelijk is.

De gestructureerde representatie van een tekst die de parser oplevert wordt een concrete syntaxisboom genoemd (of: CST, van concrete syntaxtree). Deze dient vervolgens als invoer voor een ander computerprogramma (of een andere module van hetzelfde programma) voor verdere analyse en verwerking, zoals semantische analyse, of het genereren van code door een compiler.

Een parser kan ook gebruikt worden om natuurlijke talen te analyseren. Over het algemeen is dit veel moeilijker dan het analyseren van een computerbestand, omdat er behoorlijk wat inconsequentie kan zitten in natuurlijke talen.

Een voorbeeld van het parsen van een expressie:

(a + b) × 1

kan omgezet worden in de volgende boomstructuur:

Zie ook

  • (en) Demonstration of Parsing Algorithms Drie Java-applets die recursive-descent, LL(1) en shift-reduce-parsing demonstreren

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.