Представьте себе язык, в котором можно описывать некоторые иерархические структуры: скажем, записи, поля в которых могут быть, кроме примитивных типов, еще и типа "запись". Обращаться к элементам этих структур можно с помощью Си-подобного синтаксиса, например, var.f1.f2.f3.
Блок отладчика, который получает от пользователя иерархическое имя поля и разбирает его на составные элементы, не глядя в таблицу имен, не вызывает затруднений.
Представьте себе, что в этом языке, кроме привычных нам идентификаторов, есть еще и "расширенные", состоящие из любых символов, кроме пробельных. Они записываются как \идентификатор<пробел>, т.е. "\\ " - легально (а вот "\ " - нет). И в этом случае разбор иерархического имени не представляет проблем, даже несмотря на то, что символы \ и . внутри расширенных идентификаторов допускаются.
А теперь представьте себе, что есть еще один очень похожий язык, в котором иерархические имена записываются точно так же через точку, оба языка позволяют использовать в качестве полей записи из другого языка (грубо, как opaque reference), но есть одна маленькая деталь - во втором языке тоже есть расширенные идентификаторы, состоящие из любых символов, кроме \. Они записываются как \идентификатор\, и пробелы в идентификаторе допускаются.
Отлаживать, понятное дело, нужно уметь и программы на смеси языков.
"\foo .\.\.\bar "
Та-да!
(Если кто не догадался, первый язык - Verilog, второй - VHDL).