2012-02-24 24 views
21

ठीक है, तो मैं इनपुट के रूप में एक स्ट्रिंग का उपयोग करना चाहता हूं (उदाहरण के लिए "16 * 12 + 25"), इसे गणितीय मूल्यांकन में परिवर्तित करें जिसे कंप्यूटर समझा जा सकता है और मूल्यांकन वापस कर सकता है मूल्य। मैं शायद इसे खुद लिख सकता हूं, लेकिन इसमें काफी समय लगेगा और अंत में, यह तब भी उतना अच्छा नहीं होगा जितना मैं इसे तब तक पसंद नहीं करूंगा जब तक कि मैं इसमें और अधिक समय नहीं लगाता।स्ट्रिंग को गणितीय मूल्यांकन में कनवर्ट करें

तो मेरा सवाल है, क्या कोई स्क्रिप्ट, लाइब्रेरी या एपीआई है जिसे आप जानते हैं सी ++ के लिए ऐसा कर सकते हैं? मैंने जावा, पायथन और .NET दोनों के लिए कुछ पाया है। लेकिन मैं इनमें से किसी भी भाषा के साथ काम नहीं कर रहा हूं और मैं यथासंभव लंबे समय तक (पूरी तरह से पूरे परियोजना में) सी ++ के भीतर रहना चाहता हूं। क्या आपके पास कोई अच्छा विचार या लिंक है?

+0

आप एक अभिव्यक्ति पार्सर का निर्माण और वांछित कार्यों को लागू करने की है। MuParser के लिए –

उत्तर

20

मुझे पता चला कि मैं क्या देख रहा था! डाउनलोड करने योग्य स्रोत सी ++ और कोडब्लॉक प्रोजेक्ट है। आप इसे यहाँ पा सकते हैं: http://www.speqmath.com/tutorials/expression_parser_cpp/index.html

एक अधिक परिष्कृत अभिव्यक्ति पार्सर जारेड द्वारा सिफारिश की: http://www.partow.net/programming/exprtk/index.html

4

इसके लिए सी ++ में कुछ भी नहीं बनाया गया है; सभी अभिव्यक्ति पार्सिंग कोड संकलक में संबंधित है। आपको कुछ बाहरी पुस्तकालय का उपयोग करने की आवश्यकता होगी। एक त्वरित Google खोज muParser लाती है जो बहुत उचित लगती है।

+0

+1। हम इसे बिना किसी समस्या के हमारे तंत्रिका सिम्युलेटर मूस में उपयोग कर रहे हैं। इसकी गति उत्कृष्ट है। – Dilawar

संबंधित मुद्दे