Metainterpret pro ladění

Aby bylo možné vyhnout se procházení velkého množství kódu při používání interního debuggeru interpretu jazyka Prolog, byl vytvořen metainterpret určený speciálně pro ladění parserů, který ve své implementaci využívá architektury knihovny a vlastností konstruktorů, které obsahuje.

Metainterpret využívá vlastní realizaci podpory programování vyššího řádu. Umožňuje krokování, průběžné vypisování volaných parserů, sledování stopy výpočtu, nastavování ladících bodů, přístup do struktur parserů za běhu a detekci jejich selhání.

Jak známo, parsery jsou predikáty, které nikdy neselhávají. Tuto jejich vlastnost však nelze zpravidla v interním debuggeru využít. Pokud taková chyba nastane, výpočet v lepším případě končí selháním a v horším vydáním nesprávného výsledku. Pomocí interního debuggeru je odstranění takové chyby velmi zdlouhavé.

Knihovní metainterpret je schopen selhání libovolného parseru detekovat (detekce se provádí v průběhu každého jeho spuštění). V případě výskytu takové chyby pozastaví výpočet a zobrazí prompt ladícího bodu.



Subsections

dvorka 2013-12-31