Для веб-мастеров может быть полезен online-инструмент Source Code Highlighter, позволяющий наглядно отформатировать цветами синтаксис и ключевые слова на языках C#, VB, ASPX, HTML, XML, JavaScript.
Работа с инструментом проста - копипастите кусок кода в окно, наживаете кнопку "Highlight Code", и в результате получаете качественно отформатированный по синтаксису текст. Вот пример форматирования кода вычисления контрольной суммы CRC16 (код отформатирован с галочками "Place Line Break as newline" и "Preserve Original Padding"):
#include "include/types.h"
#include "include/settings.h"
#define CRC_POLY 0x1021;
void AddCRC16 (void* data, u32 size, u16 *crc)
{
u16 tmpWord;
u32 idx;
u8 bitCnt;
idx=0;
while (size!=0)
{
/* сложим по xor старший байт Result и входной байт */
tmpWord = ((*crc)>>8) ^ ((u8*)data)[idx];
/* результат запишем в старший байт Result */
tmpWord <<= 8;
*crc = tmpWord + (0x00FF & (*crc));
for (bitCnt=8;bitCnt!=0;bitCnt--)
{
/* проверим старший разряд аккумулятора CRC */
if ((*crc) & 0x8000)
{
(*crc) <<= 1;
(*crc) ^= CRC_POLY;
}
else
(*crc) <<= 1;
}
idx++;
size--;
}
}
При форматировании не используется CSS (что является большим плюсом - упрощает использование инструмента), только чистый HTML с тегом FONT (атрибуты size, color и font). Есть поддержка нумерации строк и вставки переноса строк, если вы поставили соответствующие галочки "Show line numbers" и "Place "Line Break" as newline". Для скрипта форматирования используется технология ASP .NET. К сожалению, скрипт иногда проглючивает. Помогает его перезапуск с исходной страницы http://source.virtser.net/.
[UPD121217]
Нашел инструмент получше - Syntax Highlighter site:highlight.hohli.com. Выгодно отличается в лучшую сторону отсутствием вставки в текст копирайта и поддержкой большого количества языков программирования и их разновидностей - больше 80!
[UPD130725]
Нашел новый генератор подсветки синтаксиса, Source code beautifier site:hilite.me. Отличается также большим количеством языков и красивым оформлением. Может менять стили генерируемой подсветки, а также позволяет делать нумерацию без списков < li > (это бывает важно, если Ваш текущий стиль CSS не позволяет корректно показывать нумерацию на основе простого нумерованного списка ol/li).
|