GNU Prolog este un program gratuit Prolog compiler constrngere cu rezolvarea a peste finite domenii dezvoltat de Daniel Diaz. GNU Prolog acceptă Prolog constrngere programe și produce binare native (cum ar fi gcc face de la o sursă de C. a.). Obținute executabil, atunci este stand-alone.
Dimensiunea de acest executabil poate fi destul de mici, deoarece GNU Prolog pot evita să link-ul de codul de cele mai multe neutilizate built-in de predicate. Performanțele de GNU Prolog sunt foarte incurajatoare (comparabil cu sistemele comerciale). Pe lngă nativ-cod de compilare, GNU Prolog oferă un clasic interactiv (top-level) cu un debugger.
Prolog parte este conform cu standardul ISO pentru Prolog cu multe extensii foarte utile în practică (variabile globale, interfata sistemului de OPERARE, prize,).GNU Prolog include, de asemenea, un mod eficient de constrngere solver peste Finite Domenii (FD). Aceasta deschide contraint logica de programare pentru utilizatorul care combină puterea de constrngere programare la declarativity de programare logică.
Caracteristici principale:
- Prolog sistem:
- conform cu standardul ISO pentru Prolog (numere în virgulă mobilă, fluxuri, dinamic cod).
- o mulțime de extensii: variabile globale, definit clauza gramatici (DCG), prize de interfata, interfata sistemului de operare
- mai mult de 300 de Prolog built-in de predicate.
- Prolog debugger și un nivel scăzut WAM debugger.
- linia de editare afla sub interactiv cu finalizare pe atomi.
- puternic interfață bidirecțională între Prolog și C.
- Compilator:
- nativ-cod compilator producătoare stand alone executabile.
- simplu de comandă-line compiler a accepta o mare varietate de fișiere: Prolog fișiere, fișiere C, WAM fișiere,...
- direct de generare de cod de asamblare de 15 ori mai repede dect wamcc gcc.
- cele mai multe dintre neutilizate built-in predicate nu sunt legate (pentru a reduce dimensiunea de executabile).
- compilat predicate (limbă maternă-cod) la fel de repede ca wamcc în medie.
- a consultat predicate (byte-code) de 5 ori mai repede dect wamcc.
- Constrngere solver:
- FD variabile de bine integrate în Prolog mediu (compatibilitate completă cu Prolog variabile și numere întregi). Nu este nevoie de explicit FD declarații.
- foarte eficient FD solver (comparabile comerciale rezolvarea).
- nivel înalt de constrngeri pot fi descrise în termeni de simple, primitive.
- o mulțime de predefinite constrngeri: aritmetică constrngeri, boolean constrngeri, simbolic constrngeri, reificate constrngeri,...
- mai multe predefinite enumerare euristici.
- utilizatorul poate defini propriile restricții.
- mai mult de 50 FD built-in constrngeri/predicate.
Comentarii