Both comments and annotations can be used to provide auxiliary information that gets attached to the abstract syntax trees of CASL specifications.
Comments may be inserted anywhere (between other lexical symbols) in CASL specifications. Their only significance is for the human reader; they are completely ignored by the semantics, and by tools, in general. Formatters are, of course, expected to display comments.
In contrast, annotations may only be inserted at particular places in CASL specifications, and they may be significant for particular tools (including parsers and formatters). Currently, the only annotations provided are for tagging constructs with labels, and for changing the display of declared symbols. Formatters are expected to display the former, whereas the latter are only shown indirectly, by the effect that they have. Annotations for providing further precedence between function symbols are envisaged, but the details have not yet been fixed.
The start of comments and annotations is always indicated by a percent character `%' followed immediately by a non-space character.