Talk:Comments
Pascal Comments
The Pascal section claims that '{' and '}' are Turbo Pascal extensions. However the Pascal Standard, ISO/IEC 7185:1990 explicitly contains:
- 6.1.8 Token separators
- Where a commentary shall be any sequence of characters and separations of lines, containing neither
- } nor *), the construct
- ( `{' | `(*' ) commentary ( `*)' | `}' )
- shall be a comment if neither the { nor the (* occurs within a character-string or within a commentary.
- NOTES
- 1 A comment may thus commence with { and end with *), or commence with (* and end with }.
- 2 The sequence (*) cannot occur in a commentary even though the sequence {) can.
Therefore { and } are comment delimiters in standard pascal. Note that comments like
(* this }
or
{ this *)
are valid Standard Pascal comments, but not valid Turbo Pascal comments.
Another interesting quote from the standard:
- 6.1.9 Lexical Alternatives
- [...]
- The comment-delimiting characters { and } shall be the reference representations, and (* and *)
- respectively shall be alternative representations (see 6 .1 .8).
I guess it couldn't be more explicit :-) --Ce
- Thanks for the clarification! I guess my memory was faulty. Personally, I always used { } in Turbo Pascal. --IanOsgood 18:33, 29 September 2007 (MDT)
C: #if 0 and syntax errors
The assertion was made that
#if 0 This isn't valid. #endif
would cause a compile error due to an unmatched apostrophe in a character literal. This is false. The preprocessor removes this text from the source before the compiler has a chance to parse it. --IanOsgood 18:59, 29 September 2007 (MDT)