GNU Prolog je zdarma Prolog kompilátor s omezením řešení nad konečných domén vyvinut Daniel Diaz. GNU Prolog přijímá Prolog omezení programů a produkuje nativní binární soubory (jako gcc dělá z C zdroj). Získané spustitelný soubor je pak stand-alone.
Velikost spustitelného souboru může být docela malý, protože GNU Prolog mohou vyhnout propojit kódu většinou nepoužité vestavěné predikáty. Představení GNU Prolog jsou velmi povzbudivé (srovnatelné s komerčními systémy). Vedle nativního kódu kompilace, GNU Prolog nabízí klasické interaktivní interpret (top-level) s ladicí program.
Prolog část odpovídá normě ISO pro Prolog s mnoha rozšířeními velmi užitečné v praxi (globální proměnné, OS rozhraní, zásuvky,).GNU Prolog obsahuje také účinné omezení řešitel nad Konečných Domén (FD). Tím se otevře contraint logické programování pro uživatele kombinující sílu programování s omezujícími podmínkami na declarativity logiky programování.
Hlavní rysy:
- Prolog systém:
- odpovídá normě ISO pro Prolog (floating point čísla, potoky, dynamický kód,).
- spousta rozšíření: globální proměnné, definitivní ustanovení grammars (DCG), zásuvky rozhraní, rozhraní operačního systému,
- více než 300 Prologu vestavěné predikáty.
- Prolog debugger a low-level WAM debugger.
- line editace zařízení v rámci interaktivní interpret s dokončení na atomy.
- výkonný obousměrný rozhraní mezi Prolog a C.
- Kompilátor:
- nativní kód kompilátor vyrábí stand alone spustitelné soubory.
- jednoduché příkazového řádku kompilátor přijímá širokou škálu souborů: Prolog soubory. C soubory, WAM soubory,...
- přímé generování sestavy kód 15 krát rychlejší než wamcc gcc.
- většina nevyužitých vestavěné predikáty nejsou spojeny (snížení velikosti spustitelné soubory).
- zkompilovaný predikáty (nativní kód), jak rychle, jak wamcc v průměru.
- konzultovat predikáty (byte-code) 5 krát rychlejší než wamcc.
- Omezení solver:
- FD proměnné dobře integrovaný do Prolog prostředí (plnou kompatibilitu s Prolog proměnné a celá čísla). Není třeba pro explicitní FD prohlášení.
- velmi efektivní FD řešitel (srovnatelné s komerční řešiče).
- vysoká-úroveň omezení může být popsána v podmínkách jednoduchých primitiv.
- mnoho předdefinovaných omezením: aritmetické omezení, boolean omezení, symbolické omezení, zhmotnělá omezení,...
- několik předdefinovaných výčet heuristiky.
- uživatel si může definovat vlastní nová omezení.
- více než 50 FD vestavěné omezení/predikáty.
Komentáře