APL - A Programing Language
Roldán Galán Lafarga
NIP:539891
[email protected]
Asignatura de Lenguajes de programación.
Profesor: Luis Montesano
APL - A Programing Language
Índice
1 Introducción
Contexto
Principales Características
2 El Lenguaje
General
Tipos de datos
Funciones
Operadores
3 Bibliografía
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Contexto
Contenido
1 Introducción
Contexto
Principales Características
2 El Lenguaje
General
Tipos de datos
Funciones
Operadores
3 Bibliografía
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Contexto
APL
APL es un lenguaje de programación funcional orientado a
arrays, por lo que también se le conoce como Array
Processing Language.
Es el lenguaje más expresivo que existe, implementando en
una línea lo que en otros lenguajes requiere una docena.
Se caracteriza por su conjunto de caracteres no incluidos en
ASCII, que lo hacen más similar a las matemáticas que a la
programación.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Contexto
Historia
En 1957, Kenneth E. Iverson diseñó una notación matemática
potente y concisa con la que estudiar y representar algoritmos
y funciones relacionados con la informática.
En 1962 la publicó en un libro titulado A programming
Language, y tres años más tarde se realizó la primera
implementación (parcial) en una computadora.
Finalmente, en 1967 se implementó completo para el IBM
1130.
El gigante azul ha sido el principal impulsor de este lenguaje
durante su historia (especialmente en mainframes al inicio),
terminando con el desarrollo del APL2 en los 80, que todavía
comercializa.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Principales Características
Contenido
1 Introducción
Contexto
Principales Características
2 El Lenguaje
General
Tipos de datos
Funciones
Operadores
3 Bibliografía
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Principales Características
Funciones y operadores
Se compone de datos, funciones y operadores: las funciones
modifican a los datos y los operadores a las funciones.
Tiene un amplio conjunto de funciones primitivas (más de
100), y gracias a los operadores se consigue una increible
expresividad sin necesidad de codificar demasiadas líneas.
El usuario también puede definir nuevas funciones como en
otros lenguajes, así como también operadores.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
Introducción
Principales Características
Codificación
Es principalmente un lenguaje interpretado, aunque existe la
opción de compilar los programas.
Al conseguir codificar tantas instrucciones en tan pocos
comandos, a veces es utilizado para el diseño de prototipos.
Por su apariencia “jeroglica”suele tachársele de lenguaje de
´solo escritura.
Por contra, al disponer de poderosas funciones, el código
resultante es más reducido y resulta mucho más sencillo de
mantener y actualizar.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Contenido
1 Introducción
Contexto
Principales Características
2 El Lenguaje
General
Tipos de datos
Funciones
Operadores
3 Bibliografía
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Orden de ejecución
Todas las funciones se ejecutan de acuerdo a su posición en la
expresión.
La función más a la derecha cuyos argumentos estén
disponibles, se ejecuta primero.
No hay niveles de precedencia ni jerarquías entre las funciones.
Entonces, 2x5+4, es 18, y no 14.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Niveles de precedencia
No existe una jerarquía porque sería muy complejo tratar de
establacer un orden entre todas las funciones primitivas del
sistema. Además, las funciones que crea el usuario deben
comportarse del mismo modo que las primitivas, lo cual sería
imposible estableciendo jerarquías predefinidas.
Para escapar a esto, se permite el uso de paréntesis con el
comportamiento habitual, resolviéndose sus funciones
interiores antes de ejecutar el resto.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Nombres
Los nombres son las representaciones simbólicas de los objetos
de APL, es decir, arrays, funciones y operadores.
Los nombres primitivos están asociados siempre al mismo
objeto y forman parte de la definición del lenguaje.
Los nombres construidos pueden estar asociados a diferentes
objetos cada vez.
Para ser válidos han de comenzar por una letra, y el resto
serán caracteres alfanuméricos, incluído el guión bajo.
Para asociar un nombre a un objeto se hace mediante ←
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Nombres distinguidos
También existen los nombres distinguidos, los cuales vienen
precedidos del carácter y están reservados para configuración del
lenguaje.
Si corresponden a un array, se llaman variables del sistema; los
asociados a funciones son llamados funciones del sistema. Algunos
son:
IO Index Origin. Define si los vectores se indexan desde
0 ó 1.
PP Print precision. Establece el número de decimales que
se imprimirán por pantalla.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Símbolos de construcción sintáctica I
Algunos símbolos no están asociados a ningún objeto, teniendo
usos diversos:
[] A la derecha de un array, indica indexado. A la
derecha de una función, indica el eje sobre el que
actúa.
→ Seguida de una expresión, indica la siguiente línea a
ser ejecutada. Sola, limpia el indicador de estado de
una operación suspendida y su llamada.
◦ Parámetro de sustitución para el operando izquierdo
de un producto exterior.
( ) Utilizado para agrupar. Las expresiones entre
paréntesis son evaluadas primero.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Símbolos de construcción sintáctica II
’ Delimita un string de caracteres
; Entre corchetes, separa los índices a lo largo de cada
eje. Al comienzo de una operación definida, separa la
lista de nombres locales del resto y de la sintaxis de
la operación.
♦ Separa múltiples expresiones que aparecen en una
sola línea.
← Asocia un nombre con un objeto, o modifica los
valores de una posición seleccionada en un array.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Expresiones
Una expresión consiste en un nombre (primitivo o construído) y,
opcionalmente, uno o más símbolos de construcción sintáctica.
Pueden ser:
Expresiones de array Son aquellas que contienen una función cuyos
argumentos son evaluados, siendo el resultado un
array.
Expresión de función Cuando la expresión tiene sólo una función,
sin argumentos.
Expresión de operador Si es sólo un operador sin operandos.
Las dos últimas sólo pueden ser evaluadas dentro de una expresión
de array.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Declaraciones
Son una unidad de trabajo ejecutable.
Se compone de tres partes. Cualquiera de ellas puede ser
omitida, pero si se incluye, debe aparecer en el orden
mostrado a continuación.
etiqueta : expresiones (upshoejot) comentario
Las expresiones pueden ser ninguna, una o varias (separadas
por ♦).
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Expresiones sintácticamente válidas I
Notación de vectores (más adelante)
Colocación de operaciones
Una función u operador diádico es escrito entre
sus argumentos.
Una función monádica es escrita a la izquierda
de su argumento.
Un operador monádico es escrito a la derecha de
su operando.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Expresiones sintácticamente válidas II
Símbolos de construcción sintáctica
Paréntesis, comillas y corchetes deben
emparejarse.
Los paréntesis se pueden colocar alrededor de
expresiones de array, función y operadores.
No deben cortar un nombre o un grupo de
funciones u operadores.
Los dos puntos sólo están permitidos siguiendo a
una etiqueta que está totalmente a la izquierda
de una línea.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Expresiones sintácticamente válidas III
Símbolos de construcción sintáctica
La expresión a la derecha de ← ha de ser de
array. El objeto de la izquierda puede ser el
nombre de un array, un nombre no asociado a
ningún objeto, una lista de nombres o una
expresión que selecciona una posición de un
array.
Una → ha de estar a la izquierda del todo, o
justo a la derecha de una etiqueta.
Cualquier expresión a la derecha de la flecha
debe ser una expresión de array.
El punto y coma sólo está permitido dentro de
corchetes.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
General
Expresiones sintácticamente válidas IV
Espacios Son necesarios para separar nombres construídos de
otros símbolos.
Espacios y paréntesis redundantes Están permitidos, y a menudo
son empleados para hacer una expresión más legible.
No cambian el significado de una expresión y no
producen errores.
Roldán Galán Lafarga
APL - A Programing Language
APL - A Programing Language
El Lenguaje
Tipos de datos
Contenido
1 Introducción
Contexto
Principales Características
2 El Lenguaje
General
Tipos de dato
Comentarios de: APL - A Programing Language (0)
No hay comentarios