前のページ|次のページ

SASプログラムとマクロ処理

このセクションでは、SASがプログラムを処理する際に従う典型的なパターンについて説明します。これらの概念は、マクロプロセッサがSASの他の部分とどのように連携しているかを理解するにの役立ちます。ただしこれらは、ほとんどのマクロのプログラミングでは必要ありません。プログラムの背後で何が実行されているかを理解できるようにするために、これらの概念について説明します。
注: このセクションに含まれる概念は、SASソフトウェアの動作について、詳細な具体的表現ではなく、論理的表現で示されます。
プログラムをサブミットすると、プログラムは入力スタックと呼ばれるメモリ領域に格納されます。このことは、SASウィンドウ環境、SCL SUBMITブロック、SCL COMPILEコマンド、バッチセッション、非対話型セッションなどの、プログラムとコマンドのすべてのソースに当てはまります。次の図に示す入力スタックには、販売データを表示する単純なSASプログラムが格納されています。プログラムの最初の行が、入力スタックの先頭にあります。
サブミットされたプログラムの入力スタックへの送信
サブミットされたプログラムの入力スタックへの送信
プログラムが入力スタックに到着すると、SASは、文字のストリームを個々のトークンに変換します。これらのトークンは、DATAステップコンパイラやマクロプロセッサなどの、SASの他の処理部に転送されます。SASがどのようトークンを認識してSASの他の部分に転送しているかを知ることは、SASのさまざまな部分とマクロプロセッサがどのように連携しているかを理解するのに役立ちます。プログラム内でのマクロ実行タイミングの制御方法についての理解にも役立ちます。次のセクションでは、単純なプログラムがどのようにトークン化され、処理されるかを示します。
前のページ|次のページ|ページの先頭へ