visitor to parser