migrate attr_str extraction to parser