Różnice

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

Odnośnik do tego porównania

pl:miw:miw08_prolog_java:interprolog [2008/05/26 02:22]
miw
pl:miw:miw08_prolog_java:interprolog [2019/06/27 15:50]
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 kodu (z rozdziału 2): 
-  - Powyższy kod należy skopiować np. do notatnika i zapisać go pod nazwą **CarInterProlog.java** oraz zmienić ścieżkę do pliku uruchomieniowego prologu w konstruktorze SWISubprocessEngine() na ścieżkę na danej maszynie (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.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