#!/bin/sed -f
#
# script para transformar código C em código colorido em HTML.
# o código tem que ficar entre
que são adicionados
# pelo script. caso contrário tem que adicionar
no final das
# linhas, ' ' no início....
#
# OBS:
# Este script tem alguns "bugs", ele foi feito em 20min só para
# atender minhas necessidades na escrita de um tutorial
#
# OBS2: Precisa de sed >= 4.0
#
# Última atualização: 16-06-2004
#
# Thobias Salazar Trevisan
#
s/&/\&/g
s/\</g
s/>/\>/g
s/"/\"/g
s/'/\'/g
# colore mensagens, ie, strings entre "
s/\([^=]\)\(\".*\"\)/\1\2<\/font>/g
# colorize os includes
/^#include/s/^#include \(.*\)/#include<\/font> \1<\/font>/
# colorize os comentários
# OBS: pega somente comentários do tipo /**/ e que estão sozinho na(s)
# linha(s)
\,^\([ \t]\)*\/\*,{
1s/^/\n/
:a
/\*\//!{N;ba;}
s/\(\n\)\?\(.*\)/\1\2<\/font>/
b
}
# colore palavras reservadas
s/\b\(if\|else\|while\|return\)\b/\1<\/font>/g
s/\b\(int\|char\|void\|size_t\)\b/\1<\/font>/g
s/\b\(stderr\|stdout\|NULL\)\b/\1<\/font>/g
# colore numeros sozinhos
s/\([0-9]\)\+\([^0-9"]\)/\1<\/font>\2/g
1s/^/\n/
$s/$/\n<\/pre>/