Add support for syntactic classification.

Tests pending.
Because it's a purely syntactic feature.  The comment isn't great (it was copied from elsewhere).  What we should be saying is "doesn't use semantics."