Sample Code :-
%Let a = begin;
%let b1 = %str(&a);
%let b2 = %nrstr(&a);
%let b3 = %bquote(&a);
%let b4 = %nrbquote(&a);
%let b = end;
Actual Output :-
b1 = begin
b2 = &a
b3 = begin
b4 = begin
Expected Output :-
b3 = end
b4 = &a
Is this because bquote and nrquote are execution time whereas str and nrstr are compile time ?