|
 This COM component resides in bcParser.dll which can typically be used from Visual Basic, Visual C++, .NET
and other COM enabled environments. The DLL also exports C style functions that wrap the COM component to be used as a classic DLL. Source code is optional and
can be compiled with Visual C++ 6, 7, 8 or 9 [Visual Studio.NET (2002), 2003, 2005 or 2008].
BCPARSERLib.Parser COM Component and DLL features include:
Easy to use, simple component API.
Comes with predefined functions.
You can create custom functions/variables and get a callback to your functions that you define in your source code.
Optimization: Constant expression elimination for repeated tasks.
Operators: +, -, /, *, ^
Logical Operators: <, >, =, <>, >=, <=, &, |, ! [IF(condition,case1,case2) is supported]
Paranthesis: (, {, [
Functions in the form of: f(x), f(x,y), f(x,y,z)
List of predefined functions is available in the documentation.
Royalty free distribution at affordable price.
C++ Source code is optional.
BCPARSERLib.Parser is especially useful in scientific, engineering programs as well as financial spread sheet implementations.
It’s internal arithmetic uses ‘long double' storage for floating point numbers and has high precision.
Purchase and Download
Download evaluation version of bcParserX
Visual Basic Example (Using as COM Component)
Visual C++ COM Example (Using as COM Component)
Visual C++ DLL Example (Using as a DLL calling C functions)
C# Example (Using COM Component from managed code)
Managed C++ Example (Using COM Component in managed C++)
Sample screen shots from a Visual Basic application:
Accurate error reporting:
GetInvalidPortionOfExpression function allows you to conclude whether you need to define a variable on the fly or not: (Solves cases where the names of variables are not known ahead of time)
The Math Parser Component is also available on many platforms/languages such as:
Examples of typical expressions are:
|
SIN(3.14)+5^2+POW(2,MAX(X*2,Y))
|
Functions, variables, constants can be nested. Common math functions are defined by default.
|
|
2*[LN(1+X) / LOG(1-X)]
|
Paranthesis can be (, {, [ for readability.
|
|
IF(X>0, 3/X, F(X))
|
IF(a,b,c) branching function is supported.
Boolean operators are supported. Any non-zero value is TRUE, 0 is FALSE.
Functions can be defined to have 1,2,3 numbers of parameters.
|
|
PI*(R^2)
|
Constants supported. For example, PI is a constant, not a variable. When optimization is turned on, constants may improve the speed of repeated
evaluations where expression does not change but variable values change.
|
|
X+Y/LOG(1+5)
|
If Optimization is turned ON, LOG(1+5) will be optimized away since it is a constant.
|
|
VOLUME(HEIGHT, WIDTH, LENGTH)
|
You can create your own functions and variables and name them as you wish.
You can replace a predefined function with your own implementation.
|
|
X+COSH(3E-2)
|
Scientific notation is supported: 3E-2
|
To be efficient in repeated calculations, parser creates a parse tree at first and reuses this parse tree for each evaluation without the need to reparse.
Optimizer: If Optimization is on, the parse tree will be optimized by calculating constant expression sections at once so that further evaluation requests will be
quicker without the need to re-evaluate those constant branches.
BCPARSERLib.Parser COM Component can typically be used with Visual Basic, Delphi, C++ Builder, Visual C++ and other COM/ActiveX clients and plain C applications that
can call DLL functions. We have tested it with Visual Basic and Visual C++.
Parser comes with a help file for reference and a Visual Basic demo application for aid in getting started.
You can download a trial version of bcParserX COM Component here [Windows Instaler msi file 780KB]
, Visual Basic sample application here. (Trial version of the component
must be installed before sample application can be executed, so that it can find and use the component.)
Installation file contains the the bcParser.dll, license agreement, a help file and a demo Visual Basic 6 project. Component files will be copied into a directory of your
choice - <Program Files>\bcParserX by default. You can uninstall these files from Add/Remove Programs option of your Control Panel any time.
Help file is available for separate download for quick review[45KB] Help file is targeted mainly for Visual Basic users.
Here are some Visual Basic instructions on how to get started using your component in Visual Basic.
Here is a Visual C++ code sample that uses the Parser COM component via vtable (early binding).
Here is a Visual C++ Console Application that uses the bcParser.DLL component via the functions exported from the DLL.
Software License for your review.
Purchasing bcParserX Math Parser COM Component
You can pay with credit card and download bcParserX Math Parser COM Component immediately from our online store for only $19.95 (With source code 39.95).
Upgrades are free for registered users. Licensing is per developer. You can deploy the the component
royalty free with your applications as many times as you want. Site license allows any number of developers use the component at your development site.
For technical questions please contact support@bestcode.com
A screen shot from Visual Basic Object Inspector:

Details for Visual C++ Developers:
BCPARSERLib.Parser is a light weight component (140KB DLL size) written using ATL in C++. The component is APARTMENT THREADED. It is inprocess server and it does not support aggregation.
This component is an ideal choice for Visual Basic, .NET and Visual C++ programmers. It can be used in other languages that have COM support as well. Component implements IDispatch
interface and can be used from scripting environments such as ASP (Active Server Pages). Visual C++ Developers should prefer
early binding using the vtable instead of using IDispatch. Note that the VC++ Class Wizard creates code that runs slow using IDispatch. Please, refer to our early binding
sample instead.
If you buy the source code, you can compile it with Visual C++ 6.0 or Visual C++.NET. It is possible to shrink the DLL size to ~50KB if you don’t mind dynamically linking to MS
runtime libraries. Current size is based on minumum dependency settings so that it can be deployed without any worries.
If you wish to compile for mobile
platforms, there are few issues.
Here is a sample MFC application displaying the parser result:
Details for C Developers:
bcParser.DLL exports various functions that can be called by a C application. These functions are wrappers around the actual COM component. COM subsystem in Windows
must have been initialized using CoInitialize() method before the COM component can be used. (Refer to the C example) The rest is C business as usual. If the COM
component is not installed (not registered), then the first C call to CreateParser() function will register the component.
Functions that work with character arrays have 2 versions, _UNICODE versions end with W.
bcParserDLL_unicode.h defines necessary macros to make it possible to write portable code that will compile regardless of _UNICODE setting.
There is a Visual C++ 6.0 bcParser.lib that can be used as an import library for the DLL.
Purchasing bcParserX Math Parser COM Component
You can pay with credit card and download bcParserX Math Parser COM Component immediately from our online store for only $19.95 (With source code 39.95).
Upgrades are free for registered users. Licensing is per developer. You can deploy the the component
royalty free with your applications as many times as you want. Site license allows any number of developers use the component at your development site. Site licenses can be purchased here.
For technical questions please contact support@bestcode.com
|