Обработка комментариев компилятором

Научно-технические вопросы применения русского языка в программировании. Проекты с сайта программирование-по-русски.рф, кроме ЯОС . Информация об организациях и людях, использующих или изучающих русский язык в программировании. Сравнение операционных систем.
Ответить
Аватара пользователя
КротОзёр
Сообщения: 54
Зарегистрирован: 05.01.21 02:16

Обработка комментариев компилятором

Сообщение КротОзёр » 08.01.21 19:27

КротОзёр писал(а):
08.01.21 18:42
БудДен писал(а):
08.01.21 13:37
Т.е. лучшего места для хранения документации, чем исходник, я не могу себе представить. Вовне я бы выносил только какие-то общие статьи. Да и на тот случай в G2 есть макрос defconcept, к-рый позволяет прямо в исходники вставлять эти общие статьи. С форматами, от маркдауна до ТеХа и со средами разработки, вполне можно сделать работу с такими комментариями комфортной.
Кстати, а, ведь, идея встроить в комментарии нативную поддержку форматирования — замечательная мысль!
Можно представить отображение исходников средой разработки примерно таким же образом, как и у текстового процессора.
Правда тогда возникнет неразрывная зависимость языка от среды разработки (как у Object Pascal с Delphi).
На основании этого текста предлагаю обсудить такую мысль:
  • В синтаксис языка программирования вводится раздел форматирования комментариев. Аналог того же MarkDown-а;
  • Согласно стандарту предписывается анализ внутреннего форматирования комментариев;
  • Вносится дополнительный формат файлов исходных кодов *.man или ему подобные;
  • Объявление функции, структуры или иной функциональной составляющей кода в файле руководства автоматически связывает описание с таковым в исходном коде;
  • В среде разработки при выборе опции "подробно" к комментарию и наличии описания в тексте руководства, автоматически открывается описание;
  • В той же среде разработки при выделении имени сущности и нажатии F1 открывается описание;
  • Допускаются гипертекстовые переходы и отсылки между другими описаниями, вставки текста из шаблонов;
  • Обязательно применение международных кодировок вроде UTF-8;
  • Среда разработки допускает два формата работы с комментариями: 1) WYSYWIG; 2) PlainText. По-русски это звучит так: 1) Как вижу; 2) Только текст.
Таким образом получается некоторый аналог системы документации Qt, с тем отличием, что описание является неотъемлемой частью исходного кода, хранимого в средах контроля версий и не требующего компиляции в бинарно-текстовый формат.

БудДен
Сообщения: 2839
Зарегистрирован: 07.10.18 14:01

Re: Обработка комментариев компилятором

Сообщение БудДен » 11.01.21 22:25

Комментарии плохо подходят для хранения документации или даже ссылок на внешюю документацию, расположенную где-то в другом месте. Такой костыль придумали в тех языках, где об этом не подумали изначально. Когда спохватились, синтаксис уже закоснел, воткнуть документацию стало некуда и пришлось городить костыль. В лиспе функция определяется так:

Код: Выделить всё

(defun имя-функции (параметры) "необязательная строка документации" ...)
Причём строка документации доступна в метаданных по имени функции. Подобным же образом
сделано для классов и их полей:

Код: Выделить всё

(defclass bank-account ()
  ((customer-name
    :initarg :customer-name
    :initform (error "Must supply a customer name.")
    :accessor customer-name
    :documentation "Customer's name")
   (balance
    :initarg :balance
    :initform 0
    :reader balance
    :documentation "Current account balance") ... )
Всё это уже существовало, как минимум, в 1984 году. Думаю, если покопать, то ещё лет на 10 в прошлое можно отодвинуть дату реализации этой идеи. Насчёт "жирных" форм представления а-ля WYSIWYG - идея хорошая, но ведь её нужно воплощать. Я вижу у Вас какое-то стремление заниматься дизайном языков. Но проблема нашей страны на сегодня не в этом. Русифицировать и сделать безопасным, то, что уже и так неплохо сделано. Это я говорю, как человек, который оставил дизайн языков ради этих двух задач.

Monk
Сообщения: 11
Зарегистрирован: 10.10.18 16:41

Re: Обработка комментариев компилятором

Сообщение Monk » 05.02.21 09:59

Комментарии плохо подходят для хранения документации или даже ссылок на внешюю документацию, расположенную где-то в другом месте.
Только если формат файла изначально обрубить. Вот документация в исходниках в TempleOS:
Изображение.

Можно вставлять гиперссылки, изображения и даже анимацию. На диаграмме тоже гиперссылки.

Ответить