Beruflich Dokumente
Kultur Dokumente
Algunos procedimientos
interconstruidos en el lenguaje
Keyword
¿Cómo diseñar un lenguaje?
Componente Descripción
Datos Son los elementos de información integrados a la computadora, manipulables
directamente a través de operaciones primitivas de hardware.
Operaciones primitivas Debe contener un conjunto de operaciones primitivas interconstruidas, útiles
para la manipulación de datos.
Control de secuencia Proporciona los mecanismos para controlar el orden en el que se van a
ejecutar las operaciones primitivas.
Acceso a datos Incorporar algún medio para designar operandos y un mecanismo para
recuperar operandos de un designador de operandos dado.
Gestión de almacenamiento Proveer mecanismos para la asignación de almacenamiento para programas.
Entorno de operación. El entorno de operación de una computadora consiste ordinariamente en un
conjunto de dispositivos periféricos de almacenamiento de entrada / salida
Máquina virtual
name(A, L) Ejemplos:
• Permite manejar átomos ?- name(prueba, X).
arbitrarios. X = [112, 114, 117, 101, 98, 97]
• Relaciona un átomo (A), con la ?- name(prueba, “prueba”).
lista de caracteres ASCII que lo yes
compone (L).
?- name(X, [112, 114, 117, 101, 98,
97]).
X = prueba
Manipulación de la base de datos
arg(N, Term, A)
Prolog VI 25
Los procedimientos Findall
• map • Ejemplo
Permite aplicar un predicado de "mapeo" a una %Predicado de mapeo:
lista de datos. Dicho predicado debe admitir el
siguiente modo de uso: %Dado un numero le suma una
unidad
MapPred(+Dato,-DatoMapeado).
mapeo(Dato, DatoMapeado) :-
Debe tratarse, por tanto, de un predicado que DatoMapeado is Dato + 1.
transforma (mapea) un dato en otro. La función de
map es la siguiente: para cada dato existente en %% Ejecucion en el top-level:
una lista dada, se pasa como primer argumento a ?- map([6,9,12],mapeo,L).
MapPred. El resultado de MapPred, es decir, el
segundo argumento, se almacena en una lista L = [7,10,13] ?
resultado. El modo de uso es el siguiente:
yes
map(+ListaInicial, +MapPred, -ListaResultado). ?-
Predicados estándar de orden superior
• "findall" Genera una lista con todas las soluciones
del predicado dado según el orden en que
Se trata de un conjunto de predicados se van sucediendo. findall nunca falla, si
cuya finalidad es almacenar en una lista no hay soluciones genera una lista vacía.
todas las soluciones de un predicado Naturalmente, el propio findall/3
dado, entendiendo como tales, las solamente tiene una solución.
ligaduras que se producen en una o varias
variables libres que se indican
explícitamente. Los predicados que
componen la familia son:
Bill Gates