reworking the handling of expr
added do while, function definition, and beginning of class def