Regelinterpreter

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Regelinterpreter

Beitragvon ABoehlke » 25. Okt 2016, 13:16 Regelinterpreter

Hallo Zusammen,

ich benötige in einem eigenen Programm die Möglichkeit "Verhaltensregeln" extern in einer Konfigurationsdatei zu hinterlegen.
In dieser sollen dann in irgendeiner Syntax Regeln in der Form [if x > y then doanything else doanotherthing] angegeben werden können.

Jetzt kann man sich sicher eine eigene Syntax hierfür überlegen. Ich bin aber sicher nicht der erste der so etwas benötigt.

Meine Frage:
Kennt jemand eine Komponente(Regelinterpreter) die einen gewissen Rahmen zur Verfügung stellt. Bzw. gibt es bestimmte Ansätze um ein solches Problem zu lösen?
ABoehlke
 
Beiträge: 9
Registriert: 24. Jul 2008, 16:13

Beitragvon Thandor » 25. Okt 2016, 13:47 Re: Regelinterpreter

Das könnte man mit einer Scriptsprache wie Python oder lua machen.
Thandor
 
Beiträge: 103
Registriert: 30. Jan 2010, 18:17
Wohnort: Berlin
OS, Lazarus, FPC: Windows 10 64Bit/ lazarus 1.6 mit FPC 3.0.0 (32Bit) | 
CPU-Target: 64Bit
Nach oben

Beitragvon ABoehlke » 25. Okt 2016, 14:12 Re: Regelinterpreter

Danke für die Info.
Ich werde mir Beide mal näher ansehen und mich wieder melden.
ABoehlke
 
Beiträge: 9
Registriert: 24. Jul 2008, 16:13

Beitragvon Warf » 25. Okt 2016, 14:16 Re: Regelinterpreter

Thandor hat geschrieben:Das könnte man mit einer Scriptsprache wie Python oder lua machen.

Warum dann nicht gleich pascal Script, ich glaube die scriptsprache funktioniert mit fpc am besten
Warf
 
Beiträge: 616
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: Mac OSX 10.11 | Win 10 | FPC 3.0.0 | L trunk | 
CPU-Target: x86_64, i368, ARM
Nach oben

Beitragvon marcov » 25. Okt 2016, 14:48 Re: Regelinterpreter

Fuer einfache Formel kann man viel besser einen Expression Parser nutzen. FPC hat zwei davon. Beide verstehen glaube ich auch "boolean" typen.
marcov
 
Beiträge: 999
Registriert: 5. Aug 2008, 08:37
Wohnort: Eindhoven (Niederlande)
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk) | 
CPU-Target: 32/64,PPC(+64), ARM
Nach oben

Beitragvon ABoehlke » 25. Okt 2016, 15:36 Re: Regelinterpreter

@warf:
Das ich mit Pascal-Script experimentiert habe ist schon eine Zeitlang her. Ich meine mich aber zu erinnern das dieses letztendlich dann doch zur Ausführung kompiliert wurde.
Für mich ist es wichtig die Regeln in einer Konfigurationsdatei abzulegen um aus meinem Programm heraus diese abzuarbeiten.

@marcov: Welche Expression Parser meinst Du denn. Ich habe mir mal den RegEx-Parser angesehen und bin im ersten Eindruck der Meinung dass dieser nicht ausreicht. Aber vielleicht habe ich auch noch nicht alle Möglichkeiten erkannt.
ABoehlke
 
Beiträge: 9
Registriert: 24. Jul 2008, 16:13

Beitragvon wp_xyz » 25. Okt 2016, 15:55 Re: Regelinterpreter

ABoehlke hat geschrieben:@warf:
@marcov: Welche Expression Parser meinst Du denn. Ich habe mir mal den RegEx-Parser angesehen und bin im ersten Eindruck der Meinung dass dieser nicht ausreicht. Aber vielleicht habe ich auch noch nicht alle Möglichkeiten erkannt.

Der eine ist "symbolic", mit dem ich selbst noch nicht gearbeitet habe. Für den anderen, "fpexprpars", habe ich mal ein Tutorial geschrieben: http://wiki.lazarus.freepascal.org/How_ ... sionParser
wp_xyz
 
Beiträge: 2251
Registriert: 8. Apr 2011, 08:01

Beitragvon ABoehlke » 8. Nov 2016, 13:56 [solved]Re: Regelinterpreter

Ich habe mich die letzten Tage in die von Euch gemachten Vorschläge eingelesen und werde nun versuchen mit fpExprParser meine Anforderungen umzusetzen.

Danke noch mal für Eure Unterstützung :!:
ABoehlke
 
Beiträge: 9
Registriert: 24. Jul 2008, 16:13

• Themenende •

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried