The model returns probabilities across the full set of tokens. This restricts the tokens to those that conform to the grammar, and samples from those
On fact it's a bit surprising to me how little I see CRFs mentioned in the context of language models. They are useful whenever you want to model or learn transition probabilities.