Added Map, refactored evaluateBody, procedures are entered into symTab when they are encountered rather than executed