Павел Ромакин
Оракул
(67476)
4 года назад
1. дана внешняя переменная КодПрограммы
2. дана внутренняя переменная Сигнатура_комментария = "//" или "/*" или "*/" или "#"
3. для каждой строки из переменной КодПрограммы повторяем
3.1. если в строке есть Сигнатура_комментария, тогда
3.1.1 сообщаем "В строке " КодПрограммы. НомерСтроки " выявлен комментарий"
3.2. конец блока если
4. конец блока цикла "для"
5. сообщаем "Все комментарии выявлены, мой Господин!"
Алгоритм универсальный для любого языка. Требуется лишь узнать компоновку операторов заданного языка, функции выделения строк из текста, поиска части текста в другом тексте, определения номера строки в тексте, функцию вывода сообщений. Естественно, сигнатура комментария в каждом языке своя.
И всё.
Alex
Ученик
(227)
4 года назад
Не понятно на каком языке, для какой CMS. Под фразой "выявления комментариев" можно придумать вообще 100/500 вариаций задач. На ваш вопрос никто не ответит, пока вы не сформулируете его верно. Хотите я кину вам код, который проверяет наличие комментариев в 1C Bitrix? Пожалуйста:
$messages = \Bitrix\Forum\MessageTable::getList([
'select' => ['ID','POST_MESSAGE','AUTHOR_ID'],
'filter' => [
'REAL_TOPIC.FORUM_ID' => $forumId,
'REAL_TOPIC.XML_ID' => 'TASK_'.$taskId,
'!=PARAM1' => 'TK',
],
'runtime' => [
new \Bitrix\Main\Entity\ReferenceField(
'REAL_TOPIC',
'\Bitrix\Forum\TopicTable',
array('=this.TOPIC_ID' => 'ref.ID')
)
],
]);
Подходит? Уверен, что нет.
Пожалуйста