SAS Comments注释语句

通常来讲,注释语句有四种:
1、* message;
2、COMMENT message;
3、/* message */
4、%* message;
第一种的主要限制是注释之中不得有“;”符号。通常用于非宏程序之中。
第二种和第一种相同。
第三种的主要限制是不得包含另外的注释语句。
第四种用于在宏程序里做注释,其功能和第一种在非宏的文本里很相似。第三种注释对宏和非宏程序并无区分。如果把第一种方式移植到宏程序里,出错误的机率非常大。举一例:
%macro comments;
  *%do i=1;
%mend;
%comments;
253028-1.png

方式1和2属于完整的SAS声明语句。他们在程序编译时总被TOKENIZER和MACRO FACILITY处理;因此无法含有“;”及非对称的引号。在宏编译时它们被作为文本常量存储,因此在注释里的宏声明语句将被执行。比如说以上%DO命令将被执行。因此,SAS建议最好不要在宏程序里使用1和2类的注释语句。
与此相反,第3类注释语句不被TOKENIZED(标记化),而只是作为字符串处理。这一类的语句并没有在编译的宏程序里储存。
对于第4类的注释语句,因其文本并非是常量因此没有在编译的宏程序里储存。但是作为完整的宏程序语句,它的确为MACRO FACILITY处理。综上所述,只有3和4类的注释语句应被用于隐藏宏声明程序。




请前往:http://www.mark-to-win.com/TeacherV2.html?id=166