Go to the first, previous, next, last section, table of contents.


C.1 Differences Between Larch/C++ and Larch/C

Since Larch/C++ is an interface specification language for C++, and Larch/C (LCL, see Chapter 5 of [Guttag-Horning93]) is an interface specification language for C, a fundamental difference is that an implementation of a Larch/C++ specification must be in C++, while an implementation of a LCL specification must be in ANSI C.

The current version of LCL [Evans96b] focuses on a semantic checker that is like the old "lint" for C, but uses specification information to provide enhanced checking. Larch/C++ is evolving towards something similar, but this version of LCL is essentially incompatible with the current version of Larch/C++.

Compared to the version of LCL described in Chapter 5 of [Guttag-Horning93], Larch/C++ has many additions. Instead of listing all the additions here, this section details the incompatibilities between Larch/C++ and the LCL described in [Tan94], and focuses on the changes one would have to make to a LCL specification to make it into a Larch/C++ specification. The following is a list of the most important of these.


Go to the first, previous, next, last section, table of contents.