To jest stara wersja strony!


Wstęp

Prolog można łatwo zintegrować z językiem ANSI C.

W SWI służy do tego podstawowy interfejs do C

Preliminaria:

  • znajomość Prologu
  • znajomość ANSI C

Cel Lab

Ćwiczenia

Etap 1

  • Uwagi na początek:
    • Praktycznie wszystkie funkcje interfejsu Prolog ↔ C SWI-Prologu zwracają TRUE w przypadku powodzenia i FALSE w przypadku błędu.
    • Nawet drobne błędy w użyciu API Prologu mogą zaowocować znaczącą destabilizacją całego programu bądź jego niewytłumaczalmnym działaniem.
  • Uruchamianie i zatrzymywanie SWI-Prologu:

Interpreter Prologu uruchamia funkcja int PL_initialise(int argc, char *argv[]), a zatrzymuje void PL_cleanup(int status). Wszystkie wywołania Prologu (poza jednym wyjątkiem opisanym w dalszej części ćwiczenia) muszą zawierać się pomiędzy tymi funkcjami.

  • Uruchamianie konsoli SWI-Prologu:

SWI-Prolog udostępnia funcję int PL_toplevel(void) umożliwającą uruchomienie standardowej konsoli kompilatora z poziomu programu w C.

#include <SWI-Prolog>
 
int main(int argc, char *argv) {
    int retval;
 
    retval = PL_initialise(argc, argv);
    if (retval == FALSE)
        return(1);
 
    ret = PL_toplevel();
 
    PL_cleanup(retval);
    return(retval);
}

Etap Y

C z Prologu

Prolog z C

Unix: polecenia systemowe

Unix: sockety

Źródła

inne

przyklady

narzedzia

pl/prolog/lab_prolog_ansic.1195503043.txt.gz · ostatnio zmienione: 2019/06/27 15:59 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0