Copyright © 1998-1999, Compiler Resources, Inc.
Meet Software Developers Using Yacc++ 

Yacc++ and the Language Objects Library

Yacc++ and the Language Objects Library has been in use world-wide since 1990 on a variety of PC and Unix systems. It's been used to develop a wide variety of applications. We would like to introduce you to some of the software developers who have built applications using Yacc++ and learn about their projects.

This Web page is just getting started so please check back later for additions. Send email to Chris at Compiler Resources if you would like to be included. We appreciate your input and thanks for your support.

Using Yacc++ for CAD Automation Tools
kirchner SOFT, Austria

kirchner SOFT

kirchner SOFT is a software house devoted for 14 years to the development of programming systems for the automation market. Their programming tool logiCAD/16 is very successful especially in the OEM-area. Now they have logiCAD/32, the latest generation of their software. logiCAD/32 supports the standard IEC 1131-3 and exceeds it extensively in some ranges.

They have found using the latest object-oriented software technologies for 32-bit-architectures is a big win for meeting the user's demands and providing the OEM-partners with extensive development tools when adjusting the programming tool to the target hardware.

Using Yacc++ for the ClassWorks Development Infrastructure
ClassWorks Australia Pty Ltd

ClassWorks Australia Pty Ltd

David Gorton is Technical Director at ClassWorks Australia, located in Wallsend, New South Wales.

ClassWorks Australia specialises in the development of DCOM based, distributed application toolsets for Microsoft Windows NT and Windows® 95 development environments and provides consulting services. David has used Yacc++ in the development of components within their sophisticated distributed development architecture.

"We have had Yacc++ for a number of years now. We have been developing a distributed development architecture based on Microsoft COM / DCOM. From Monday 16th November, 1998 this product will be available for Delphi and soon after will be available for C++ Builder and Visual Basic. We also have plans for Visual C++ and Visual J++ releases in the first quarter of next year. The distributed development architecture consists of over 30 integrated components for the development of distributed applications. These components support identification and publication of distributed objects, navigation and resolution of objects, event notification and subscription, data streaming, expressions, security, testing and tracing.

One of the components in the distributed development architecture is a Language Manager component which provides distributed expressions, sets, identifiers and commands. The Language Manager creates COM objects by using a Yacc++ BNF and a novel object resolution mechanism that we have devised.

We have found the quality of the Yacc++ product to be excellent. The two best features from my point of view have been the tutorials which allowed me to make the transition from yacc / lex (and bison) to Yacc++ and the extensibility of its implementation. A constant source of frustration with other software development tools has been the lack of "openness" i.e. the ability to extend the capabilities of the product. This has definitely not been the case with Yacc++ - we have used numerous features supplied with Yacc++ (such as the ability to switch lexical analysers midstream) and have added other capabilities necessary for our product.

Early next year we plan to release our Knowledge Manager tool. This product allows knowledge to be represented, maintained and accessed in the form of decision tables. It also provides an editor for viewing, manipulating and testing knowledge. The Knowledge Manager integrates heavily with the Language Manager and the distributed development infrastructure to provide applications with the ability rapidly change knowledge without application recompilation."

If you would like further information on ClassWorks products and services, please feel free to contact them at or visit the ClassWorks Australia Web Site for more information.

Performance Management for Telecom Networks
Ericsson Hewlett-Packard Telecommunications (EHPT)

Ericsson Hewlett-Packard Telecommunications

Roman Redziejowski, Ph.D. and Bertil Steinholtz are senior developers at EHPT in Stockholm, Sweden, and use Yacc++ in performance management for telecom networks. They are part of a growing number of European customers using Yacc++ on the HP-UX platform.

"We have been using Yacc++ in two projects since 1993, and think it deserves great praise. The product is nicely designed, robust and fast; the documentation is well written, to the point, and complete; and the support is immediate and very competent."

Data Analysis Compiler
Beckman Coulter Corporation

Beckman Coulter Corporation

Chris Martinez is a software engineer at Coulter in the Hematology Research department. He is working towards his PhD in Computer Science at Florida International University. Surfer Chris (and we're talking the real thing here, not Web surfing!) developed and maintains a proprietary data analysis compiler for Coulter using Yacc++ and the Rogue Wave Tools.h++, templated class library.

"After using lex/yacc on Unix and then moving to Yacc++ on Windows NT, there's no comparison at all. Yacc++ provides many additional support methods and parsing/lexing shortcuts that make it a joy to use compared to lex/yacc. When you throw in the fact that it is a full C++ class library, you've got a very powerful tool."

Parallel Programming With AutoMap
NIST -- National Institute of Standards and Technology
High Performance Systems and Services Division


Dr. Judy Devaney works in Parallel Processing Research at NIST where Yacc++ was used to build the AutoMap compiler. The AutoMap compiler creates standard MPI (Message Passing Interface) datatypes from user-marked C code.

Please visit the AutoMap web page for publications and other information at

The Venus Project
Applied Research Laboratories at the University of Texas Austin

The Venus Project

Lance Obermeyer is from the Applied Research Laboratories at The University of Texas at Austin where Yacc++ has been successfully used in the Venus Project since 1992.

"The Venus project, a research program from the Department of Computer Sciences at the University of Texas at Austin, is aimed at dramatically improving the execution speed of forward chaining rule based programs (e.g. expert systems). Whereas all existing production system environments are interpreted, a fundamental assumption of Venus is that rule based programs can be compiled. This allows significant amounts of work to be moved from the execution time to compile time.

The Venus project has been steadily evolving since its origination in 1992. At that time, the core of Venus was created in the form of a compiler. The compiler was created using proper design principles, and featured distinct front end and back end modules, with a graph based intermediate representation.

The initial version supported a rule language based on LISP. The compiler front end was constructed using YACC++. Later, a requirement emerged to support a rule language based on C++ syntax. A new compiler front end was written in YACC++ that translates C++ style rules into the previously defined intermediate representation. Thus, for several years, we have been able to maintain compilers for both LISP style and C++ style input languages with a minimum of incremental effort."

Please visit the Venus web page for publications and other information at

Last updated on June 8, 1999. To send email to Compiler Resources, Inc.

Return to Yacc++ Home Page