Working for all atomic statements and expressions, just have to add clever precedence printing. Need to discuss as a group what we are going to allow and disallow in this stage (re array interval definitions etc, should these be expressions? that way we have a list of expressions but opens up to more errors?)