Você está na página 1de 25

AutoLISP - IV Ambiente de programao Visual Lisp

Joo Manuel R. S. Tavares Joaquim Oliveira Fonseca

Ambiente de programao Visual Lisp


O software Visual Lisp um ambiente de programao para a linguagem AutoLisp do AutoCAD. O ambiente de programao Visual Lisp composto por:

editor de texto (colorido ressaltando a sintaxe do AutoLisp) depurador (debuger) - verificador de cdigo:

mensagens de erro mais detalhadas associadas a expresses errneas; execuo controlada; visualizador de variveis (watch); aplicaes compostas por mais de um arquivo .lsp.

gerenciador de projetos:

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Acesso ao Visual Lisp Editor pelo AutoCAD


1. 2.

Iniciar o AutoCAD; Executar o Visual Lisp:

pelo menu TOOL:


1. 2.

selecionar submenu AutoLISP; escolher Visual Lisp Editor.

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Interface do Visual Lisp Editor

Barra de menus Barras de ferramentas Janela de cdigo

Janela Trace Consola Lisp

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Transitar entre o Visual Lisp e o AutoCAD

Do AutoCAD para o Visual Lisp:

Digitar _vlide na linha de comando. Utilizar o alt + tab do windows. Se ambas janelas estivarem visveis, clicar na janela desejada. Clicar no boto com o smbolo do AutoCAD no Visual Lisp.

Do Visual Lisp para o AutoCAD:


2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Abrir um arquivo AutoLisp no Visual Lisp

Na janela do Visual Lisp:

Clicar File Open... no menu Open ou clicar no cone Open File da barra de ferramentas standard; Selecionar o arquivo .lsp desejado; Clicar no boto OK.

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Colorido do editor

Visual Lisp Editor color coding, por exemplo:


azul: funes internas (car, setq ...); verde: nmeros; magenta: strings; vermelho: parnteses; preto: smbolos (nome de funes e variveis definidas pelo utilizador); fundo cinza (background color): comentrios.

Ajuda a visualizar erros de digitao.


CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

2011@JST/JOF

Load de programas .lsp no Visual Lisp

Carregar (executar um load) um programa .lsp dentro do editor do Visual Lisp:


Abrir o programa .lsp no Visual Lisp; Clicar no boto Load active edit window ; A janela console (horizontal inferior) mostrar quantas formas (funes) foram carregadas, por exemplo: ;2 forms loaded from ....

(A opo Load Selection, boto apenas carrega as linhas selecionadas til para determinar erros.)

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Executar funes

No Visual Lisp digitar na janela console (nome-dafuno), por exemplo: (c:inyn)


Obs: funes devem sempre ser chamadas entre parnteses, mesmo se foram definidas como comando. Somente o AutoCAD as interpreta como comando.

No AutoCAD na linha de comando digitar o nome da funo, por exemplo: command: inyn
Obs: o AutoCAD s consegue executar funes loaded pelo Visual Lisp se foram definidas como comando.

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Sair do Visual Lisp Editor

Para concluir uma sesso de trabalho no Visual Lisp Editor escolher no menu File a opo Exit. Se o arquivo .lsp no editor de texto tiver sido alterado sem ter sido gravado, o Visual Lisp Editor ir perguntar se deseja gravar o contedo do editor. Neste caso, deve-se responder SIM ou NO.

10

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Debugging - corrigindo programas


Erros de programao podem ser de digitao, de sintaxe e/ou lgicos. O Visual Lisp oferece os seguintes recursos para detetar e corrigir estes erros:

execuo controlada; acompanhamento visual de variveis; verificao da pilha de execuo; mensagem de erro detalhada associada a uma expresso errnea; editor colorido enfatizando a sintaxe da linguagem; formatador de texto.
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

11

2011@JST/JOF

Executar um programa no modo debug

Um programa em Autolisp executado no modo debug por expresses entre parnteses (parenthentical expressions). Obs: um programa em Pascal executado no modo debug por linha de programao (isto , por comando). Funcionalidades de debugging so controladas de vrios lugares do Visual Lisp:

do editor; da console; dos menus. Abrir o programa a ser depurado no Visual Lisp. Carregar o programa. Colocar um ou mais breakpoints no cdigo do programa.

Para utilizar estas funcionalidades:


1. 2. 3.

12

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Colocar breakpoints

Breakpoints so pontos de pausa de execuo inseridos num programa para possibilitar a sua verificao (debugging). Como inserir breakpoints:
1. 2.

3.

Ir para o editor do Visual Lisp. Posicionar o cursor em frente ao parntese de abertura da expresso desejada. Selecionar:

no menu Debug a opo Toggle Breakpoint ou na barra de ferramentas Debug o boto Set Breakpoint

13

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Executar um programa at um breakpoint


1. 2. 3. 4.

Ir para a janela console do Visual Lisp; Digitar o nome da funo a ser executada seguida de um ENTER; Se necessrio, responder aos prompts do programa no AutoCAD; Quando o programa alcanar o breakpoint a execuo far uma pausa. Nesse momento pode-se:

pedir para visualizar variveis; executar o programa passo a passo; continuar a execuo at outro breakpoint, etc.

14

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Executar o programa passo a passo

Estando a execuo do programa em pausa num determinado breakpoint:

