Explain Lexical substitution during macro expansion ?
Lexical substitution is used to produce an assembly statement from a model statement. Model statements have 3 kinds of strings:
1. An ordinary string, that stands for itself.
2. The name of a formal parameter that is preceded via the character '&'.
3. The name of a preprocessor variable that is also preceded via the character '&'.
During lexical expansion, strings of kind 1 are retained without substitution. Strings of kinds 2 and 3 are replaced through the 'values' of preprocessor variables or the formal parameters. The value of a formal parameter is the consequent actual parameter string.