Added several traversal rules for semantic analyser. Need to implement virtual file_position AST::pos ().