Funktions-Parser gesucht



  • Ich bin gerade auf der Suche nach einem Funktions-Parser in Java. Kenn ihr da einen guten? Wenn er dazu auch noch ableiten und integrieren könnte wäre das natürlich Klasse, muss aber nicht unbedingt sein!
    Also ich will halt, dass in ein TextField eine Funktion eingegeben werden kann und dann mithilfe von Schiebereglern einzelne Parameter verändert werden können! Es läuft auch schon soweit alles, nur der Parser fehlt eben noch 😉

    Falls ihr also einen guten kennt würde ich mich sehr freuen, wenn ihr mir diesen mitteilt 🙂



  • Dummer Zufall, dass ich grad einen OO Taschenrechner mach. Nur eben in C++ :D. Naja, is ja nun wirklich nich so schwierig nen Parser zu machen, wenn keine Zuweisungen ins Spiel kommen.



  • Wenn er richtig gut und zuverlässig arbeiten soll wird das aber schon etwas umfangreicher (wenn er nicht nur plus und minus können soll 😉 ). Außerdem gibt es da doch sicher schon irgendwo was fertiges 🙄



  • naja, das geht noch unter 200 zeilen. wenn mans richtig macht. mein etwas besserer (aber obsoleter, wird neu geschrieben) parser hat insgesamt etwa 300 zeilen gebraucht (und der hat variablen und schwache typen unterstützt). das is arbeit von 4 stunden, grob geschätzt. und glaub nich, meiner wäre nich zuverlässig gewesen! (cengizs zumindest konnte ihn nich reinlegen)
    in java kann ich dir leider keinen anbieten... obwohl es bestimmt einen gibt



  • Naja, dann werd ich mich wohl selber umschauen müssen 😉



  • sag doch mal, was er so alles können soll...



  • - Addition, Subtraktion, Multiplikation,Division
    - Potenz (Wurzel ist ja eigentlich auch nichts anderes
    - Trigonometrische Funktionen (sin, cos, tan, ...)

    Was auch nicht schlecht wäre, aber nicht Vorraussetzung:
    - differenzieren
    - integrieren

    Ich will damit dann eben Parameterfunktionen darstellen (die Parameter lese ich vorher in entsprechende Variablen ein. Also falls jemand was kennt - nur her damit 😉



  • Original erstellt von flenders:
    [QB]
    - differenzieren
    - integrieren
    [QB]

    lol



  • Sowas hab ich schon gesehen! Allerdings war der Source-Code da nicht einsehbar 😞



  • klar, Maple



  • Kuck mal unter JMath

    [ Dieser Beitrag wurde am 23.03.2003 um 10:21 Uhr von CengizS editiert. ]



  • So wie ich das gesehen habe ist das ein command-line frontend für Mathematica 🙄
    Falls du was anderes meintest bitte ich um einen Link!

    Ich suche eigentlich was kleines, das ich direkt einbinden kann! Das mit ableiten und integrieren muss auch nicht sein - wär halt eine schöne Spielerei gewesen 😉

    Nachher soll das Ganze etwa so aussehen:
    - ich lese die Position von mehreren Scrollbars in die Variablen a,b,c,d,... ein
    - jetzt laufe ich in einer Schleife durch die x Werte meiner Zeichenfläche (z.B. von -10.0 bis 10.0 in Schritten von 0.1)
    - dazu soll in der Schleife jeweils der Funktionswert einer in ein Textfeld eingegebenen Funktion (unter Verwendung der Parameter a,b,c,...) berechnet werden

    Falls dass ganze mit geringem Aufwand doch etwas zu unrealistisch (sprich: für mich machbar) ist, lass ich es eben 😞



  • Kennt jemand einen guten Algorithmus für einen Funktionsparser? Irgendwie komischer Zufall, ich schreibe gerade an einem Funktionszeichner in Java, dazu brauch ich sowas auch, und hab mit Hilfe einer rekursiven Funktion auch was hingekriegt... Ich bin aber nicht wirklich zufireden, vor allem haben sich Fehler eingeschlichen, ich will den nochmal neu anfangen. Hat jemand ein paar Tipps zum zerlegen einer Funktion?

    Hab ihn kurz mal hochgeladen, wie er bis jetzt ist: http://www.kindermusikkreis.de/funktionszeichner.htm

    [ Dieser Beitrag wurde am 23.03.2003 um 13:25 Uhr von jantoware editiert. ]



  • Ich bin jetzt auf JEP bzw. JEPLite gestoßen 🙂 Kennt das jemand?

    In der Notes.txt stand beim Features-Vergleich:

    String evaluations: JEP
    Array evaluations: JEP
    Complex numbers: JEP
    Standart numbers evaluation: JEP, JEPLite
    Row/col error report: JEP

    Ist das 'String evaluations' genau das was ich brauche, oder würde dieses JEPLite ausreichen?

    Oder kennt jemand noch was besseres? Das sich auch einfach einbinden lässt? 🙂



  • Ich glaube das mit den String evaluations brauche ich doch nicht 🙂

    Using Strings
    Strings can be entered in an expression by using double quotes. They can be concatenated with the + operator and compared with the == and != relational operators. A sample expression involving the string type is "foo" + "bar" == "foobar", which would be evaluated by JEP as 1 (true).

    Naja, ich werd sie mir einfach mal anschauen 😉 🕶


Anmelden zum Antworten