Split out regular and context-free stuff