Multi-purpose Syntax Definition with SDF3