click below
click below
Normal Size Small Size show me how
LISP
Deck sobre linguagem LISP
| Term | Definition |
|---|---|
| 2+3 é escrito | (+ 2 3) |
| 5*2+1 é escrito | (+ (* 5 2) 1) |
| 3.14² é escrito | (expt 3.14 2) |
| () ou Nil | Lista vazia |
| Expressões de Ponto | (parêntese esquerdo;) parêntese direito;Período ou ponto |
| Algumas expressões não atômicas são sempre | Entre parênteses, possuindo uma parte esquerda,uma direita e o ponto para delimitar essas partes. Então elas são sempre pares divididos por pontos |
| Expressão | Um átomo ou um par de átomos ou um par de expressões. |
| Definição recursiva | Uma expressão que é definida em torno de si mesma |
| As expressões não atômicas são internamente representadas como uma estrutura de árvore binária | Frequentemente útil para estudar e ter uma visão de representação gráfica dessa estrutura de árvore. |
| (A. NIL) | Expressão de um único átomo |
| (A. B) | Expressão de um par de átomos |
| (B. C)) | Expressão de um par de expressões |
| (átomo. NIL) | Uma lista de um átomo é um par pontuado |
| Append | Duas Listas podem ser concatenadas juntas para formar uma lista maior |
| Length | O comprimento de uma lista é o número de elementos que uma lista possui |
| Quote | Esta função devolve o argumento da lista sem o avaliar |
| Rest | É o complemento da First, ou seja, ela retorna a lista sem o primeiro elemento |
| Nth | Retorna um elemento específico de uma lista onde first é o elemento zero de uma lista. |
| Subst | Esta função substitui um elemento da lista por outro |
| LIST | Combina todos seus argumentos em uma lista. É usado para criação de listas, |
| REVERSE | Inverte o conteúdo de uma lista |
| MEMBER | Encontra uma expressão em uma lista a partir de um elemento |
| REMOVE | Remove as ocorrências de uma expressão em uma lista |
| DELETE | Funciona de maneira analógica a remove, com exceção de que destrói a lista. |
| Átomos e listas | Os dois tipos de dados básicos existentes no LISP |
| Átomos | São símbolos (que podem ser associados a valores)e números |
| Listas | Servem para descrever dados como computações |
| Lista | Por definição é uma coleção de valores linearmente ordenados. |
| Tipos de listas | Listas de números, listas de caracteres e mesmo lista de listas |
| (A B C) | É uma lista com 3 elementos: A, B, C (três átomos). |
| (A (B C)) | É uma lista com 2 elementos: A e (B C) (um átomo e uma lista). |
| ((A) (B) (D)) | É uma lista com 3 elementos: (A), (B), (D) (três listas). |
| Símbolo atômico ou átomo | O tipo mais elementar de S-expressão |
| O Lisp trabalha com | Inteiros (positivos e negativos, tanto em decimal quanto em octal) e Números em ponto flutuante também são aceitos. |
| Átomo literal | É uma string de letras maiúsculas e dígitos decimais de tamanho indefinido, onde o primeiro caractere é uma letra |
| <número> | Representa um número na sintaxe usual das linguagens de programação |
| <símbolo> | É uma seqüência de caracteres não totalmente numéricos |
| cons | É um registro de dois campos |
| t e nil | Pode ser representado para verdadeiro ou falso |
| A forma mais simples de se imprimir o argumento | |
| Binding | Binding é uma atribuição escopada lexicamente |
| make-array | Faz um array.Exemplo : (make-array '(3 3)) |
| String | Um string é uma seqüência de caracteres entre aspas duplas. LISP representa um string como um array de tamanho variável de caracteres. |
| Estruturas | Estruturas LISP são análogas a structs em "C" ou records em PASCAL: |
| IF | LISP também provê uma série de forms para execução condicional.Onde o primeiro argumento determina se o segundo ou o terceiro será avaliado. |
| loop | A construção de iteração mais simples em LISP é loop: um loop repetidamente executa seu corpo até que ele encontre um form especial do tipo return |
| dolist | Uma dolist ata uma variável aos elementos de uma lista na sua ordem e termina quando encontra o fim da lista |
| Lambda | Se você somente deseja criar uma função temporária e não deseja perder tempo dando-lhe um nome, lambda é justamente o que você precisa. |
| Funcall | Chama seu primeiro argumento com os argumentos restantes como argumentos dest |
| Apply | É semelhante a Funcall, exceto que seu argumento final deverá ser uma lista. Os elementos desta lista são tratados como se fossem argumentos adicionais ao Funcall. |