next up previous Sommario
Next: 6.2.2.1 Analizzatore Up: 6.2 Schema Previous: 6.2.1 Tipi, modi e   Sommario

6.2.2 Traduttore

Il traduttore è un metaprogramma che ha i seguenti compiti:

analizzare
ogni definizione di predicato del programma oggetto P per ottenere una partizione di tali predicati in due sottoinsiemi: quelli che terminano (P1) per queries non ground del tipo $\leftarrow p(\bar{x})$, per ogni $p$ predicato di P, e quelli che possono non terminare (P2), sotto la medesima ipotesi, che nel seguito sarà sempre valida, se non specificato diversamente.
sintetizzare
i complementi di P1 e P2: P1 limitandosi a lasciare indicata la negazione, per mezzo della clausola $\sim p(\bar{x}) \leftarrow not p(\bar{x})$ che verrà poi trattata a tempo di esecuzione, P2 secondo la negazione intensionale.
fondere
i due complementi calcolati in un unico programma che rappresenti il complemento calcolato di P.



Subsections

Roberto Giungato 2001-03-14