I think you could get 90% of the utility of semantic syntax tree diff by standard text diff + some simple rules.
For example preferring to split on empty (whitespace-only) lines. Almost all languages and coding styles use empty lines as a "semantic separator" marker.