Home
Products
  UCALC (Windows)
  UCALC (DOS)
  Fast Math Parser
Announcements
Awards
Contact
Downloads
FAQs
Message Forums
Order Now
Tip of the Week
User Satisfaction Questionnaires

vbwire


UCalc Fast Math Parser

Beta Information

A major new feature called Syntax was added to the January 2005 beta.  With this, UCalc FMP beta is no longer simply an expression parser, but it has now become a full-fledged script language building tool.  An  interactive PowerBASIC-flavored interpreter (with a syntax that will be familiar to VB users as well) was also released with this beta.  You can easily replace the PB language with a language design of your own.  See ucDefine, and ucDefineSyntax in the help file.

To download the UCalc FMP beta (which is fully functional), click on the announcement.
There is a separate link for UCalc's PB-flavored interpreter.

Here is a partial list of new features since version 2.0:

  • Improved speed; both overall, as well as in specific situations.
  • Support for multithreading.
  • Support for .NET (via VB.NET)
  • Support for multi-line function definitions; useful for scripting.
  • Support for complex numbers.
  • FPU settings can be configured.
  • Exception Handling for Overflow, Underflow, division-by-0 and other FPU exceptions.
  • Centralized error handlers.
  • Parser variables can directly be attached to string or numeric variables from your source code.
  • Specific data types are now supported, replacing generic string and numeric types.
  • The number of output digits for ucEvalStr can be configured.
  • Individual expressions can now be released in any order with the new ucReleaseExprPtr routine.
  • Arrays are supported.
  • Relational string operators (>, <, >=, <=, <>, =) are now included.
  • User-defined operators are no longer restricted to alphanumeric names. Symbols can be used.
  • Functions and operators can be overloaded.
  • Functions (and operators) can be defined as dynamic, inline, or as a ucAlias macro.
  • End-user function definitions can be recursive.
  • Function definitions can be bootstrapped.
  • Unary operators can now be defined.
  • User operators can be defined each with its own precedence level.
  • A tree parser now allows you to retrieve each element of an expression, including sub-expressions, and indivisible parts, such as operators, functions, and numeric values.
  • Expressions can have local variables.
  • String function definitions can now be self-contained.
  • ucErrorClear, allows you to clear the value of ucError.
  • ucItem allows you to retrieve much information for various items.
  • Implicit multiplication can be turned off.
  • JIT argument types are support.
  • The IIF function was enhanced so that either the True or False argument is evaluated, but not both.
  • SetError allows end-user expressions to raise an error.
  • Some of the pre-existing syntax was simplified, while at the same time redesigned for added flexibility.
  • Functions with no arguments can be defined without parenthesis "()" required. So you can define things like VB's "DATE" function.
  • ucAlias now also works with variables, operators, and user functions.
  • ucReleaseItem can release many types of items.
  • Case sensitive option.
  • Bug fixes: No more ambiguity between +, &, AND operators; FPU settings protect UCalc from elements that used to cause UCalc to crash in rare cases; International settings ..., ... [[more]]

Free Upgrade

when you order the Pro license today

Ordering Information
Credit cards

Disclaimers:

* There is no guaranty as to the date of release for the next version.
* There is no guaranty as to which features will make it in the next version.
* There is no guaranty as to the suitability of the beta versions for purposes other than beta testing.
* All parts of the beta version are subject to change without notice, and without regard to compatibility from one beta version to the next.
* Hints by me about the next version given via e-mail, online forums, or other method of contact should not be considered as promises of any kind.
* A license for the beta cannot be purchased. While the next version remains in beta, only a license for version 2.0 can currently be purchased.

Copyright © 2005 by Daniel Corbier