Implementazione dell'interprete Prolog
Introduzione - Analisi lessicale - Analisi sintattica - Valutazione - Estensione - Demo

Demo: un compilatore

    Come per l'interprete Scheme (vedi) anche per quello Prolog è disponibile una "demo" che può essere avviata con il tasto omonimo. Si tratta di un compilatore di un linguaggio per espressioni logiche. Lanciando la demo le clausole Prolog vengono consultate e scritte nella "Output area", mentre nella "Message area" compare un piccolo help per l'utilizzo del compilatore.
   Il codice compilato è scritto in un linguaggio ideato per una macchina a stack a doppio registro. La stessa macchina viene simulata in linguaggio Prolog in modo estremamente semplice, ovvero limitandosi a fornire il risultato dell'esecuzione di ciascuna istruzione, poiché ciò che interessa è il codice compilato.
    Durante la compilazione ed esecuzione di un programma verranno visualizzati nella "Output area" i risultati delle varie operazioni compiute:

    Esiste anche una versione della demo in cui si è provato un nuovo esperimento: sfruttare il parser lisp per leggere le liste e trasformarle in liste prolog.
    Si è fatto ciò per rendere più semplice l'immissione dei dati per il compilatore. Non è necessario così aggiungere le virgole tra gli elementi della lista e dunque viene migliorata la comprensione della frase. 

Demo: cubo di Rubik

    Durante il corso di intelligenza artificiale era stato realizzato un risolutore per il cubo di Rubik in prolog. Abbiamo provato ad eseguire anche questo programma.
    Effettivamente la complessità del cubo di Rubik mette in evidenza tutti i limiti di efficienza del nostro interprete che però riesce ad arrivare alla soluzione correttamente.