lsp2html - Manual do Usu�rio



Conte�do



Introdu��o

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.



Licen�a de Uso

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.



Linguagens suportadas

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



Sistemas/Arquiteturas Suportados

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.



Instala��o

Instala��o a partir do c�dido fonte

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.

Instala��o a partir do bin�rio RPM

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.

Instala��o no Microsoft Windows

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.



Sintaxe da linha de comando

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

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

onde

header

Define 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.

footer

Define 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_color

Define 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_color

Define 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_color

Define 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_color

Define 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_size

Define 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_size

Define o tamanho da fonte dos par�nteses funcionais encontrados no c�digo lisp. Podem ser usados tanto valores absolutos, quanto valores relativos.

bold_parentheses

Define 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_comments

Define 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_tab

Esta 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.



Ei!! Tem algo errado aqui!

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.



Contato

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