[fpc-devel] Use of (* comment for $DEFINEd macros
Paul Robinson
paul at paul-robinson.us
Thu Jan 19 20:04:36 CET 2012
- Begin Message From Paul Robinson -
-- First Example --
{$MACRO ON }
{$DEFINE XX1:=' This is from Macro1' }
{$DEFINE XX2:=' This is from Macro2' }
{$DEFINE XX3:=' This is from Macro3' }
{$DEFINE XX1:=' This is from Macro1A' }
{$DEFINE XX2:=' This is from Macro2A' }
{$DEFINE XX3:=' This is from Macro3A' }
Begin
writeln('*EXAMPLES*');
Writeln('M1: ', XX1);
writeln('M2: ', XX2);
writeln('M3: ', XX3);
writeln('*END EXAMPLES');
readln;
end.
*EXAMPLES*
M1: This is from Macro1A
M2: This is from Macro2A
M3: This is from Macro3A
*END EXAMPLES
--- Second Example ---
{$MACRO ON }
{*$DEFINE XX1:=' This is from Macro1' *)
{$DEFINE XX2:=' This is from Macro2' }
{$DEFINE XX3:=' This is from Macro3' }
{$DEFINE XX1:=' This is from Macro1A' }
{$DEFINE XX2:=' This is from Macro2A' }
{$DEFINE XX3:=' This is from Macro3A' }
Begin
writeln('*EXAMPLES*');
Writeln('M1: ', XX1);
writeln('M2: ', XX2);
writeln('M3: ', XX3);
writeln('*END EXAMPLES');
readln;
end.
This returns a compiler error indicating end of file.
--- Third Example ---
{$MACRO ON }
{$DEFINE XX1:=' This is from Macro1' }
{$DEFINE XX2:=' This is from Macro2' }
{$DEFINE XX3:=' This is from Macro3' }
//$DEFINE XX1:=' This is from Macro1A'
{$DEFINE XX2:=' This is from Macro2A' }
{$DEFINE XX3:=' This is from Macro3A' }
Begin
writeln('*EXAMPLES*');
Writeln('M1: ', XX1);
writeln('M2: ', XX2);
writeln('M3: ', XX3);
writeln('*END EXAMPLES');
readln;
end.
*EXAMPLES*
M1: This is from Macro1
M2: This is from Macro2A
M3: This is from Macro3A
*END EXAMPLES
This proves conclusively that only open brace { comment is acceptable for defining macros in Free Pascal.
----
The Lessons of History teach us - if they teach us anything - that no one learns the lessons that history teaches us.
- Message Ends-
More information about the fpc-devel
mailing list