Задание №4
«Из Turbo Pascal в HTML»

Описание задачи
Это одна из тех программ, которые очень нужны, но написать их нет времени.
Очевидно, что только преобразование исходного текста из Turbo Pascal в HTML -- задачка для первоклассника. Требуется каждое использующее вхождение идентификатора сделать гиперссылкой на его определяющее вхождение. Предполагается, что исходная программа синтакически верна.
Например (способ именования закладок в данном случае не является образцом!):
Текст на Pascal Текст в HTML
Program Simple;
function Sign(f: Real): Integer;
begin
if f<0 then Sign:=-1
else
if f>0 then Sign:=1
else Sign:=0;
end;
var f: Real;
begin
repeat
Write('Input number (0-exit):');
ReadLn(f);
case Sign(f) of
1: WriteLn(f:5:5, '>0');
-1: WriteLn(f:5:5, '<0');
else
WriteLn(f:5:5, '=0');
end;
until (f <> Real(0));
end.
Program Simple;
function
Sign(f: Real): Integer;
begin
if
f<0 then Sign:=-1
else
if
f>0 then Sign:=1
else
Sign:=0;
end;
var
f: Real;
begin
repeat
Write(
'Input number (0-exit):');
ReadLn(
f);
case
Sign(f) of
1: WriteLn(
f:5:5, '>0');
-1: WriteLn(
f:5:5, '<0');
else
WriteLn(
f:5:5, '=0');
end;
until (
f <> Real(0));
end.
Предусмотреть возможность запуска программы в пакетном режиме: без интерфейса прочитал исходный файл, записал результат в выходной файл.

Усложнение (по желанию студента):
  • выполнение преобразования над группой файлов, представляющих проект (гиперссылки на общие unit`ы, определяющее вхождение может находиться в другом исходном файле и т.п.);
  • выделение полужирным и/или цветом ключевых слов языка в тексте программы.
Упрощение (по желанию студента, со снижением итоговой оценки): сделать из программы только безмолвную утилиту pas2html options infile outfile

Функциональные требования:
  1. Программа должна быть реализована в консоли (графический или текстовый режим по выбору студента). Использование визуальных средств должно быть согласовано с преподавателем.
  2. Пользовательский интерфейс должен предоставлять возможность выбора файла с текстом программы, просмотра исходного текста и результата преобразования одновременно, а также возможность редактирования исходного текста и результата. Можно взять за основу интерфейс Turbo-оболочки от Borland Pascal 7.0.
  3. Программа должна предусматривать возможность запуска программы в пакетном режиме: без интерфейса прочитал исходный файл, записал результат в выходной файл.