La programación en lógica rebatible es una extensión de la programación en lógica que captura aspectos del razonamiento del sentido común que son difíciles de expresar en la programación en lógica tradicional. Los programas lógicos rebatibles (PLR) permiten representar información incompleta y potencialmente inconsistente, y utilizan los conceptos de la argumentación rebatible a fin de poder decidir entre metas contradictorias.
El objetivo de este trabajo es presentar un compilador que se desarrolló para los programas lógicos rebatibles, Dicho compilador toma como entrada un PLR, y produce como salida un programa en instrucciones de una máquina abstracta para la programación rebatible llamada JAM.
Para realizar este trabajo, se combinaron técnicas convencionales de compilación, como el análisis recursivo descendente, con técnicas especiales para la programación en lógica. De esta forma, cada cláusula de programa puede compilarse por separado e integrarse a un único código ejecutable. Esto permite que el programa este dividido en varios archivos, o agregar nuevas cláusulas al programa sin necesidad de recompilar el programa entero. El compilador además permite la generación de código para predicados predefinidos del lenguaje.
El compilador construido puede utilizarse también para traducir programas en Prolog a códigoWAM (Warren’s Abstract Machine), y podría modificarse fácilmente para producir compiladores para otras extensiones de la programación en lógica.