SAS Comments注釋語(yǔ)句
通常來(lái)講,注釋語(yǔ)句有四種:
1、* message;
2、COMMENT message;
3、/* message */
4、%* message;
第一種的主要限制是注釋之中不得有“;”符號(hào)。通常用于非宏程序之中。
第二種和第一種相同。
第三種的主要限制是不得包含另外的注釋語(yǔ)句。
第四種用于在宏程序里做注釋,其功能和第一種在非宏的文本里很相似。第三種注釋對(duì)宏和非宏程序并無(wú)區(qū)分。如果把第一種方式移植到宏程序里,出錯(cuò)誤的機(jī)率非常大。舉一例:
%macro comments;
*%do i=1;
%mend;
%comments;
方式1和2屬于完整的SAS聲明語(yǔ)句。他們?cè)诔绦蚓幾g時(shí)總被TOKENIZER和MACRO FACILITY處理;因此無(wú)法含有“;”及非對(duì)稱的引號(hào)。在宏編譯時(shí)它們被作為文本常量存儲(chǔ),因此在注釋里的宏聲明語(yǔ)句將被執(zhí)行。比如說(shuō)以上%DO命令將被執(zhí)行。因此,SAS建議最好不要在宏程序里使用1和2類(lèi)的注釋語(yǔ)句。
與此相反,第3類(lèi)注釋語(yǔ)句不被TOKENIZED(標(biāo)記化),而只是作為字符串處理。這一類(lèi)的語(yǔ)句并沒(méi)有在編譯的宏程序里儲(chǔ)存。
對(duì)于第4類(lèi)的注釋語(yǔ)句,因其文本并非是常量因此沒(méi)有在編譯的宏程序里儲(chǔ)存。但是作為完整的宏程序語(yǔ)句,它的確為MACRO FACILITY處理。綜上所述,只有3和4類(lèi)的注釋語(yǔ)句應(yīng)被用于隱藏宏聲明程序。