[C++] Funktion über cin definieren?

Playsi

Ensign
Registriert
Mai 2007
Beiträge
155
Hallo zusammen,

Ich hab mich gefragt ob es möglich ist eine Funktion per cin zu definieren.
Also ob es möglich ist aus einem Sting z.B "3*x*x-1" eine Funktion zu erstellen die dann lauten würde double f(double x){ return 3*x*x - 1;}.
Gibt es da irgendeine Funktion die sowas kann, oder gibt es da einen anderen Trick?

Greetz
 
Tja. Du kannst natürlich einen eigenen Parser für amthematische Ausdrücke schreiben. Das ist eigentlich nicht schwer, für einen Anfänger jedoch recht hart. (Mein Tipp: Pack alles in einen Baum und sortier nach Wertigkeit der Rechenzeichen ;))

Ob es sowas in "fertig" gibt, weiß ich nicht. Es macht auf jeden Fall Spaß es selber zu schreiben.
Außerdem lehrt es einiges über den inneren Aufbau von Parsern und vielleicht sogar die Anfänge des Compilerbaus.
 
Danke für die schnelle Antwort.
Einziges Problem bleibt nur, dass ich tatsächlich keine Ahnung von Pasern habe :).
Hast du vlt eine Internetadresse oder ein gutes Buch, dass du empfehlen könntest, um sich in die Thematik einzulesen?
Über Google hab ich nämlich nur äußert dürftige Erklärungen zum Thema Parser erhalten.
Lust und Zeit hätte ich nämlich mich damit zu befassen.
 
Zurück
Oben