Не уверен, что .odt имеет отношение к чему-либо из этого.
Я мог видеть, что какой-то BNF может описывать (почти) любой синтаксис: просто пропустите текст и BNF через анализатор и примените цветовую схему к терминалам. Вы могли бы даже стать немного более причудливым, поскольку у вас было бы синтаксическое дерево.
В действительности, я думаю, что большинство файлов синтаксиса используют более простой подход, например регулярные выражения. Тогда это будет где-то выше регулярных выражений, но не совсем не зависящим от контекста с точки зрения мощности.
Что касается форматов файлов, если вы повторно используете то, что существует, то вы можете просто грабить (грабить (в соответствии с лицензионными соглашениями)) данные их файла синтаксиса.