c++ expression evaluation

Theodore Lytras thlytras at gmail.com
Tue Jan 27 16:53:32 EET 2009


Χαιρετώ τη λίστα!
Θα ήθελα να ρωτήσω το εξής:

H PHP έχει την πολύ χρήσιμη συνάρτηση eval(), η οποία δέχεται ένα
string και το εκτελεί σαν κώδικα[1].

Υπάρχει κάτι τέτοιο για C++?
Κάποια ρουτίνα σε κάποια βιβλιοθήκη π.χ. που να της δίνω ένα string
και να μου "εκτελεί" τον κώδικα, ή έστω να μου κάνει evaluation ένα
expression? (true ή false)

Ή θα πρέπει να φτιάξω κάτι τελείως μόνος μου?
Και στην περίπτωση αυτή, αυτό το κάτι θα είναι ένας... parser??? (αν
ναι, κάποια tutorials πάνω στο αντικείμενο?)

Δουλεύω σε C++/Qt4. Ο μακροπρόθεσμος στόχος μου θα είναι να δώσω
κάποια δυνατότητα (πάρα πολύ απλού) scripting στην εφαρμογή μου[2].
Αναρρωτιέμαι λοιπόν ποιά είναι η κατεύθυνση που πρέπει να ακολουθήσω
για να το πετύχω αυτό.

Μπορεί κάποιος να με καθοδηγήσει?

Ευχαριστώ πολύ,
Θοδωρής


[1] Π.χ.για να γίνω απόλυτα κατανοητός, ο παρακάτω κώδικας θα βγάλει
ως output τη λέξη foo.
<?php
$command = "$out = 'foo';";
eval($out);
echo $out;
?>

[2] Για το σκοπό αυτό, το αντίστοιχο που κάνω σε PHP είναι να
επεξεργαστώ τις εντολές του χρήστη με τα διάφορα string functions της
PHP, και αφού το "μορφοποιήσω", το εκτελώ με την eval(). Αυτό
σκεφτόμουν να κάνω και στην C++ - χωρίς να ξέρω αν σκέφτομαι σωστά ή
όχι.


More information about the Linux-greek-users mailing list