Nedadgående parsing

Top-down parsing er en af ​​metoderne til at bestemme, om en inputstreng tilhører et formelt  sprog beskrevet af LL(k) kontekstfri grammatik . Dette er en klasse af grammatiske analysealgoritmer , hvor reglerne for en formel grammatik udvides fra starttegnet, indtil den nødvendige sekvens af tokens er opnået .

Metode idé

For hvert ikke-terminalsymbol K bygges der en funktion, der for ethvert inputord x gør 2 ting:

En sådan funktion skal opfylde følgende kriterier:

Hvis en sådan begyndelse ikke kan beregnes (og rigtigheden af ​​funktionen for den ikke-terminale K er bevist), svarer inputdataene ikke til sproget, og parsing skal stoppes.

Parsing består i at kalde funktionerne beskrevet ovenfor. Hvis der er en sammensat regel for den læste ikke-terminal, så vil andre funktioner blive kaldt, når den er parset, for at parse de terminaler, der er inkluderet i den. Et opkaldstræ, der starter fra "top"-funktionen, svarer til et parsetræ.

Den enkleste og mest "humane" måde at oprette en parser ved hjælp af den rekursive descent-metode er direkte programmering for hver inferensregel for grammatik ikke-terminaler.

Vilkår for brug

Lad N  være et endeligt sæt af ikke-terminale symboler i en given formel grammatik; Σ  er et endeligt sæt af terminalsymboler, så er den rekursive nedstigningsmetode kun anvendelig, hvis hver regel i denne grammatik har følgende form:

Top-down parsing algoritmer

Litteratur