4.3Test Logici
    Indietro Avanti

    E' possibile introdurre test logici (goal) arbitrari nella parte destra di una rtegola.
    Questi goal vanno inseriti fra parentesi graffe {.....}

    Esecuzione di goal Prolog

    Consideriamo ora il problema di voler introdurre nuovi simboli terminali, per esempio la parola "canarino", tenendo conto delle concordanze; dovremo aggiungere la regola:

    sostantivo(singolare,nome(canarino)) ---> [canarino].
    
    Se i simboli terminali da introdurre sono in numero elevato, questa scrittura puo` risultare molto pesante e puo`, inoltre, portare ad uno spreco di memoria. Un modo piu` conveniente per gestire questa operazione potrebbe essere quello di separare le informazioni raccogliendo da qualche parte quelle relative a tutti i nomi.

    Questo puo` essere realizzato combinando insieme le regole grammaticali con clausole del Prolog nel seguente modo:
    sostantivo(X,nome(Y)) ---> [Y],{isa_nome(Y,X)}.
    
    dove il predicato isa_nome esprime quali sono le parole che sono nomi e il loro numero:
    isa_nome(canarino,singolare).
    isa_nome(canarini,plurale).
    



      Approfondimenti

       IndietroAvanti