1. 程式人生 > 其它 >SAS簡單執行機制

SAS簡單執行機制

1. Work Flow

 token

裝點門面,標示符。總共四類
1. 單引號或雙引號及之內的內容
'aa aa b' "a b c"
2. 一切數值,以數字開頭。
1 "01Mar2020"d 5E8.4
3. 一切變數名及format
var1 name1 _n_ dollor10.2
4. 特殊字元
; & : ,. <>?/@等

程式執行大致步驟
1. input stack 讀入所有程式碼
2. scanner,通過每個 token 進行區分。
3. 編譯

input @10 ssn comma11. name $30-50; 11個token
bouns=3.2*(wage-2000); 10個
plot date*revenue='$'/verf='30jun2001'd; 11個。

2. Macro

2.1

2.2 一般過程

如果遇到Macro標示符,則語句進入Macro Processor中處理。

%put &a;都會進入到Macro Processor中
"Title &m"只有&m進入到Macro Processor中。

當遇到Macro時,Macro Processor讀入Macro變數,然後去Symbol Table 找Macro 的值,然後返回
input stack,然後再讀入scanner中。
如果是整個巨集(%put &a)則,把Macro值返回到Macro Processor中。

當執行%巨集時,先讀入到input stack,然後到Macro Processor,然後work.sasmacr去找巨集程式,然後把
巨集程式內的語句讀入到input stack中,然後在掃描編譯執行。

scanner把巨集變數傳到Macro Processor,直到解析至沒有巨集變數,返回到input stack中,再次把解析後的語句傳到scanner中.