Enparser er et dataprogram (eller komponent), som analyserer en datastrøm, for at få frem en tolkning af denne i et vistformelt sprog. Processen kaldessyntaksanalyse,syntaktisk analyse ellerparsning. En mulig metasyntaks der kan beskrive et formelt sprog syntaks erBackus-Naur form ellerUdvidet Backus-Naur form.
Syntaktisk analyse er den proces, der skaber ensyntaktisk struktur – etparsetræ – af en følge af symboler. Syntaksanalysen bygger på information som genereres af enleksikalisering.
Parseren anvendes indenfor mange dataprogrammer hvor noget input behøver tolkning, eksempelvis til kommandoindtastning eller indlæsning af datafiler. Parsere anvendes også indenforsprogteknologi til at tolke den grammatiske struktur hos naturlige sprog.
Kontekstfri grammatik er den dominerende formalisme for grammatiker til både naturlige sprog og anden data, eftersom denne formalisme tillader konstruktion af effektive parsere. Kontekstfrie grammatiker beskrives ofte påBackus-Naur-form ellerUdvidet Backus-Naur form.
Indenforsprogteknologi anvendes almindeligvis kontekstfrie grammatiker (også kaldetfrasestrukturgrammatiker) ellerdependensgrammatiker.[1]
To eksempler på dataprogrammer, der genererer programkode til en parser eryacc ogGNU bison.