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/05/26 01:19]
miw
pl:miw:miw08_prolog_java:interprolog [2008/05/26 02:23]
miw
Linia 1: Linia 1:
-==== 1. Faza implementacji - uwagi, problemy. ==== 
-<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() ; 
- boolean test = false ; 
- test = engine.deterministicGoal("​listing."​) ; 
- System.out.println("​Rezultat:​ " + test) ; 
- } 
-} 
- 
-</​code>​ 
- 
-Pojawia się podczas uruchomienia następujący błąd: 
- 
-<code java> 
-Exception in thread "​main"​ com.declarativa.interprolog.util.IPException:​ Could not launch Prolog executable:​java.io.IOException:​ CreateProcess:​ null\plcon 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.SWISubprocessEngine.<​init>​(SWISubprocessEngine.java:​29) 
- at HelloWorld.main(HelloWorld.java:​8) 
-</​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 powyższego kodu: 
-  - Powyższy kod należy skopiować np. do notatnika i zapisać go pod nazwą **CarJPL.java**. 
-  - 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 SWI_HOME\lib\jpl.jar CarJPL.java**,​ gdzie SWI_HOME jest katalogiem, w którym znajduje się SWI Prolog (czyli np. C:\Program Files\pl). 
-  - Powyższy kod jest skompilowany i gotowy do uruchomienia. Aby go uruchomić należy w konsoli wywołać następujące polecenie: **java -cp SWI_HOME\lib\jpl.jar;"​."​ CarJPL**, gdzie SWI_HOME jest katalogiem, w którym znajduje się SWI Prolog (czyli np. C:\Program Files\pl). 
  
pl/miw/miw08_prolog_java/interprolog.txt · ostatnio zmienione: 2019/06/27 15:50 (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