lsp2html � uma aplica��o capaz de formatar c�digo fonte lisp em HTML. Este programa funciona em linha de comando e suas defini��es s�o lidas de arquivos de configura��o.
Este programa � um software de livre distribui��o que pode ser copiado e distribu�do nos termos da Licen�a P�blica Geral GNU (GNU General Public License - GPL) vers�o 2, ou, a seu crit�rio qualquer vers�o posterior.
Este programa � feito na espectativa de ser �til a seus usu�rios, por�m n�o h� nenhuma garantia, expressa impl�cita, ou de atendimento a alguma determinada finalidade.
Uma c�pia da Licen�a P�blica Geral GNU deve estar inclu�da em cada distribui��o deste programa, voc� tamb�m poder� obt�-la aqui.
Este programa foi desenvolvido inicialmente para o AutoLISP, por�m suporta uma s�rie de linguagens, com sintaxe ao estilo common-lisp. Este programa foi testado com as seguintes linguagens
Este programa foi desenvolvido inicialmente em linux sob i386, por�m � suportado por todos os sistemas compat�veis com POSIX, e parcialmente outros como o Microsoft Windows. Este programa foi testado com os seguintes sistemas/arquiteturas.
Programas distribu�dos na forma de pacotes tar.gz de c�digo fonte seguem um procedimento de instala��o pr�prio. Estes programas precisam ser compilados no sistema do usu�rio, para serem posteriormente instalados. Utili�rios como o GNU Make automatizam este procedimento.
Ap�s obter o arquivo lsp2html-XXXX.tar.gz (onde XXX � a
vers�o do programa), descompacte-o com:
tar -xzf lsp2html-XXXX.tar.gz
Em seguida, v� para o diret�rio lsp2html-XXXX e dispare
o GNU Make para compila��o
cd lsp2html-XXXX
make
Agora lsp2html estar� compilado, para instal�-lo no sistema, digite:
make install
Este procedimento ir� instalar os arquivos bin�rios em
/usr/bin e a documenta��o em /usr/doc/
Adicionalmente, voc� poder� criar um arquivo de defini��es da
formata��o HTML, chamado .lsp2html.conf em seu diret�rio
HOME. Este arquivo ser� lido cada vez que voc� usar o programa,
e suas defini��es ser�o aplicadas sempre que nenhum outro arquivo de
configura��o for informado.
RPM � um sistema de empacotamento de bin�rios desenvolvido pela Red Hat e disponibilizado sob a GPL. Este sistema foi desenvolvido inicialmente para o Red Hat Linux, por�m j� foi portado para *v�rios* outros sistemas. RPM usa o conceito de pacotes gerenciados por um programa independente que mant�m uma base de dados centralizada, com informa��es sobre todos os arquivos e suas vers�es, facilitando a atualiza��o/manuten��o e evitando conflitos de vers�es. Em geral este conceito � similar aos pacotes DEB usados pelo DEBIAN e aos pacotes PKG do Solaris
Para instalar o programa, ap�s obter o arquivo
lsp2html-XXXX.i386.rpm (onde XXXX � a vers�o deste programa, e
i386 � a arquitetura desejada), digite
rpm -ivh lsp2html-XXXX.i386.rpm
Desta forma, o programa estar� instalado no sistema e pronto para ser utilizado
Algumas opera��es adicionais ainda podem ser feitas, por exemplo, para obter informa��es do programa, digite
rpm -qi lsp2html
para verificar arquivos e diret�rios, digite
rpm -ql lsp2html
para desinstalar o programa, digite
rpm -e lsp2html
Adicionalmente, voc� poder� criar um arquivo de defini��es da
formata��o HTML, chamado .lsp2html.conf em seu diret�rio
HOME. Este arquivo ser� lido cada vez que voc� usar o programa,
e suas defini��es ser�o aplicadas sempre que nenhum outro arquivo de
configura��o for informado.
O Microsoft Windows n�o � suportado por esta documenta��o, neste sistema a instala��o dever� ser feita manualmente a partir dos bin�rios, fornecidos em um pacote � parte.
lsp2html ir� aceitar uma linha de comando como:
lsp2html [-d arq_def] arq_lisp [...]
onde arq_lisp � o arquivo fonte do c�digo LISP e -d
indica que o pr�ximo argumento � um arquivo de defini��o da formata��o HTML
(arq_def) que ser� aplicado aos arquivos LISP subsequentes.
Inicialmente, lsp2html ir� tentar carregar as defini��es padr�es definidas
a n�vel de usu�rio, em um arquivo .lsp2html.conf localizado
no diret�rio HOME do usu�rio atual. Caso este arquivo n�o exista,
defini��es padr�es definidas durante a compila��o ser�o utilizadas.
Este recurso existe apenas na vers�o para UNIX deste programa.
Em seguida, lsp2html ir� interpretar os argumentos da linha de comando da esquerda para a direita, de forma que o argumento atual jamais ir� interferir no argumento que o precede, por�m poder� influenciar o argumento que o procede. Exemplo:
lsp2html teste1.lsp -d def1.conf teste2.lsp
Neste caso, as defini��es de def1.conf ser�o aplicadas a
teste2.lsp, por�m n�o ser�o aplicadas a teste1.lsp.
Esta caracter�stica permite v�rios arquivos de defini��o sejam aplicados a v�rios arquivos LISP na mesma linha de comando. Se nenhum arquivo de defini��o for utilizado, as defini��es padr�es ser�o aplicadas. Exemplo:
lsp2html teste1.lsp -d def1.conf teste2.lsp teste3.lsp -d def2.conf teste4.lsp
Neste caso, teste1.lsp ser� formatado com as defini��es padr�es,
teste2.lsp, e teste3.lsp ser�o formatados de acordo
com def1.conf e teste4.lsp ser� formatado de acordo
com def2.conf.
O arquivo de defini��es da formata��o HTML usado por lsp2html � semelhante aos arquivos .conf usados pela maioria das aplica��es do mundo UNIX. � composto por uma chave, separada do respectivo valor por espa�os, tabs, ou qualquer combina��o de ambos. Os coment�rios iniciam com um ; e s�o v�lidos at� o fim da linha. Muitas aplica��es utilizam o sustenido (#) como sinal de in�cio de coment�rio, por�m, lsp2html o reserva para a especifica��o de cores do html. Todas as chaves s�o sens�veis a mai�sculas e min�sculas.
Segue um exemplo funcional de um arquivo de defini��es.
; Exemplo de um arquivo de defini��es ; ; ; header teste_header.html footer teste_footer.html title Apenas um teste author Alexandre Erwin Ittner keywords teste lisp body_color white code_color black string_color #dd0000 ;vermelho escuro comment_color green escape_color purple parentheses_color gray line_number_color navy code_size +0 parentheses_size +1 bold_parentheses 1 italict_comments 0 show_title 1 show_line_numbers 1 show_timestamp 1 spaces_per_tab 4
headerDefine o nome do arquivo de cabe�alho. Este arquivo ser� inserido ap�s o t�tulo do documento e antes do c�digo lisp formatado. O arquivo ser� inserido sem nenhuma formata��o adicional. Para n�o utilizar um arquivo de cabecalho, n�o defina esta chave ou deixe-a em branco.
footerDefine o nome do arquivo de rodap�. Este arquivo ser� inserido ap�s o c�digo lisp formatado e antes do timestamp. O arquivo ser� inserido sem nenhuma formata��o adicional. Para n�o utilizar um arquivo de rodap�, n�o defina esta chave ou deixe-a em branco.
title
Define o t�tulo do documento HTML. Caso show_title esteja
definido, este t�tulo tamb�m ser� inserido em <h1>
no in�cio do documento.
author
Define o nome do autor do programa lisp. Este valor ir� preecher a meta
tag author do documento HTML, e tamb�m ser� inclu�do no
timestamp do documento.
keywords
Define a meta tag keywords do documento HTML. Esta tag �
�til para realizar buscas indexadas em documentos HTML. Rob�s de busca
geralmente procuram por esta tag ao vasculhar a web.
body_color
Define a cor de fundo do documento HTML.
Este valor pode ser representado na forma de uma string reconhecida
como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal
representando a cor desejada no sistema RGB. N�o use aspas.
Por exemplo, blue � o mesmo que #0000ff.
code_colorDefine a cor do c�digo LISP. Este valor pode ser representado na forma de uma string reconhecida como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal representando a cor desejada no sistema RGB. N�o use aspas.
string_colorDefine a cor das strings encontradas no c�digo LISP. Esta cor tamb�m ser� aplicada �s aspas que delimitam a string. Este valor pode ser representado na forma de uma string reconhecida como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal representando a cor desejada no sistema RGB. N�o use aspas.
comment_colorDefine a cor dos coment�rios no c�digo LISP. Este valor pode ser representado na forma de uma string reconhecida como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal representando a cor desejada no sistema RGB. N�o use aspas.
escape_color
Define a cor dos caracteres de escape do c�digo lisp. Um caracter de escape �
uma sequ�ncia como \n, ou \010.
Este valor pode ser representado na forma de uma string reconhecida
como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal
representando a cor desejada no sistema RGB. N�o use aspas.
parentheses_colorDefine a cor dos par�nteses funcionais encontrados no c�digo lisp. Esta cor � aplicada apenas aos par�nteses que representam algo no c�digo, e n�o ser� aplicada aos par�nteses encontrados dentro de strings ou coment�rios. Este valor pode ser representado na forma de uma string reconhecida como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal representando a cor desejada no sistema RGB. N�o use aspas.
line_number_color
Define a cor dos n�meros das linhas, colocados antes de cada linha do c�digo
lisp caso show_line_numbers esteja definido.
Este valor pode ser representado na forma de uma string reconhecida
como nome de cor pelo HTML ou de uma sequ�ncia de bytes em hexadecimal
representando a cor desejada no sistema RGB. N�o use aspas.
code_sizeDefine o tamanho da fonte do c�digo lisp, coment�rios e strings. Este valor ir� diferenciar pelo tamanho o c�digo dos par�nteses. Podem ser usados tanto valores absolutos, quanto valores relativos.
parentheses_sizeDefine o tamanho da fonte dos par�nteses funcionais encontrados no c�digo lisp. Podem ser usados tanto valores absolutos, quanto valores relativos.
bold_parenthesesDefine se os par�nteses funcionais do c�digo LISP devem aparecer em negrito no documento HTML. Defina esta chave para um valor diferente de zero para ativ�-la, defina-a para zero para desativ�-la. Um valor n�o num�rico inserido nesta chave ser� interpretado como zero.
italict_commentsDefine se os coment�rios dever�o aparecer em it�lico no documento HTML. Defina esta chave para um valor diferente de zero para ativ�-la, defina-a para zero para desativ�-la. Um valor n�o num�rico inserido nesta chave ser� interpretado como zero.
show_title
Define se o t�tulo do documento (definido em title)
dever� ser inserido no in�cio do documento HTML.
Defina esta chave para um valor diferente de zero para ativ�-la,
defina-a para zero para desativ�-la. Um valor n�o num�rico inserido
nesta chave ser� interpretado como zero.
show_line_numbers
Define se cada linha do c�digo formatado dever� ser numerada.
A cor do n�meros de linha � definida em line_number_color.
Defina esta chave para um valor diferente de zero para ativ�-la,
defina-a para zero para desativ�-la. Um valor n�o num�rico inserido
nesta chave ser� interpretado como zero.
show_timestamp
Caso esta chave esteja ativa, uma linha contendo a data e a hora
atuais, o nome do arquivo e o nome do autor (definido em
author) ser� inserida no final do documento HTML.
Defina esta chave para um valor diferente de zero para ativ�-la,
defina-a para zero para desativ�-la. Um valor n�o num�rico inserido
nesta chave ser� interpretado como zero.
spaces_per_tabEsta chave indica o n�mero de espa�os que deve ser inserido no documento formatado no lugar do caracter tab ("\t"). Defina-a para zero para manter os tabs no c�digo formatado.
N�o se assuste ;-) Primeiramente certifique-se de que os resultados estranhos que voc� obteve n�o foram causados por alguma op��o definida incorretamente, ou n�o definida.
Caso os problemas persistam, entre em contato enviando uma descri��o o mais completa poss�vel do seu problema. Tentarei verific�-lo o mais r�pido poss�vel (o que � bastante relativo, pois o tempo que disponho para desenvolver este programa � bastante limitado). Sugest�es tamb�m s�o bem vindas.
Alexandre Erwin Ittner
E-mail: aittner@netuno.com.br
URL: http://users.netuno.com.br/aittner/
Jaragu� do Sul, SC, Brasil.
�ltima atualiza��o: qui dez 27 11:19:39 GMT-3 2001