C to HTML converter

Однажды мне понадобилось перевести исходник на Си в HTML формат. Порывшись в интернете не нашёл ничего удовлетворяющего моим запросам и решил написать небольшой скрипт на perl - c_to_html.pl.

Обязательным параметром для скрипта является только имя преобразуемого файла. Вывод скрипта осуществляется в stdout. Кроме имени преобразуемого файла скрипт принимает следующие необязательные параметры:

  • --preproc=COLOR - задаёт цвет директив препроцессора.
  • --keyword=COLOR - задаёт цвет ключевых слов.
  • --comment=COLOR - задаёт цвет коментариев.
  • --bgcolor=COLOR - задаёт цвет фона страницы.
  • --default-font-color=COLOR - задаёт цвет шрифта по умолчанию (имена переменных, строки и т.п.)
  • --encoding=encoding - указывает кодировку HTML страницы.
  • --fontsize=(1-7) - задаёт относительный размер HTML шрифта.
  • --print-num - указывает на необходимость печатать номера строк исходного Си-кода.
  • --use-tab - не заменять символы табуляции на пробелы. По умолчанию - табуляции заменяется на 4 пробела.

Все значения параметров задаются без кавычек. В качестве значений цвета можно использовать либо ключевые слова ("black", "white" и т.д.), либо 16-ричные коды цветов ("#000000", "#FFFFFF" и т.д.).

Результат выполнения скрипта с параметрами по умолчанию (открыть в отдельном окне):

$ ./c_to_html.pl /usr/src/linux/kernel/wait.c > wait.c-default.html

Результат выполенения скрипта с параметрами заданными вручную (открыть в отдельном окне):

$ ./c_to_html.pl /usr/src/linux/kernel/wait.c --print-num --bgcolor=black --default-font-color=skyblue \
	--keyword=red --comment=gray --fontsize=3 > wait.c-custom.html


Вернуться в раздел "Разное"