Wie wandle ich String( "12 + 3 - 5 * 2 / 1 +20" ), in eine ausführbare Rechengleichung um?
-
r0nny schrieb:
Du könntest boost::spirit verwenden, jedoc ist es nur für Erfahrene c++ Programmierer geeignet.
Klar, für einen Anfänger ist es definitiv leichter, so einen Parser von Null aus per Hand zu entwickeln
Mir sind auf jeden Fall vorgefertigte Lösungen lieber.
-
sorry die frage aber was ist ein parser???
-
Manchmal hilft auch Selberdenken.
http://de.wikipedia.org/wiki/Parser
-
Ein Parser ist ein Programm, das einen Text liest und nach bestimmten Gesichtspunkten auseinandernimmt und verarbeitet. Also genau das, was du für dein Problem benötigst

(eine ausführlichere Erklärung findest du zum Beispielhier)
-
haette vieleicht jemand nen schnipsel quelltext von so etwas damit ich mir des vllt. mal ansehen könnte?
-
Naja, ich würde LUA benutzen. http://www.lua.org
Dann braucht man nicht noch nen Parser bauen, sondern LUA übernimmt gleich alles für einen.
-
CStoll schrieb:
Klar, für einen Anfänger ist es definitiv leichter, so einen Parser von Null aus per Hand zu entwickeln

Den Smiley kannst du weglassen.
-
T0bi schrieb:
haette vieleicht jemand nen schnipsel quelltext von so etwas damit ich mir des vllt. mal ansehen könnte?
Klar: http://spirit.sourceforge.net/distrib/spirit_1_8_3/libs/spirit/doc/introduction.html
-
T0bi schrieb:
haette vieleicht jemand nen schnipsel quelltext von so etwas damit ich mir des vllt. mal ansehen könnte?
Wie wärs mit einer vorhandenen Bibliothek:
http://muparser.sourceforge.net
Beispiel:
http://muparser.sourceforge.net/mup_version.html#idExample
Doku:
http://muparser.sourceforge.net/classdocu/namespacemu.htmlMfG Maik
-
danke leute werds mir erst mal alles anschaun, bei weiteren fragen ect. werde ich diese topic noch einmal aufgreifen. bis dahin erst mal danke.
Gruß Tobi :xmas1: