Added PropagatingVisitor

added interface and implementation in the AST nodes classes.