Forum: PC-Programmierung Prolog in Delphi einbinden


von Max (Gast)


Lesenswert?

Guten Abend,

ich hatte vor kurzem eine einwöchige einführung in die logische sprache 
prolog, ich empfand die sprache als sehr angenehm, war es lediglich 
nicht gewohnt logisch zu programmieren. So weit so gut, ich hab dort die 
ganze zeit mit swi prolog die programme lediglich, naja wie soll man 
sagen "ausgefragt^^". Nun wollte ich allerdings ein programm schreiben 
in delphi, wo ich allerdings für einige dinge prolog im hintergrund 
eingebunden bräuchte, also ihc möchte quasi die prologausgaben 
weiterverarbeiten können. Bzw. aus delphi heraus Prädikate, und regeln 
festlegen können.
Könnt ihr mir evtl. weiterhelfen wie ich verbindung zu delphi 
hinbekommen kann?
vielen dank im voraus
max

von yalu (Gast)


Lesenswert?

Ich habe zwar mit Prolog nicht viel am Hut, aber kurzes,
neugiergetriebenes Vorbeischauen auf derSWI-Prolog-Webseite brachte
dieses zutage:

  http://gollem.science.uva.nl/twiki/pl/bin/view/FAQ/EmbedDLL

Hilft das vielleicht weiter?
Hier steht noch mehr:

  http://gollem.science.uva.nl/twiki/pl/bin/view/FAQ/WebHome

Wenn das Embedden nicht geht, kannst du bspw. ein Delphi- und ein
Prolog-Programm über Sockets miteinander kommunizieren lassen, auch wenn
das nicht so elegant ist.

von Max (Gast)


Lesenswert?

erstmal danke für deine bemühung,
das mit der dll sieht ja schonmal interessant aus, werd ich mir gleihc 
mal die zip runterladen und reinschauen.

ansonsten die idee mit der kommunikation über sockets, hatte ich auch 
schon gehabt :D, find ich aber auch nich wirklich so super.. muss ich 
mal gucken.

ansonsten falls im einbinden von prolog erfahrung hat kann er gerne noch 
einen kommentar dalassen.
mfg
max

von Outi O. (outlaw)


Lesenswert?

Hmmmm, das wäre wie nen Fiat500 in nen LKW packen.

Warum bleibste nicht bei reinem Prolog ??

von Max (Gast)


Lesenswert?

Das ist natürlich ein guter punkt.., daran hab ich noch garnich so 
gedacht, weil ich prolog noch nicht so lange gemacht habe und da (bis 
jetzt) keine ahnung habe, ob man da ne kleine grafische oberfläche für 
entwickeln kann. Ich hab wie gesagt bis jetzt immer nur kleine sachen 
damit geschrieben, wie automatische sudoku oder magische quadrate 
ausfüller und weiss im mom nur dass ich das mit swi prolog, mir ausgeben 
lassen kann.
Und da hab ich gedacht dass ich sicherlich delphi oder c brauche um die 
ausgaben dann später mal weiterzuverarbeiten.
Aber auch nur bei prolog bleiben könnte wäre es noch besser!

mfg
max

von aha (Gast)


Lesenswert?

Prolog ist im Wesentlichen ein Parser und ein Backtrack Algorithmus. 
Beides kann man schnell mal zusammenkloppen in Delphi

von Max (Gast)


Lesenswert?

ach schnell zusammenkloppen...? und wie? vor allen dingen "schnell" wäre 
interessant.

mfg
max

von yalu (Gast)


Lesenswert?

@aha:

> Prolog ist im Wesentlichen ein Parser und ein Backtrack Algorithmus.
> Beides kann man schnell mal zusammenkloppen in Delphi

Naja, immerhin besteht der Kern SWI-Prolog-System aus ca. 1e5 Codezei-
len. Dazu kommen die Packages, die ein Vielfaches dieses Umfangs haben.
Ich glaube nicht, dass jemand so etwas schnell¹ mal zusammenkloppt.

Und wenn du dir das Inhaltsverzeichnis des Manuals anschaust, wirst du
erkennen, dass das System aus sehr viel mehr als nur dem Parser und dem
Backtracker besteht:

  http://gollem.science.uva.nl/SWI-Prolog/Manual/Contents.html

———————————
¹) Unter "schnell" verstehe ich in diesem Zusammenhang einen langen
Abend, aber selbst ein paar Wochen sind dafür sicher noch viel zu
optimistisch geschätzt.

von aha (Gast)


Lesenswert?

Der nicht ganz passende Kontext von Prolog ist, dass diese Sprache 
geschriebene Sprache, ASCII verarbeitet. Es gibt eigentlich keine 
Binaerdaten. Zumindest habe ich das so in Erinnerung. Eine normale 
Programmiersprache verarbeitet aber Daten in einer binaeren Form. Nun 
sollte man sich entscheiden, ob man wirklich ASCII strings in Delphi 
verabreiten will, oder was das Ganze soll.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.