Principles of Operation
This section presents various technical
details about the operation of SAS/IML software.
Statements in IML go through three phases:
- The parsing phase includes text acquisition,
word scanning, recognition, syntactical analysis,
and enqueuing on the statement queue.
This is performed immediately as IML reads the statements.
- The resolution phase includes symbol resolution, label
and transfer resolution, and function and call resolution.
Symbol resolution connects the symbolic names in the
statement with their descriptors in the symbol table.
New symbols can be added or old ones recognized.
Label and transfer resolution connects statements
and references affecting the flow of control.
This connects LINK and GOTO statements with labels;
it connects IF with THEN and ELSE clauses;
it connects DO with END.
Function-call resolution identifies functions
and call routines and loads them if necessary.
Each reference is checked with respect
to the number of arguments allowed.
The resolution phase begins after a module
definition is finished or a DO group is ended.
For all other statements outside any module or DO
group, resolution begins immediately after parsing.
- The execution phase occurs when the
statements are interpreted and executed.
There are two levels of execution: statement and operation.
Operation-level execution involves the
evaluation of expressions within a statement.
Copyright © 2009 by SAS Institute Inc., Cary, NC, USA. All rights reserved.