Products: Visual Parse++: Tutorials: Topics: Other Support:
Visual_Parse++     Visual_Parse++_Features GUI Tutor 1 Reducing a Rule Parsing Technology
DataStruct Why Visual Parse++? GUI Tutor 2 Expression List Stack Documentation
Meta-S Download Trial C++ Tutor 1 Flexible File Format Further Reading
Ordering Accolades Java Tutor 1 Grammar Idioms Consulting Services
Support Our Customers
  Back to home page  Click here for our free informative book "Parsing with Visual Parse++"  
 

Why Visual Parse++?

"The industry standard visual parsing tool."

"I'm a happy camper -- got it working last nite, thanks. Looks good too. Definitely this tool saved by tukus many times.  Look forward to playing with it. Thanks."

-Joe Warner, HealthStream

 
   For a 15 day free trial click here To order now click here!  
 

"We're looking for a parsing tool... which one do we choose?"

There are many parsers available on the market today. Most are legacy tools like LEX and YACC, which are reliable, but difficult to use. Others are Visual Parse++ clones that try to mimic the ground breaking technology pioneered by Visual Parse++. Here are some things you should consider before choosing a parsing product:

What is the underlying technology?

Can it handle any size job?

Is the user interface easy to use?

What kind of track record does the product have?

What kind of track record does the company have?

What languages can I implement my parser in?

What platforms can my parser run on?

"What is the underlying technology?"

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.

"Can it handle any size job?"

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.

"Is the user interface easy to use"?

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++.

"What kind of track record does the product have?"

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.

"What kind of track record does the company have?"

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.

What languages can I implement my parser in?

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.

What platforms can my parser run on?

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.