The other cases are similar and common code can be refactored. Ideally the HLSL parser will eventually fit the same model, but that will require more extensive work.