Frequently Asked Questions

What is a "front end", anyway?

A compiler --- a program that translates a source program as written by a programmer into the ones and zeroes that a computer understands --- is often broken down into a "front end", which translates the source program into some intermediate language, and a "back end", which translates the intermediate language into machine language. Some compilers also have a "middle end", which does optimizations on the intermediate language.

How can EDG get away with selling half a product?

Our front ends are complete products; they're just not end-user products. We sell to companies that use our front ends as part of compilers and source analysis tools they develop. Those companies sell to end users.

How well do your front ends conform to the applicable standards?

Extremely well. As far as we know, no one has better pass rates on the commercial test suites, and we have and use almost all of them. We're pleased to be able to say that with the 3.8 release of our C++ Front End we have no failures (aside from a handful of test cases for which there are pending issues being considered by the standards committee) with the Perennial and Plum Hall C++ test suites, when our front end is tested along with the Dinkumware libraries.

Will you port or customize your front ends for me, or add some language extensions?

No, sorry. We have a full-time job just working on the product versions. There are some people out there who do consulting on our front ends.

Do you sell optimizers too?

No, just front ends. Some of our customers have optimizers that they are willing to license to our customers (Green Hills, Crescent Bay Software). The Zephyr code also includes optimization.

Do you sell libraries too?

No, just front ends. We work closely with Dinkumware and use their libraries internally for testing.

Are compilers the only end-user applications built with your front ends?

No. Some of our customers do source analysis and reverse engineering tools, source-to-source translation tools, browsers, debuggers, profilers, object-oriented database processors, and chip design tools (the latter often with SystemC).