Back to site

W-Prolog

Source: http://waitaki.otago.ac.nz/~michael/wp/



W-Prolog

Avainresurssina
Links 2 Go avainresurssina
Prolog aihe

Sisällysluettelo

1. Johdanto 
1,1 Distribution 
2. Language 
3. Käyttö 
3,1 upottaminen W-Prolog Engine 
4. Käyttöliittymä 
4,1 Applet 
4,2 Application 
5. Kommentit 
5,1 Bugs 
5,2 jatkotyöskentely 
6. Related Work Liitteet A. Historia B. Lakikieli





Uusi versio (1.2.1) korjaa vian kanssa yhdistyminen muuttujan itselleen.

1. Johdanto

W-Prolog on tulkkina Prolog kuten kieli toteutetaan Java. Täytäntöönpano on erittäin kannettava ja voi käynnistää sovelman mukaan Java-yhteensopivaa selaimissa.

W-Prolog on mukavampi käyttäjälle käyttöliittymän kuin useimmat Prolog järjestelmissä (joka tavallisesti antaa komennon line interface). Se tarjoaa yksinkertaisen jäljittämistä ja on (valinnainen) esiintyy tarkistaa.

W-Prolog on pieni ja suhteellisen yksinkertainen. Ei kuitenkaan ole erityisen nopeaa.

W-Prolog on:

1.1 Jakelu

W-Prolog on saatavana lähdekoodina (WProlog.java), ja zip-tiedosto sisältää class-tiedostot (wp.zip).

UUSI W-Prolog on nyt saatavilla myös klikattava jar tiedosto (wp.jar)

Jos haluat kokeilla W-Prolog nyt (ja katselee tätä Java yhteensopivaa selainta) klikkaa alla olevaa painiketta.

2. Language

Kieli on antanut seuraavat yksinkertaiset kielioppi:

Program::= Rule | Rule Program 
Query::= Term 

Rule::= Term. | Term :- Terms. 
Terms::= Term | Term, Terms
Term::= Number | Variable | AtomName | AtomName(Terms) 
[] | [Terms] | [Terms | Term] 
print(Term) | nl | eq(Term, Term) 
if(Term, Term, Term) | or(Term, Term ) | not(Term) | call(Term) | once(Term) 
Number::= Digit | Digit Number 
Digit::= 0 |... | 9 
AtomName::= LowerCase | LowerCase NameChars 
Variable::= UpperCase | UpperCase NameChars 
NameChars::= NameChar | NameChar NameChars 
NameChar::= a |... | z | A |... | Z | Digit 

 

a:- b. a:- c. b:- defn. c:- defn. 
and not:
a:- b. b:- defn. a:- c. c:- defn. 

3. Käyttö

W-Prolog voi käynnistää sovelman tai itsenäisenä sovelluksena. Se voi myös upottaa ja kutsui toisesta ohjelmasta.

Voit käyttää W-Prolog kuin sovelma rakentaa HTML-tiedoston, joka sisältää tag:

<center> <h1>W-Prolog</h1> <applet code=WProlog.class width=120 height=65> </applet> </center> 
ja käyttää netscape (tai Internet Explorer) tiedoston avaamiseen.

Vaihtoehtoisesti, voit käyttää osoitetta http://www.cs.rmit.edu.au/~ winikoff/WP/.

Voit käyttää W-Prolog itsenäisenä sovelluksena täytyy olla Java Development Kit (JDK). Komento on java WProlog missä sisältävä hakemisto luokan tiedostojen pitää olla CLASSPATH.

3,1 upottaminen W-Prolog Engine

W-Prolog päätelmää moottori voidaan kutsua Java-koodia. Ohjelma Go.java näyttää miten tämä tehdään.

4. Käyttöliittymä

Käyttöliittymä on erilainen appletteja. Me yhteisiä näkökohtia ensin.

Ylärivissä (merkitty kysely) sisältää kentässä, johon Prolog atomi voidaan kirjoittaa (esim. append (X, Y, [1,2,3,4]) - merkille, että ei päättyvät piste on välttämätöntä). Ensimmäinen painike (Run Query) alkaa kysely käynnissä ja toinen (More) pyrkii vaihtoehtoisia ratkaisuja onnistuneen kyselyn.

TOP text alue (merkitty Program) sisältää ohjelman tekstin. Pohja tekstialue (merkitty Results) sisältää ulostulo W-Prolog. Painiketta, jossa lukee Tyhjennä tyhjentää tulokset tekstikenttään. Kaksi kytkee (Esiintyy Check ja Trace) määräysvallan osalta, onko esiintyy tarkastus tehdään ja onko jäljittämiseen tiedot lähtö.

