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