Differ compiler directive from comment in Delphi source code
for delphi source code comparsion when comparing with ignoring white chars, here are bug in comparing compiler directives
e.g.
{$DEFINE XYZ} - this is compiler directive
is not same as
{ $DEFINE XYZ} - this is comment
===================
Comments are ignored by the compiler, except when they function as separators (delimiting adjacent tokens) or compiler directives.
There are several ways to construct comments:
{ Text between a left brace and a right brace constitutes a comment. }
(* Text between a left-parenthesis-plus-asterisk and an
asterisk-plus-right-parenthesis also constitutes a comment. *)
// Any text between a double-slash and the end of the line constitutes a comment.
A comment that contains a dollar sign ($) immediately after the opening { or (* is a compiler directive. For example,
{$WARNINGS OFF}
tells the compiler not to generate warning messages.