Kenn der Highlighter den Unterschied zwischen 'if' und 'then' ? Nein.
Und die Schlußfolgerung? Meines Erachtens bedeutet die Tatsache, daß ein Parser detailliertere Kenntnisse hat als ein anderer nicht, daß man ihn nicht für die Untermenge benutzen kann für die der andere einsetzbar ist.
Die Schlußfolgerung ist die, das ein Highlighter keine Kenntnisse der Grammatik besitzen muss, aber ein Codecompletion-Tool schon. So wie die SynEdit-Teile aufgebaut sind, sind sie 'dumme' (aber sehr nützliche) Schlüsselworteinfärber. Daraus folgt dann zwingend, das ein
CC-Tool mehr sein muss, als ein Highlighter.
Weiterhin kann ein Highlighter keinen Parser verwenden, weil er auch die Codeteile nach Syntaxfehlern korrekt einfärbt. Ich kenne einfach keine Parsertechnologie, die nach Fehlern garantiert immer korrekt wieder aufsetzen kann.
Diesen Gedankengang wollte ich dem Fragesteller überlassen.