ambiente de programa§£o visual lisp

25
AutoLISP - IV Ambiente de programação Visual Lisp João Manuel R. S. Tavares Joaquim Oliveira Fonseca

Upload: others

Post on 11-Feb-2022

14 views

Category:

Documents


1 download

TRANSCRIPT

AutoLISP - IV Ambiente de programação Visual Lisp

João Manuel R. S. Tavares Joaquim Oliveira Fonseca

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 2

Ambiente de programação Visual Lisp

O software Visual Lisp é um ambiente de programação para a linguagem AutoLisp do AutoCAD.

O ambiente de programação Visual Lisp é composto por: – editor de texto (colorido ressaltando a sintaxe do AutoLisp) – depurador (debuger) - verificador de código:

mensagens de erro mais detalhadas associadas a expressões erróneas;

execução controlada; visualizador de variáveis (watch);

– gerenciador de projetos: aplicações compostas por mais de um arquivo .lsp.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 3

Acesso ao Visual Lisp Editor pelo AutoCAD

1. Iniciar o AutoCAD; 2. Executar o Visual Lisp:

– pelo menu TOOL: 1. selecionar submenu AutoLISP; 2. escolher Visual Lisp Editor.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 4

Interface do Visual Lisp Editor

Barra de menus

Barras de ferramentas

Janela de código

Consola Lisp Janela Trace

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 5

Transitar entre o Visual Lisp e o AutoCAD

Do AutoCAD para o Visual Lisp: – Digitar _vlide na linha de comando.

Do Visual Lisp para o AutoCAD: – Utilizar o alt + tab do windows. – Se ambas janelas estivarem visíveis, clicar na janela

desejada. – Clicar no botão com o símbolo do AutoCAD no Visual

Lisp.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 6

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 botão OK.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 7

Colorido do editor

Visual Lisp Editor é “color coding”, por exemplo: – azul: funções internas (car, setq ...); – verde: números; – magenta: strings; – vermelho: parênteses; – preto: símbolos (nome de funções e variáveis

definidas pelo utilizador); – fundo cinza (background color): comentários.

Ajuda a visualizar erros de digitação.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 8

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 botão Load active edit window ; – A janela console (horizontal inferior) mostrará quantas

formas (funções) foram carregadas, por exemplo: “;2 forms loaded from ....”

(A opção Load Selection, botão apenas carrega as linhas selecionadas – útil para determinar erros.)

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 9

Executar funções

No Visual Lisp digitar na janela console (nome-da-função), por exemplo: (c:inyn)

Obs: funções devem sempre ser chamadas entre parênteses, mesmo se foram definidas como comando. Somente o AutoCAD as interpreta como comando.

No AutoCAD na linha de comando digitar o nome da função, por exemplo: command: inyn

Obs: o AutoCAD só consegue executar funções loaded pelo Visual Lisp se foram definidas como comando.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 10

Sair do Visual Lisp Editor

Para concluir uma sessão de trabalho no Visual Lisp Editor escolher no menu File a opção 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 conteúdo do editor. Neste caso, deve-se responder SIM ou NÃO.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 11

Debugging - corrigindo programas

Erros de programação podem ser de digitação, de sintaxe e/ou lógicos.

O Visual Lisp oferece os seguintes recursos para detetar e corrigir estes erros:

– execução controlada; – acompanhamento visual de variáveis; – verificação da pilha de execução; – mensagem de erro detalhada associada a uma expressão

errónea; – editor colorido enfatizando a sintaxe da linguagem; – formatador de texto.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 12

Executar um programa no modo debug

Um programa em Autolisp é executado no modo debug por expressões entre parênteses (parenthentical expressions). Obs: um programa em Pascal é executado no modo debug por linha de programação (isto é, por comando).

Funcionalidades de debugging são controladas de vários lugares do Visual Lisp:

– do editor; – da console; – dos menus.

Para utilizar estas funcionalidades: 1. Abrir o programa a ser “depurado” no Visual Lisp. 2. Carregar o programa. 3. Colocar um ou mais breakpoints no código do programa.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 13

Colocar breakpoints

Breakpoints são pontos de pausa de execução inseridos num programa para possibilitar a sua verificação (debugging).

Como inserir breakpoints: 1. Ir para o editor do Visual Lisp. 2. Posicionar o cursor em frente ao parêntese de abertura da

expressão desejada. 3. Selecionar:

no menu Debug a opção Toggle Breakpoint ou na barra de ferramentas Debug o botão Set Breakpoint .

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 14

Executar um programa até um breakpoint

1. Ir para a janela console do Visual Lisp; 2. Digitar o nome da função a ser executada seguida de

um ENTER; 3. Se necessário, responder aos prompts do programa no

AutoCAD; 4. Quando o programa alcançar o breakpoint a execução

fará uma pausa. Nesse momento pode-se: – pedir para visualizar variáveis; – executar o programa passo a passo; – continuar a execução até outro breakpoint, etc.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 15

