role-based parsing