1 / 1 / 0
Регистрация: 12.10.2015
Сообщений: 26
1

Удалить из файла с исходным текстом программы на языке Object Pascal все комментарии

04.02.2016, 04:25. Показов 1786. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Удалить из файла с исходным текстом программы на языке Object Pascal все комментарии.
Сохранил файл.тхт с обычной программой , после этого загружаю код в мемо.

Delphi
1
Memo1.Lines.LoadFromFile('Code.txt' )
Как мне удалить все комментарии ?

Добавлено через 6 минут
Получается что мне нужно удалить все что за // , это вроде не сложно , а как тогда удалить все что находиться в скобках {} ?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2016, 04:25
Ответы с готовыми решениями:

Составить программу, вырезающую из файла с текстом программы на языке Turbo-Pascal все комментарии
помогите срочно Составить программу, вырезающую из файла с текстом программы на языке Turbo-Pascal...

Скопировать указанных текстовый файл с исходным текстом basic-программы , заменить в нем все операторы PRINT на LPRINT
Скопировать указанных текстовый файл с исходным текстом basic-программы , заменить в нем все...

Прочитать программу на языке C++ и удалить все комментарии
кто-нибудь)помогите написать эту программу=\

Удалить из файла с текстом все лишние пробелы
удалить из файла с текстом все лишние пробелы. Оставшееся переписать во второй файл

9
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
04.02.2016, 05:53 2
Лучший ответ Сообщение было отмечено 1StBorz как решение

Решение

1StBorz, попробуйте так:
Вложения
Тип файла: zip Comments.zip (223.6 Кб, 31 просмотров)
1
1 / 1 / 0
Регистрация: 12.10.2015
Сообщений: 26
04.02.2016, 06:06  [ТС] 3
RostorLuxor, Спасибо
0
1077 / 488 / 316
Регистрация: 05.04.2013
Сообщений: 2,141
04.02.2016, 13:48 4
RostorLuxor, лучше бы текст выкладывал..
0
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
04.02.2016, 14:42 5
Цитата Сообщение от AHBAR Посмотреть сообщение
лучше бы текст выкладывал
Просто некоторые люди тупо код вставляют, а Button'ы, Edit'ы не кидают на форму.
А потом: "Код не рабочий! Undeclared identifier!".
1StBorz, конечно не такой, просто я так привык уже
0
mss
04.02.2016, 15:27
  #6

Не по теме:

Цитата Сообщение от RostorLuxor Посмотреть сообщение
некоторые ..тупо .. вставляют
А некоторые - не будем показывать пальцем - тупо удаляют без разбора все что находится между скобками { и }, хотя там может находиться не комментарий, а управляющая директива компилятора)

0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
04.02.2016, 15:49 7
Цитата Сообщение от mss Посмотреть сообщение
упо удаляют без разбора все что находится между скобками { и }, хотя там может находиться не комментарий, а управляющая директива компилятора)
Если всё так, как Вы пишете, то всё будет ещё хуже.
вот легальный (рабочий) код:
Delphi
1
2
3
4
5
var s:string;
begin
  s := '{ ---';
  writeln(s,' } aaa ');
end.
и в этом коде тоже ничего не надо удалять. программа это поймёт?
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
04.02.2016, 16:39 8
И это тоже не поймет)
Что лишний раз подтверждает - не надо "тупо", а надо "умно")

Добавлено через 2 минуты

Не по теме:

А "умно" - это пахнет полноценным лексико-грамматическим анализатором)
А он, в свою очередь, для Автора пахнет "низачотом")

1
144 / 129 / 46
Регистрация: 12.08.2015
Сообщений: 1,203
Записей в блоге: 1
05.02.2016, 14:47 9
Цитата Сообщение от 1StBorz Посмотреть сообщение
Object Pascal
Там насколько я знаю нет директив.
Директивы это в Delphi.

Цитата Сообщение от Sergio Leone Посмотреть сообщение
программа это поймёт?
Если вам сильно надо, могу правку сделать чтобы понимала и такое.
0
2511 / 1132 / 582
Регистрация: 07.06.2014
Сообщений: 3,286
05.02.2016, 21:52 10
Цитата Сообщение от RostorLuxor Посмотреть сообщение
Там насколько я знаю нет директив.
Директивы это в Delphi.
сложный вопрос.
Директивы были в Turbo Pascal
Директивы были в Delphi (который, напоминаю, до Delphi 7 именовал свой Паскаль именно Object Pascal).
Но ладно, даже если забыть про директивы, без лексического и синтаксического анализатора данную задачу в полном объём решить НЕЛЬЗЯ!

Поэтому, для подобных учебных задач, часто допускаются упрощения. По хорошему, об этом в задании должно быть сказано. в идеале - дан пример кода. Но это всё не особо важно.

Вполне допускаю, что твоё решение вполне устроит преподавателя (студента уже устроило, как я понял из откликов). А значит, продолжать обсуждать - не имеет особого смысла.

Цитата Сообщение от RostorLuxor Посмотреть сообщение
Если вам сильно надо, могу правку сделать чтобы понимала и такое.
Да Господь с тобой. Мне то это зачем?! Я тебя что, "на слабо" брать пытаюсь?! Или проверяю, умеешь ты программировать или нет?! Для меня не надо ничего править!


я вообще не смотрел твой код. Надеюсь, все виды комментариев отрабатываются?
В Object Pascal в качестве ограничителей комментария могут также использоваться пары символов (*, *) и //. Скобки (*...*) используются подобно фигурным скобкам, т. е. комментарием считается находящийся в них фрагмент текста, а символы // указывают компилятору, что комментарий располагается за ними и продолжается до конца текущей строки
Добавлено через 5 минут
до кучки. комментарии ещё и вложенные бывают..
Delphi
1
2
3
4
5
6
7
8
9
10
begin
  { // а ещё бывают вложенные комментарии
      (* <---- вот это не нужно обрабатывать
  }
  WriteLn('Line 1 *)');
  (*
     { <- и вот это тоже не нужно обрабатывать
     // ' *)
  WriteLn('Line 2 }')
end.
0
05.02.2016, 21:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2016, 21:52
Помогаю со студенческими работами здесь

Удалить из файла все комментарии вида {комментарий}
Дан текстовый файл, содержащий строки длиной до 255 символов. Файл является программой на языке...

Удалить все комментарии и теги из HTML файла
Есть задание: Написать сценарий для sed и awk для удаления тегов и комментариев HTML. Теги и...

Строки в языке Object Pascal
Помогите, пожалуйста, решить задачу в Delphi: Поиск самого длинного слова в строке и вывод этого...

Массивы в языке Object Pascal
Помогоите, пожалуйста, решить задачу в Delhi: Дан вектор A(2n). Получить количество нечетных среди...

создание таблиц в Delphi 7 на языке Object Pascal
Создать объект таблицу. Таблица должна обеспечить обработку данных следующего формата: (ключ) ...

Разработать программу на языке Object Pascal в среде Delphi
Разработать программу, ведущую учет результатов сдачи экзаменов студентами одной группы за один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru