In reply to Paul Kaefer.

Thanks for the thoughtful reply. For the sake of others, I want to clarify two topics in Paul's comment:
1. SAS allows you to use a variable name that is also a keyword. SAS is smart enough to know when a token is a variable and when it is a keyword. Thus you can use IF, THEN, DO, END, PROC, RUN, etc. as variable names, if you want.
2. SAS does not "impute semicolons." The discussion that Paul refers to was a "ballot suggestion" in which a SAS user requested that feature. However, the discussants quickly concluded that such as feature is neither practical nor feasible.