Frank Schönmann: String als boolescher Ausdruck

Beitrag lesen

hi!

Ich möchte in einem Java-Servlet einen booleschen Ausdruck als
String übergeben (z.B. "1==1"). Gibt es jetzt eine Möglichkeit,
ohne dass ich einen Parser basteln muss, diesen String direkt als
booleschen Ausdruck zu verwenden ??

Nein, das geht in Java nicht. Dazu müsste man ja einen Ausdruck
innerhalb eines Programms selbst evaluieren können. Sowas ist zum
Beispiel in Perl oder anderen Skriptsprachen möglich. Aber nur, weil
es sich dabei um interpretierte Sprachen handelt.

Bei kompilierten Sprachen müsstest du ja dann immer einen kompletten
Compiler mitliefern, um diese Laufzeit-Evaluierung zu realisieren,
was aber praktisch nur schlecht möglich ist.

Vielleicht hat ja auch jemand schon so einen Parser und kann ihn
mir zur Verfügung stellen ??! :-)

Was heißt Parser? Der Parser überprüft ein Wort lediglich auf
Korrektheit der Syntax, nichts anderes. Da ist in diesem Fall schon
ein bisschen mehr nötig.

Allerdings stelle ich mir sowas nicht sonderlich kompliziert vor, da
du ja nur einige sehr einfache Ausdrücke verwerten willst. Evtl. gibt
es ja im Netz in Sammlungen von Java-Paketen passende Klassen- oder
Klassenhierarchien. Ich kenne keine.

bye, Frank!