Voit lopettaa W-Prolog joko napsauttamalla Sulje ikkuna-painiketta (jos ikkuna manager toimittaa yhden tai jos käytät Windows) tai valitse Poistu valikosta.

4,1 Applet

[Kuva WProlog appletti]Sovelmat on useita rajoituksia - Esimerkiksi ne eivät voi kirjoittaa tiedostoja tai avoimen verkon yhteyksiä mielivaltaisesti koneita. Tämän seurauksena (ja sen vuoksi, vikojen määrä Netscape) sovelman version W-Prolog ei salli lastaus-ja säästää ohjelmia.

Sovelma versio W-Prolog on neljä painiketta:

Benchmark :
Toimii vakio naiivi päinvastoin vertailuindeksin. Kaavan 496/runtime antaa nopeuden looginen päätelmät sekunnissa.
About... :
Laittaa joitakin lyhyitä tietoa kirjailija (Michael Winikoff) ja versio (nykyisin 1,2) ohjelmaan tekstikenttään.
Liitä :
Laittaa yksinkertainen append ohjelma tekstikenttään.
Dokumentaatio :
Avaa selainikkuna tähän tiedostoon.

4.2 Sovellus

[Kuva WProlog Application]Kun ajaa itsenäisenä sovelluksena neljä painiketta korvataan tiedosto lastaus ja säästää voimavaroja. Tiedoston nimi näkyy (ei-muokattava) tekstikenttä (merkintä Tiedosto:). Painike Load tuo vakiotiedostomuoto pyynnön ja lataa valitun tiedoston. Tallenna- painike kirjoittaa ohjelman tiedostoon, josta se on ladattu.

5. Comments

On suositeltavaa, että W-Prolog ajetaan itsenäisenä sovelluksena. Aiemmat versiot W-Prolog tukee tiedostojen lataaminen on sovelma versiossa. Tämä toimi flawlesly kun ajetaan Sunin appletviewer mutta kieltäytyi työskentelemään Netscape.

Toinen esimerkki toivotun käyttäytymisen mukaan Netscape koskee kierteet. Jokainen kysely W-Prolog toimii omassa säiettä. Tämä tarkoittaa, että pitkään käynnissä (tai muu lopettaa), kyselyä ei jäädy liitäntä (vaikka se hidastaa subsequant kyselyihin alaspäin). Tämä toimii, mutta ei Netscape.

5,1 Bugs

Ei tunnettuja nykyisiä virheitä. Ota Kerrothan, jos löydät.

5,2 jatkotyöskentely

Tällä hetkellä en odota ottaa aika laajentaa W-Prolog lähitulevaisuudessa. Tulevaisuuden laajennukset kuuluisi:
sum(X, zero, X). sum(X, succ(Y), succ(Z)):- sum(X, Y, Z).  product(X, zero, zero).product(X, succ(Y), Z):- sum(X, P, Z), product(Y, X, P). 

6. Liittyvä työ

Paul Tarau ja Bart Demoen on kirjoittanut Prolog-tulkki Java. Heidän tulkki kokoaa Prolog (ja on nopeampi!), Mutta ei ole GUI. Heidän työnsä on saatavilla http://www.cs.kuleuven.ac.be/~ BMD/PrologInJava/.

Toinen Prolog tulkki Java löytyy täältä. Näyttää valitettavasti siltä käyttää Lisp-ese syntaksi ja ole asiakirjoja!

Päivitys: Koska olen kirjoittanut W-Prolog, ja tämä sivu useita muita logiikan ohjelmointikielten toteutettu Java on ilmestynyt (mm. LL, JavaLog, dzinni ja Minerva). Löydät linkit kaikkiin näihin Robert Tolksdorf n sivun Kielet Java VM.


A History

Versio 1.0

Ensimmäinen julkaisu lokakuussa 1996. Ran applet selainikkunassa. Ensimmäinen Java-ohjelma, kirjoitettu hieman yli viikon. W-Prolog 1.0 oli ensimmäinen Prolog-tulkki Javalla. Se julkaisua seurasi vapautumista Demoen ja Tarau n kääntäjä (joka itse asiassa oli koota ja käynnissä Prolog koodia elokuussa 1996).

Versio 1.1

Versio 1.2

Version 1.2.1

B. lakikieli

Voit vapaasti käyttää W-Prolog yksityis-tai akateemisen (tutkimus ja opetus) käyttöön. Jos muu käyttö (esim. kuten W-Prolog CD-tai arkisto), ota yhteyttä minuun.

Kun teet kopioita, pitäkää kaikki tiedostot yhdessä (mukaan lukien tämä dokumentaatio) ja ei muuta mitään.

translated by OL
Published (Last edited): Apr 20