mikrocontroller.net

Forum: PC-Programmierung Prolog in Delphi einbinden


Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Outi Outlaw (outlaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmmmm, das wäre wie nen Fiat500 in nen LKW packen.

Warum bleibste nicht bei reinem Prolog ??

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: aha (Gast)
Datum:

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

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach schnell zusammenkloppen...? und wie? vor allen dingen "schnell" wäre 
interessant.

mfg
max

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: aha (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.