О макровирусах в Turbo Pascal.
Алгоритм раскраски во встроенном редакторе немного отличается от того, как понимает синтаксис компилятор. А именно, конструкция (
) воспринимается редактором как законченный комментарий, а компилятором — как начало комментария. Это может использоваться, чтобы внутри комментариев вставлять синтаксически раскрашенные участки, например, демонстрация способа использования. Или, например, существуют Паскаль-вирусы, которые записывают своё тело после 80й колонки, используя (), чтобы старый текст выглядел без изменений. Область распространения ограничена местами, где запускаются программы на Turbo Pascal, зато в самих этих местах бороться с Паскаль-вирусами было нетривиально. Антивирусы тех времён были бессильны против этих первых представителей макровирусов.
Используя (*), можно добиться и обратного: заставить код выглядеть как комментарий или как ассемблерный код:
program HelloWorld; (
) {)
begin (
} asm ()
WriteLn('Hello, World!'); (
) end ()
ReadLn; (
) {)
end. (
} ()
Будучи набранным в интегрированной среде, поставляемой с Turbo Pascal, этот код будет разноцветным.
ru.wikipedia.org