Both kinds of C++ comments are allowed in Larch/C++: old C-style
comments and new C++-style comments.
However, if what looks like a comment starts with the at-sign (
character, then it is considered to be the start of an annotation by Larch/C++,
and not a comment.
(See section 4.3 Annotations, for details.)
Comments that are not annotations
do not affect the meaning of a Larch/C++ specification,
and should be included for the benefit of the human reader.
/*and the next
*/is a comment. This comment pair can appear anywhere a white-space character is permitted and can span multiple lines of specification. Such comments cannot be nested.
//, to the end of the line of the specification file in which the
comment ::= C-style-comment | C++-style-comment C-style-comment ::=
/*[ C-style-body ] C-style-end C-style-body ::= non-at-star [ non-star-slash ] ... | stars-non-slash [non-star-slash] ... non-star-slash ::= non-star | stars-non-slash stars-non-slash ::=
*] ... non-slash non-at-star ::= any character except
*non-star ::= any character except
*non-slash ::= any character except
/C-style-end ::= [
//non-at-newline [ non-newline ] ... newline non-newline ::= any character except a newline non-at-newline ::= any character except
The character sequences
have no special meaning within a
comment and treated just like other characters. Similarly,
the character sequences
/* have no special meaning within a
The following are an examples of comments.
// @(#)$Id: comments.lh,v 1.1 1997/01/10 23:33:17 leavens Exp $ /* a C-style comment looks like this and may continue for several lines */ // A C++-style comment looks like this. // (The first line is one too.) // a /*weird*/ case of a C++-style (//) comment /* an equally strange // C-style (/*) comment **/ // the following is not an annotation: //@ ok? /* and /*@ neither is this part */
Go to the first, previous, next, last section, table of contents.