If what looks to C++ as a comment starts with an at-sign (@
)
as its first character, then it is not considered a comment by Larch/C++.
We shall refer to the tokens between //@
and the following
newline, and between pairs of /*@
and @*/
as annotations.
Annotations look like comments to C++, and are thus ignored by it,
but they are significant to Larch/C++.
This is achieved by having Larch/C++ drop (i.e., do nothing with)
the character sequences that are annotation-markers:
//@
, /*@
, and @*/
.
annotation-marker ::=//@
|/*@
|@*/
Within an annotation, all of the syntax of Larch/C++ is recognized, including comments and even annotations. The following are examples of C++ style annotations, that show some comments within the annotations.
// @(#)$Id: annotations.lh,v 1.3 1997/06/03 20:29:57 leavens Exp $ int returns7() throw(); //@ behavior { // this is the behavior of returns7 //@ ensures result = 7; /* a gratituous comment */ //@ }
Go to the first, previous, next, last section, table of contents.