Rekursiv nedstigningsmetode

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 19. december 2015; checks kræver 3 redigeringer .

Den rekursive descent-parser er en top-  down parsing - algoritme implementeret af gensidigt kaldende procedurer, hvor hver procedure svarer til en af ​​reglerne for kontekstfri grammatik eller BNF . Anvendelser af reglerne sekventielt, fra venstre mod højre, bruger de tokens , der modtages fra den leksikalske analysator . Det er en af ​​de enkleste parsingalgoritmer, velegnet til en fuldstændig manuel implementering.

Implementeringsmuligheder

Prædiktiv parser

For parsere af denne type er der behov for en passende COP-grammatik , specifikt en LL (k) grammatik, der tillader en af ​​de alternative muligheder for at udvide hver ikke-terminal entydigt at blive valgt (forudsagt) for det næste token eller tokens.

En sådan parser kører i lineær tid.

En variant er LL-parseren  , en implementering af en forudsigende parser med automatisk konstruktion af en "forudsigelsestabel", der bestemmer den passende regel for udvidelse af den ikke-terminale base baseret på den givne ikke-terminale og det næste token.

Backtracking parser

I stedet for at lave en forudsigelse, forsøger parseren blot at anvende alle alternative regelvalg i rækkefølge, indtil et af forsøgene lykkes.

En sådan parser kan kræve eksponentiel køretid og er ikke altid garanteret at fuldføre, afhængigt af grammatikken. Sårbar over for venstre rekursion .