original:
http://www.pulsar.org/archive/rob/JExpressionEvaluatorObj/
archived:
http://web.archive.org/web/*/http://www.pulsar.org/archive/tav/JMSAgentObj/
JExpressionEvaluatorObj(The computational engine for this external module was based on Laptev Eugene's (ztv@imp.kiev.ua) Fast Expression Evaluator , who has graciously allowed us to use his source code.)

By the changing the module's properties, we can change the module so that it has

By supplying a string (say, using a LabelObj) to our module,
we can change the expression. Here, we purposely typed a syntactically-incorrect
expression.



An expression like "-z^2" is evaluated as "(-z)^2" ... not "-(z^2)".
Laptev Eugene's (ztv@imp.kiev.ua) Fast Expression Evaluator uses the following order-of-operations.
From his documentation:
Unfortunately, this is different from the standard convention used in C and C++.Operators are handled in the following priority: 1) Unary (+) and (-) signs. 2) "To the power of" symbol: (^). 3) Times (*), divide (/) and modulus (%). 4) Plus (+) and minus (-).
If I have time, I'll try to fix this. For now, use PARENTHESES to avoid confusion!
JExpressionEvaluatorObj.dll
Place this is a folder called "JExpressionEvaluatorObj" in your "develop" folder.
JExpressionEvaluatorObj.cpp (COMMENTED CODE!)
JExpressionEvaluatorObj.h
EE-src.cpp (can you see how to change the order of operations?)
EE.h
Here's the Visual Studio project.
JExpressionEvaluatorObj.dsp
After copying all five files to your "JExpressionEvaluatorObj" folder (as directed above!),
click on this .dsp-file and say okay to the "warning".
You're ready to compile!
JExpressionEvaluatorObj.zip - all of the files