Удалить комментарии из текста паскаль программы - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Есть текстовый файл в котором записан код паскаль программы, удалить оттуда все комментарии(после // и в /* */ )

Решение задачи: «Удалить комментарии из текста паскаль программы»

textual
Листинг программы
const FNameIN:string='prg.pas';
var
  fin,fout:text;
  s:string;
  i:integer;
  b:boolean;
begin
  assign(fin,'prg.pas');
  reset(fin);
  assign(fout,'temp.tmp');
  rewrite(fout);
  b:=false;
  while not eof(fin) do begin
    readln(fin,s);
      i:=length(s);
      if pos('/*',s)>0 then begin
        b:=true;
        delete(s,pos('/*',s),length(s));
      end;
      if pos('*/',s)>0 then begin
        b:=false;
        delete(s,1,pos('*/',s)+1);
      end;
      if pos('//',s)>0 then delete(s,pos('//',s),length(s));
      if (length(s)<>0) or (i=0) then  writeln(fout,s);
  end;
  close(fin);
  close(fout);
  rename(fin,copy(FNameIn,1,pos('.',FNameIn))+'old');
  rename(fout,FNameIn);
end.

Оцени полезность:

15   голосов , оценка 4.2 из 5
Похожие ответы