Inom datavetenskap är en parser ett datorprogram som analyserar indata och konstruerar en datastruktur som representerar dess betydelse. Data är normalt en sträng av tecken (ofta men inte alltid på naturligt språk), men det kan vara strukturerad data som XML, JSON, HTML eller data i ett strukturerat format som CSV.
Parsers är en nyckelkomponent i kompilatorer, som översätter mänskligt läsbar källkod till maskinkörbar objektkod. De används också i naturlig språkbehandling, dataanalys och många andra applikationer.
Det finns två huvudtyper av analyserare:uppifrån och ner och nerifrån och upp. Top-down parsers börjar med att undersöka den övergripande strukturen för inmatningen och arbetar sedan ner till de enskilda tecknen. Bottom-up parsers börjar med att undersöka de enskilda karaktärerna och sedan bygga upp dem till större och större strukturer.
Valet av parsertyp beror på typen av indata och önskad utdata. Till exempel används top-down-parsers ofta för naturlig språkbehandling, medan bottom-up-parsers ofta används för dataanalys.
Parsers kan implementeras med hjälp av en mängd olika tekniker, inklusive rekursiv härkomst, skift-reducera parsning och sammanhangsfria grammatiker. Valet av implementeringsteknik beror på den specifika parsern och de önskade prestandaegenskaperna.
Parsers spelar en viktig roll inom många områden inom datavetenskap och är viktiga för många tillämpningar. De tillhandahåller ett sätt att analysera och förstå data och att översätta dem till en form som kan bearbetas av datorer.