I wrote diffr [0] for that purpose; it serves me well, especially if your team makes code with long lines.
In my opinion, a simple approach that does NOT make any parsing is more efficient (what about bugs in your parser? code with syntax errors? also, how fast would the parser be?)