Hallo,
ich habe folgendes Problem. Wir sollen eine XML-Datei mit SAX Parsen und die arithmetischen Ausdrücke in polnischer
Notation ( z.b. +(1,-(3,1)) ) auswerten. eine XML-Datei wäre z.b. :
Habe mir jetzt ein Programm geschrieben das beim Parsen eine Liste der Form [+, (, -, (, 3, 4, ), -, (, 3, -, (, 3, 4, ), ), )] erzeugt (bezogen auf obige XML-Datei).
Hab mir auch eine String erzeugt: add(sub(3,4),sub(3,sub(3,4))).
Und jetzt meine Frage kann ich den String benutzen um das Ergebnis auszurechen ( a la int erg = add(1,sub(..)) , wenn add und sub als Funktionen bekannt sind),
oder ist die Liste hilfreicher, oder kann ich den Wert trotz der möglichen Verschachtelungen direkt beim Parsen berechnen?
thx, mbg.
ich habe folgendes Problem. Wir sollen eine XML-Datei mit SAX Parsen und die arithmetischen Ausdrücke in polnischer
Notation ( z.b. +(1,-(3,1)) ) auswerten. eine XML-Datei wäre z.b. :
Code:
<?xml version="1.0" encoding="UTF-8"?>
<Expr xmlns="http://www-mmt.inf.tu-dresden.de/expr"
xmlns:mpeg7="http://www.mpeg7.org/2001/MPEG-7_Schema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www-mmt.inf.tu-dresden.de/expr arithm_expr.xsd">
<Term type="+">
<Term type="-">
<Const>3</Const>
<Const>4</Const>
</Term>
<Term type="-">
<Const>3</Const>
<Term type="-">
<Const>3</Const>
<Const>4</Const>
</Term>
</Term>
</Term>
</Expr>
Habe mir jetzt ein Programm geschrieben das beim Parsen eine Liste der Form [+, (, -, (, 3, 4, ), -, (, 3, -, (, 3, 4, ), ), )] erzeugt (bezogen auf obige XML-Datei).
Hab mir auch eine String erzeugt: add(sub(3,4),sub(3,sub(3,4))).
Und jetzt meine Frage kann ich den String benutzen um das Ergebnis auszurechen ( a la int erg = add(1,sub(..)) , wenn add und sub als Funktionen bekannt sind),
oder ist die Liste hilfreicher, oder kann ich den Wert trotz der möglichen Verschachtelungen direkt beim Parsen berechnen?
thx, mbg.