SandStone Technology Inc. is now a member of the OS2AVEN 'Other Vendors' section. This article contains the press release for a new development tool called Visual Parse++. The press release is followed by some technical information. You can download a demo of Visual Parse++ in this section. If you have any questions, post them here using 71332,2577 as the user id. ------------------------------------------------------------ SANDSTONE TECHNOLOGY INC. 70 Tidwell Lane Henderson NV, 89014 (702) 896-7623 (Voice) (702) 896-6932 (Fax) (800) 988-9023 (Voice) Contact: Bill Donahue CIS: 71332,2577 Internet: 71332.2577@compuserve.com Visual Parse++ - New Visual Programming Tool Slashes up to 90% of Development Time From Common Tasks For Immediate Release Wednesday, November 30, 1994 Hendserson -- Software developers can save up to 90% of the time needed for many common programming tasks with a new type of visual programming tool from SandStone Technology Inc. Visual Parse++ brings visual programming technology to parsing techniques -- programming methods used to manipulate and control information. Parsing technology has traditionally been restricted to compilers and interpreters because of the difficulty in using such existing parsing tools as the Unix utility yacc, or its derivatives. With Visual Parse++, developers can use parsing technology for end user commands, protocols, data file structures, as well as the traditional compiler and interpreter applications. Visual Parse++ even makes parsing economical for such small tasks as edit field validators, user parameter files, scripting, tagged data, formatted files, and data filters. "Developers can gain enormous productivity through visual programming," explained SandStone Technology president, Bill Donahue, "but the technology has been mostly restricted to GUI design and object oriented development. We hope to expand development efficiency through new types of tools." Visual Parse++ works by creating tables and a skeleton application for a developer from a specification. Because of this, it is programming language and platform independent. Support for C, C++, and REXX is currently included. While presently shipping for OS/2, a Windows version of Visual Parse++ is planned for the first quarter of 1995. SandStone Technology is also considering an AIX version. "Because of the tools we used in creating the OS/2 version, we anticipate that the AIX port will be easy. Our first goal, however, is to finish the Windows version," "By the second quarter of 95, we will have support for UNIX as well. This is the first cross platform, multi-programming language tool of its kind. This should lead to the standardization of programming languages and other file formats. This is true even across national boundaries, as Visual Parse++ supports DBCS and Unicode," said Donahue. Visual Parse++ is available directly from SandStone Technology. While the list price for the OS/2 version is $699, there is an introductory special of $299 until February 28, 1995. ---------------------------------------------------------------- Here is a more technical description of the product. First the user interface. You define your 'language' in a specification (a rule file in Visual Parse++ terminology) that uses a familiar regular expression and BNF-like notation. You then rigorously debug the entire specification while you watch. The test data enters from the right, and moves across the screen from right to left at each STEP. This gives you a clear visual indication of where you are in the given test file. As things occur, they are highlighted. Some of the things you see are: 1.Regular expression matches (very detailed, you see the actual point in each regular expression.) 2.The current lookahead symbol, built up as the data is lexed. 3.The parsing stack. 4.Production reductions. When a production is reduced it is highlighted, and the associated stack elements are also highlighted. 5.Errors and error recovery. 6.Conflicts. You can test a rule file with conflicts. When a conflict occurs, the productions are highlighted. You resolve the conflict with a mouse click. Very useful, especially when just starting out. Here are some of the advanced features of the lexing and parsing engines: 1.An expression list stack. You can define multiple expession lists and push and pop them as regular expressions are matched. Very clean and more powerful than start states. 2.Advanced error recovery, called synchronization tokens, as well as error tokens. You imbed synchronization tokens (%) in the grammar at points where recovery is likely to succeed. Synchronization tokens do not change the grammar in any way, except to synchronize error recovery. Error tokens are also supported. When an error occurs, Visual Parse++ searches the stack (the current context) for any symbols that can follow either a sync token or an error token. It then scans the input looking for a matching token. When one is found, the stack is popped until the current symbol is valid. 3.Unicode and DBCS support. Any 32-bit quantity can be used as a code point in a regular expression. 4.Programming language and platform independence. There is a well architected API for each language supported. Visual Parse++ generates a 'reduce' function for each language. This is where you put all your code. In C or C++, the 'reduce' function is a switch statement with a case for each production. There are easy to use functions to access and pass information on the stack. You can also customize stack elements to your liking. In C++, this is done by subclassing the class SSYaccStackElement. We supply a library, or equivalent, for all programming languages that we support. 5.Because the lexing and parsing process is encapsulated in an API, you can add as many lexers and/or parsers as you wish to any application, including DLL's. 6.The parser generator uses the most advanced algorithms, (Park, Chang, Choe), for superior performance (We also tried DeRemmer and Ives, but PCC was the best). Can handle any size grammar. 7.The tables generated are very compact, on the order of the size of the lexer/parser (For a small edit field validator, maybe 100 bytes or so). Visual Parse++ can be used for many, many applications that you may not have considered before, like edit field validators and list box data filters. Why use a specialized ad-hoc tool when you have the full power of lexing and/or parsing technology available.