Para executar uma expresso selecionar Step Over na barra de ferramentas Debug; Para entrar numa expresso selecionar Step Into na barra de ferramentas Debug.

Observar o cone Status Button da barra de ferramentas Debug que mostra onde o programa est parado, isto :

antes de uma expresso I( ) ou depois de uma expresso ( )I.


CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

15

2011@JST/JOF

Visualizar o valor de variveis

Estando a execuo do programa em pausa num determinado breakpoint:


Selecionar no menu Debug a opo Watch Last para visualizar o valor da ltima varivel atualizada Selecionar com um clique duplo no editor a varivel que deseja visualizar e escolher o cone culos (Add Watch) na janela Watch.

Para retomar a execuo de um programa at o final do arquivo ou at outro breakpoint:

Selecionar o boto Continue do barra de ferramentas Debug.

16

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Fechar janelas no Visual Lisp Editor

possvel fechar quase todas janelas no Visual Lisp, basta dar um clique no cone correspondente (canto superior esquerdo) no cabealho da janela. As nicas excees so a janela console e a janela trace. Essas janelas nunca fecham.

17

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Verificar o balanceamento de parnteses


1. 2. 3.

4. 5.

Selecionar no menu Tools, Format code in ... (boto ). O Visual Lisp ir formatar o cdigo. Se um casamento errneo de parnteses for encontrado, a mensagem UNBALANCE OPENING BRACKET FOUND. ADD CLOSING BRACKET? YES/NO ser mostrada. Se for respondida com YES, um parntese adicionado no final do arquivo. Com certeza este no o lugar correto do parntese que est em falta. Portanto, torna-se necessrio percorrer o cdigo no editor na procura do lugar correto. Com o cdigo formatado essa tarefa facilitada. Colocar o parntese no lugar correto e apagar o parntese acrescentado automaticamente no final do arquivo. Mais uma vez selecionar no menu Tools, Format code in ... .

18

(Com o boto apenas so formatadas as linhas selecionadas til para determinar erros.)
2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Mecanismos de verificao de parnteses

O menu Edit oferece os seguintes mecanismos para a verificao de parnteses:

Match Forward: procura o ) correspondente a um abre parntese; Match Backward: procura ( correspondente a um fecha parntese; Select Forward: marca a expresso do parntese de abertura at o correspondente de fecho; Select Backward: marca a expresso do parntese de fecho at o correspondente de abertura.

19

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Verificar a sintaxe de um programa


1. 2. 3.

4.

5.

Ir para o janela de edio do Visual Lisp. Selecionar no menu Tools a opo Check .... (boto ). Se aparecer uma mensagem erro na janela console porque existe erro de sintaxe. Dar clique-duplo sobre a mensagem de erro para a expresso errnea no programa ser marcada. A mensagem de erro dar uma indicao do tipo de erro que existe.

(Com o boto apenas so verificadas as linhas selecionadas til para determinar erros.)

20

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Utilizar o cdigo colorido para encontrar erros de sintaxe

Como j referido o cdigo em Autolisp no editor do Visual Lisp colorido. As cores tm significado, por exemplo:

azul = funes internas (car, setq ...); preto = smbolos (nome de funes e variveis definidas pelo utilizador); ...

comum digitar errado o nome de uma funo interna (por exemplo iff para if ou iniget para initget ...). Como toda a lista de programa inicia com uma subrotina ou funo deve-se observar a cor do tomo no incio de cada lista. Com certeza na sua maioria ser de cor azul. Portanto, deve-se prestar ateno em listas que iniciam com um tomo preto. Verificar se existe um erro de digitao ou se o nome de uma funo definida no programa.
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

21

2011@JST/JOF

Erros de execuo

Existem erros que s aparecem durante a execuo. Por exemplo:


1. 2. 3. 4.

Fazer o Load de um programa; Executar o programa; Responder no AutoCAD as mensagens necessrias; Uma mensagem de erro aparece, por exemplo: ;***ERROR: bad argument type for compare: 36.0555 (155.0 155.0 0)
CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

22

2011@JST/JOF

Inspecionar a pilha de execuo de um programa

Quando um erro de execuo ocorrer:


1. 2.

3.

Selecionar no menu View a opo Error Trace; Uma janela com o histrico dos clculos executados surgir, mostrando no topo a funo onde ocorreu o erro e abaixo as chamadas anteriores, at a chamada da funo principal. Para ir ao local do erro via pilha de execuo:
1. 2. 3.

Selecionar a linha na pilha contendo a expresso com o erro; Clicar no boto da direita do rato e selecionar a opo Source Position; Fazer uma anlise, com recursos vistos anteriormente (por exemplo visualizando o valor de variveis), da causa do erro indicado.

23

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Gravar um programa

Uma vez editado e depurado um programa, este deve ser gravado:


1. 2. 3.

Ir para o editor do Visual Lisp; Selecionar no menu File a opo Save As; Selecionar o nome do programa e o subdiretrio onde o programa ser gravado.

24

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp

Sistema de ajuda do Visual Lisp

O Visual Lisp tem um sistema de ajuda completo e bastante til.

25

2011@JST/JOF

CFAC: AutoLISP (IV) - Ambiente de programao Visual Lisp