The underlying technology is the primary consideration to
think about before choosing a parsing product. Visual Parse++ uses
mathematically correct, flexible, well known, deterministic, linear algorithms.
Parsers require well behaved, predictable operation. A well
behaved, predictable parser is mathematically correct. This means that the
algorithms used have been proven correct in well regarded computer science
journals, so you know that they work. A flexible algorithm is one that works for
all real world applications. A well known algorithm is one that has been used in
critical applications for years. Determinism means that the parser will operate
as you expect each time. And linear means that the algorithm will scale to any
size. These principles are fundamental to any parsing application.
There are a few common parsing techniques in use. One of them
is called predictive parsing (or LL(1)). Predictive parsing is a very simple
parsing technique that can be used to solve some problems. However, it is
difficult or impossible to express many common real world parsing applications
using LL(1) technology. For this reason, predictive parsing has its limitations.
There are other general context free parsing algorithms
available. These are non-linear, (either polynomial time, or exponential time) non-deterministic algorithms that should
only be used for very specialized applications. There is very little you can
prove about the grammars accepted by these methods, so you can't be sure that
your output will be correct. Thus, you should only use these methods if you are
an expert, or for specialized applications.
There are some other ad-hoc methods that use unproven
heuristics techniques to help the parser decide what to do. This is not
mathematically sound and should be avoided. This could result in a parser that
violates the principles of mathematical correctness and determinism.
LALR and LR algorithms are the other common techniques used.
These are very powerful techniques, and can solve most real world parsing
problems. The techniques are similar, but the LALR technique is superior because
it produces much smaller parsers. LR techniques can be unusable for large
applications because of the parser size. So the LALR technology has the best
trade off for power, flexibility, and speed.
LEX and YACC use LALR(1) technology for the parser and
deterministic finite automata (DFA) technology for the lexer. Both of these
technologies fulfill all the principles mentioned in the first paragraph. LEX
and YACC have solved most of the worlds parsing problems for years. So the first
question you need to ask is "Can the tool be used like LEX and YACC?"
Visual Parse++ can safely answer 'yes' to this question. In fact the technology
used in Visual Parse++ is significantly superior to LEX and YACC. No other
visual parsing tool can even be used as a replacement for LEX and YACC. So by
using Visual Parse++, you are getting the best technology available.
This is another critical question. As your problem grows,
will your parsing tool be able to handle it? Visual Parse++ uses the fastest,
most compact algorithms available, and can handle any size job. We have
customers that have grammars that are several thousand lines long, and run
without a hitch. Most other visual parsing tools will not scale beyond small
problems.
Visual Parse++ pioneered the use of visual techniques for
parsing applications. Before Visual Parse++, there was no user interface for
parsing products. Our user interface allows you to design and implement parsers
in a fraction of the time it takes with other tools. All other visual parsing
products are attempts at cloning Visual Parse++.
Visual Parse++ is being used in mission critical, commercial
applications, by some of the largest companies in the world. Sandstone has been
actively marketing and selling Visual Parse++ for over 6 years, and has won
industry awards from major publications. No other parsing tool has achieved
similar accomplishments.
Before buying any software, it's wise to check into the
company that sells the software. Visual Parse++ is a recognized leader in
parsing technology software, with over five years of success. Parsing technology
is a primary focus of our company. We will continue to provide you with
enhancements and services. Visual Parse++ and Sandstone both have staying power,
proven by our track record in the industry.
Visual Parse++ supports C++, C#, Java, Delphi, Visual Basic and C
programmers. No other parsing tool, visual or non-visual, approaches this level of support. There are no
DLL’s or external libraries, every language is native to the chosen
environment. Full source code is also provided.
Parsers developed with Visual Parse++ will run on any platform. Windows 2000,
NT, 9x, SunOS, AIX, HP, Linux, and embedded systems are all supported. Don’t
limit yourself to one platform, or accept vendor promises for future releases.
With Visual Parse++, you have everything you need now.