Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
pl:miw:miw08_prolog_java:interprolog [2008/03/31 00:22]
miw
pl:miw:miw08_prolog_java:interprolog [2019/06/27 15:50] (aktualna)
Linia 1: Linia 1:
 +==== 1. Faza implementacji - uwagi, problemy. ====
 <code java> <code java>
 import com.declarativa.interprolog.* ; import com.declarativa.interprolog.* ;
Linia 27: Linia 28:
  at HelloWorld.main(HelloWorld.java:​8)  at HelloWorld.main(HelloWorld.java:​8)
 </​code>​ </​code>​
 +
 +Strony przydatne przy pojawieniu się tego typu problemów:
 +[[http://​www.nabble.com/​Re:​-interprolog-%2B-windows-(solved)-(fwd)-td15907118.html]]
 +
 +Korzystając z XSB
 +<code java>
 +Exception in thread "​main"​ com.declarativa.interprolog.util.IPException:​ Could not launch Prolog executable:​java.io.IOException:​ CreateProcess:​ null\xsb error=2
 + at com.declarativa.interprolog.SubprocessEngine.<​init>​(SubprocessEngine.java:​171)
 + at com.declarativa.interprolog.SubprocessEngine.<​init>​(SubprocessEngine.java:​176)
 + at com.declarativa.interprolog.SubprocessEngine.<​init>​(SubprocessEngine.java:​184)
 + at com.declarativa.interprolog.SubprocessEngine.<​init>​(SubprocessEngine.java:​188)
 + at com.declarativa.interprolog.XSBSubprocessEngine.<​init>​(XSBSubprocessEngine.java:​33)
 + at HelloWorld.main(HelloWorld.java:​6)
 +
 +</​code>​
 +
 +Okazało się, że bez podania w konstruktorze SWIPrologEngine dokładnej ścieżki do pliku uruchomieniowego prologu.
 +
 +<code java>
 +import com.declarativa.interprolog.* ;
 +import com.declarativa.interprolog.util.* ;
 +import com.declarativa.interprolog.swi.* ;
 +
 +public class HelloWorld {
 +
 + public static void main(String [] args) {
 + PrologEngine engine = new SWISubprocessEngine("​C:​\\Programme\\pl\\bin\\plcon.exe"​) ;
 + boolean test = false ;
 + test = engine.deterministicGoal("​listing"​) ;
 + System.out.println("​Rezultat:​ " + test) ;
 + }
 +}
 +
 +</​code>​
 +Okazuje się również, że nie należy podawać kropki na końcu wywołanego polecenia prologowego.
 +
 +==== 2. Implementacja systemu eksperckiego. ====
 +
 +<code java>
 +import com.declarativa.interprolog.* ;
 +import com.declarativa.interprolog.gui.SWISubprocessEngineWindow;​
 +
 +public class CarInterProlog {
 +
 + public static void main(String [] args) {
 + SWISubprocessEngine engine = new SWISubprocessEngine("​C:​\\Programme\\pl\\bin\\plcon.exe"​) ;
 + SWISubprocessEngineWindow window = new SWISubprocessEngineWindow(engine) ;
 +
 + engine.deterministicGoal("​[car]"​) ;
 + engine.deterministicGoal("​start"​) ;
 + }
 +}
 +</​code>​
 +
 +
 +
 +
 +
 +==== 3. Instrukcja uruchomienia systemu eksperckiego. ====
 +
 +Opis uruchomienia kodu (z rozdziału 2):
 +  - Powyższy kod należy skopiować np. do notatnika i zapisać go pod nazwą **CarInterProlog.java** oraz należy zmienić ścieżkę (w kodzie) do pliku uruchomieniowego prologu w konstruktorze SWISubprocessEngine() na ścieżkę na danej maszynie, jeżeli jest inna (czyli należy zmienić napis **C:​\\Programme\\pl\\bin\\plcon.exe**).
 +  - Do tego samego katalogu w którym zapisaliśmy powyższy plik należy zapisać plik **car.pl** oraz **getyesno.pl** (pliki można poprać [[pl:​prolog:​prolog_lab:​prolog_lab_2#​cwiczenieprosty_system_ekspertowy|tutaj]]).
 +  - Należy na konsoli wejść do katalogu, gdzie znajdują się pliki z naszymi programami.
 +  - Należy wywołać następujące polecenie (w konsoli): **javac -cp INTERPROLOG_HOME\interprolog.jar CarJPL.java**,​ gdzie INTERPROLOG jest katalogiem, w którym znajduje się InterProlog (czyli np. C:​\Programy\interprolog212).
 +  - Powyższy kod jest skompilowany i gotowy do uruchomienia. Aby go uruchomić należy w konsoli wywołać następujące polecenie: **java -cp INTERPROLOG_HOME\interprolog.jar;"​."​ CarInterProlog**,​ gdzie INTERPROLOG jest katalogiem, w którym znajduje się InterProlog (czyli np. C:​\Programy\interprolog212).
 +
pl/miw/miw08_prolog_java/interprolog.1206915771.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