If-Parser + Interpreter

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hi,

ich schreibe ein Programm, dass if-anweisungen verstehen soll. Nichts wirklich Weltbewegendes.
Die Anweisungen sollen in etwa so aussehen:
Code:
if(text1=text2)then("Hallo")else("Tschüß")
In der IF-Bedingung werden immer nur 2 texte miteinander verglichen. Allerdings sollte es auch möglich sein verschaftelte IF-Abfragen zu verwenden.
Kennt da jemand einen Parser bzw. Interpreter, den ich verwenden könnte?
Oder muss ich mich da selbst dran wagen? (Wenn ja, wo bekomme ich dazu Hilfestellung?)

Danke Euch schonmal!
 
B

Beni

Gast
Sowas könnte man doch auch ganz gut mit XML umsetzen. Vielleicht irgendwie in die Richtung:
Code:
<if texta=... textb=...>
  <if texta=... textb=... then=.../>
</if>
<else then=.../>
 
G

Gast

Gast
Da kommt mir grade folgendes in den Kopf: Seit Java6 ist ja eine JavaScript Engine mit eingebaut. Heisst dass, dass ich während der Laufzeit JavaScript ausführen kann? (Falls das so ist, kennt da jemand eine kleine Einführung zu?)
Wenn ja wäre das ja im Prinzip die Lösung für mein Problem.

Danke
 
G

Guest

Gast
Also, es schein vielversprechend zu sein. Bis jetzt hab ich folgenden Ansatz:
Code:
ScriptEngineManager sem = new ScriptEngineManager();
ScriptEngine engine = sem.getEngineByExtension("js");
Object o = engine.eval("\"Vortext\"; if (\"Passwort\" != \"Passwort\") { if(1=1) {\"Ja\"} else {\"Nein\"}; } else {\"geheim.htm\"}" );
System.out.println( o.getClass() );

Da gibts aber leider 2 Probleme:
1. Verschachtelte Ifs (wie oben im Beispiel) führen zu einem Fehler
2. Wie mache ich es, dass ich vor bzw. nach dem If noch Text anfügen kann? (Wie es oben im Bsp ist führt es zu einem Fehler)

Danke
 

me1357

Mitglied
Also so klappt es:
Code:
Object o = engine.eval("var result;" +
        "if (\"Passwort\" != \"Passwort\")" +
        "  {" +
        "  if ( 1 == 1 )" +
        "    { result = \"Ja\"; }" +
        "  else" +
        "    { result = \"nein\"; }" +
        "  }" +
        "else" +
        "  { result = \"geheim.htm\";}" +
        "\"vortext: \" + result;");
 
G

Guest

Gast
OK, danke soweit.

Aber noch 2 "unschöne" sachen:
1. Der User gibt im Programm den JavaScript code ein - d.h. es wäre schöne, wenn man irgendwie auf die Variableverzichten könnte!
2. Mit Vortext war gemeint, dass vor den If-Abfragen noch eine Textausgabe stattfinden soll!

Gibt es dafür auch noch eine Lösung?

Danke
 

masta // thomas

Bekanntes Mitglied
Irgendwie finde ich den JavaScript Ansatz scheisse... warum baust du dir keinen kleinen Parser dafür? In der FAQ gibt es einen mathematischen Parser, da siehst du, wie sowas gemacht wird.
 
G

Gast

Gast
@masta // thomas: ich sehe das genauso, aber ich hab im Moment leider keine Zeit mir einen Parser/Interpreter zu bauen.
Idealerweise gibt es irgendwo schon so einen einfachen Parser, den ich mir einfach nur kopieren müsste.
Kennt jemand eine Quelle wo ich sowas finde??? Oder hat das vielleicht schon mal jemand selbst gemacht?

Gruß
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Ras Unterschied zwischen parser xml and api xml Java Basics - Anfänger-Themen 7
B Parser dynamisieren Java Basics - Anfänger-Themen 7
W Einfachen, ein beliebiges Zeichen oft erkennenden Regex Parser selber schreiben - wie vorgehen? Java Basics - Anfänger-Themen 12
D Input/Output CSV Parser list unvollständig Java Basics - Anfänger-Themen 25
U DOM Parser, kleine Frage Java Basics - Anfänger-Themen 29
H java date-time parser Java Basics - Anfänger-Themen 1
X SAX Parser, wie weit ist der eigentlich? Java Basics - Anfänger-Themen 6
O HTML -> BBCode Parser? Java Basics - Anfänger-Themen 3
J kleiner Fehler im FAQ Parser für mathematische Formeln Java Basics - Anfänger-Themen 5
H Welcher Html-Parser? Java Basics - Anfänger-Themen 8
M htlm parser Java Basics - Anfänger-Themen 8
U Benötige ich einen Parser? Java Basics - Anfänger-Themen 2
T Parser mit switch "Weg" ausgeben? Java Basics - Anfänger-Themen 5
A html parser Java Basics - Anfänger-Themen 5
T XML Parser Java Basics - Anfänger-Themen 21
data89 Frage zum FAQ-'Parser für mathematische Formeln' Java Basics - Anfänger-Themen 4
T Wofür Parser?? Java Basics - Anfänger-Themen 39
A Gettext-Parser: Rad neu erfinden Java Basics - Anfänger-Themen 6
G Eigener Parser Java Basics - Anfänger-Themen 4
G guter Parser Java Basics - Anfänger-Themen 4
G Parser liefert StackOverflow error Java Basics - Anfänger-Themen 6
L URL Parser (String zusammensetzen) Java Basics - Anfänger-Themen 2
E HTML Parser Java Basics - Anfänger-Themen 8
B Parser HTML Java Basics - Anfänger-Themen 10
J Noch ein Parser Problem Java Basics - Anfänger-Themen 7
J Richtigen Parser wählen Java Basics - Anfänger-Themen 2
M.C.S. Parser: Flut von Variablen und if-Conditions eindämmen Java Basics - Anfänger-Themen 4
A Parser Java Basics - Anfänger-Themen 4
S Interpreter wird nicht gefunden Java Basics - Anfänger-Themen 1
C Eigene Interpreter-Programmiersprache mit Java Java Basics - Anfänger-Themen 17
P Java Interpreter No Class def found Java Basics - Anfänger-Themen 15
A Synchrone Daten mit JAva und JAva ohne Interpreter starten Java Basics - Anfänger-Themen 5
D JIT vs. Interpreter: konkreter Unterschied? Java Basics - Anfänger-Themen 22
M Interpreter Java Basics - Anfänger-Themen 3
R Interpreter funktioniert nicht Java Basics - Anfänger-Themen 17
N mit .bat Dateien den Javaw Interpreter starten? Java Basics - Anfänger-Themen 5
U Einen Interpreter bauen? Java Basics - Anfänger-Themen 12
M Interpreter Java Basics - Anfänger-Themen 20

Ähnliche Java Themen

Neue Themen


Oben