Lisp iniciante

Disponível somente no TrabalhosFeitos
  • Páginas : 9 (2249 palavras )
  • Download(s) : 0
  • Publicado : 22 de maio de 2012
Ler documento completo
Amostra do texto
Aula 1/7 - Programando em Autolisp
Introdução
por R.C. Ruschel, DCC-FEC-UNICAMP, Agosto 1997 Interfaces do AutoCAD:
•Além da interação pela linha de comando e por menus o AutoCAD R13 permite: •executar um conjunto de comandos por meio de command-scripting •a programação pelo usuário utilizando-se: •a linguagem de programação AutoLISP ou •a linguagem C através do ADS (AutoCAD Developing System)•A forma de programação depende: •das necessidades da aplicação (desempenho, custo) •da experiência de programação da equipe envolvida

AutoLisp:
•O AutoLisp é baseado na linguagem de programação LISP (List Processing) •de aprendizado simples porém poderosa. •O AutoCAD tem um interpretador de Lisp embutido, permitindo a digitação de expressões/funções AutoLisp na linha de comando e suainterpretação automática. •O AutoCAD inclue rotinas AutoLisp bastante úteis nos sub-diretórios sample e support.

Aplicações em AutoLisp:
•São armazenadas em arquivos ASCII com extensão .lsp. •Devem ser carregadas para o ambiente do AutoCAD para serem executadas. •Como carregar: •na linha de comando •pelo menu Tools/Applications ... •de forma automática incluíndo-a no arquivo acad.lsp

ADS - AutoCADDeveloping System:
•Ambiente de programação baseado na linguagem C. •Aplicações desenvolvidas no ADS se comunicam com o AutoCAD via AutoLisp. •Todas funções básicas em ADS fazem uma chamada para uma função equivalente em AutoLisp.

ADS x AutoLisp:
•A escolha ADS x AutoLisp depende: •da experência do programador

•do desempenho desejado para a aplicação •aplicações em ADS são + rápidas eutilizam menos memória •do desempenho do processo de desenvolvimento da applicação •AutoLisp é recomendado para prototipagem e aplicações onde o custo do desenvolvimento e manutenção é mais importante que o desempenho da aplicação. •da portabilidade desejada para a aplicação •Aplicações em AutoLisp são mais portáteis. Dependem apenas do AutoCAD para a plataforma desejada. •Aplicações em ADS dependemdo AutoCAD, da versão da linguagem C e do ambiente de desenvolvimento.

Lisp:
•A LP Lisp é: •da mesma época que o Fortran •diferente de outras LPs, i.e., dados e programas são tratados da mesma forma (tudo como listas) e são colodados no mesmo espaço de memória do computador. •interpretada, i.e.,toda vez que o programa é executado o código fonte é avaliado. •muito utilizada na programação daárea de inteligência artificial. Lisp utiliza a notação infixa (operador seguido dos operandos):
1 + 2 ----------> (+ 1 2)

Listas - composição:
•inicia com "(", termina com ")" e é composta por átomos, que podem ser: •um número interio: -32.768 a 32.767 •um número real: -4.932 a 4.932 onde e: -307 a 307 •uma cadeia de caracteres (string): "Ola", "Insira um ponto:" •um símbolo: nome de funçãointerna ou definida pelo usuário •uma variável: um símbolo que representa um nome de dado •um nil: valor nulo (vazio) •um ponteiro para arquivo (file descriptor): nome de arquivo •uma sub-rotina (subr): nome de funções internas e externas do AutoLisp •um nome de entidade: código numérico associado ao objeto numa sessão de trabalho •conjunto de seleção: conjunto de objetos selecionados

Listas -Exemplos:
Lista de dados: (2.0 3.5 7.6) ("paola" (11 06 1996) 3.150 51) Lista de programa (primeiro elemento é um nome de função ou uma subr):
(setq A 21) (list 2 3 4) ;setq é uma subr, A é um símbolo (nome de variável) ;list é uma subr

(defun vistalatdir ()(command "vpoint" "1,0,0"))

; defun e command são subrs

(vistalatdir) ;vistalatdir é um símbolo (nome de função)

Avaliandoexpressões em Lisp:
•O interpretador do Lisp é denominado avaliador. •Toda a entrada para o Lisp é processada por meio do avaliador. •Tudo dentro do AutoLisp em relação ao avaliador retorna um valor como resultado, i.e.: •qdo um elemento de dado é apresentado ao avaliador, o valor atribuido ao elemento é retornado. •qdo um símbolo é apresentado, o valor da ligação atual do símbolo é retornado. •qdo...
tracking img