Constraint-based grammar formalisms