Executar o programa passo a passo

Estando a execução do programa em pausa num determinado breakpoint:

– Para executar uma expressão selecionar Step Over na barra de ferramentas Debug;

– Para entrar numa expressão 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 expressão I( ) ou – depois de uma expressão ( )I.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 16

Estando a execução do programa em pausa num determinado breakpoint:

– Selecionar no menu Debug a opção Watch Last para visualizar o valor da última variável atualizada

– Selecionar com um clique duplo no editor a variável que deseja visualizar e escolher o ícone óculos (Add Watch) na janela Watch.

Para retomar a execução de um programa até o final do arquivo ou até outro breakpoint:

– Selecionar o botão Continue do barra de ferramentas Debug.

Visualizar o valor de variáveis

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 17

Fechar janelas no Visual Lisp Editor

É possível fechar quase todas janelas no Visual Lisp, basta dar um clique no ícone correspondente (canto superior esquerdo) no cabeçalho da janela.

As únicas exceções são a janela console e a janela trace. Essas janelas nunca fecham.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 18

Verificar o balanceamento de parênteses

1. Selecionar no menu Tools, Format code in ... (botão ). 2. O Visual Lisp irá formatar o código. 3. Se um casamento erróneo de parênteses for encontrado, a

mensagem “UNBALANCE OPENING BRACKET FOUND. ADD CLOSING BRACKET? YES/NO” será mostrada. Se for respondida com YES, um parêntese é adicionado no final do arquivo. Com certeza este não é o lugar correto do parêntese que está em falta. Portanto, torna-se necessário percorrer o código no editor na procura do lugar correto. Com o código formatado essa tarefa é facilitada.

4. Colocar o parêntese no lugar correto e apagar o parêntese acrescentado automaticamente no final do arquivo.

5. Mais uma vez selecionar no menu Tools, Format code in ... . (Com o botão apenas são formatadas as linhas selecionadas – útil para determinar erros.)

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 19

Mecanismos de verificação de parênteses

O menu Edit oferece os seguintes mecanismos para a verificação de parênteses:

– Match Forward: procura o ) correspondente a um abre parêntese;

– Match Backward: procura ( correspondente a um fecha parêntese;

– Select Forward: marca a expressão do parêntese de abertura até o correspondente de fecho;

– Select Backward: marca a expressão do parêntese de fecho até o correspondente de abertura.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 20

Verificar a sintaxe de um programa

1. Ir para o janela de edição do Visual Lisp. 2. Selecionar no menu Tools a opção Check .... (botão ). 3. Se aparecer uma mensagem erro na janela console é

porque existe erro de sintaxe. 4. Dar clique-duplo sobre a mensagem de erro para a

expressão errónea no programa ser marcada. 5. A mensagem de erro dará uma indicação do tipo de erro

que existe. (Com o botão apenas são verificadas as linhas selecionadas – útil para determinar erros.)

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 21

Utilizar o código colorido para encontrar erros de sintaxe

Como já referido o código em Autolisp no editor do Visual Lisp é colorido. As cores têm significado, por exemplo:

– azul = funções internas (car, setq ...); – preto = símbolos (nome de funções e variáveis definidas pelo

utilizador); – ...

É comum digitar errado o nome de uma função interna (por exemplo iff para if ou iniget para initget ...). Como toda a lista de programa inicia com uma subrotina ou função deve-se observar a cor do átomo no início de cada lista. Com certeza na sua maioria será de cor azul.

Portanto, deve-se prestar atenção em listas que iniciam com um átomo preto. Verificar se existe um erro de digitação ou se é o nome de uma função definida no programa.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 22

Erros de execução

Existem erros que só aparecem durante a execução. Por exemplo:

1. Fazer o Load de um programa; 2. Executar o programa; 3. Responder no AutoCAD as mensagens

necessárias; 4. Uma mensagem de erro aparece, por exemplo:

“;***ERROR: bad argument type for compare: 36.0555 (155.0 155.0 0)”

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 23

Inspecionar a pilha de execução de um programa

Quando um erro de execução ocorrer: 1. Selecionar no menu View a opção Error Trace; 2. Uma janela com o histórico dos cálculos executados

surgirá, mostrando no topo a função onde ocorreu o erro e abaixo as chamadas anteriores, até a chamada da função principal.

3. Para ir ao local do erro via pilha de execução: 1. Selecionar a linha na pilha contendo a expressão com o erro; 2. Clicar no botão da direita do rato e selecionar a opção

Source Position; 3. Fazer uma análise, com recursos vistos anteriormente (por

exemplo visualizando o valor de variáveis), da causa do erro indicado.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 24

Gravar um programa

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

1. Ir para o editor do Visual Lisp; 2. Selecionar no menu File a opção Save As; 3. Selecionar o nome do programa e o subdiretório

onde o programa será gravado.

2011@JST/JOF CFAC: AutoLISP (IV) - Ambiente de programação Visual Lisp 25

Sistema de ajuda do Visual Lisp

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