1 / 10

APL – a progamming language

APL – a progamming language. Kenneth E. Iversion(1). 17.12.1920-19.10.2004 Kanadischer Mathematiker 1954 an Harvard-Universität in Mathematik promoviert Lehrte 1955 bis 1960 an Harvard als Assistent Professor Angewandte Mathematik Bis 1980 Forschung bei IBM

odessa
Download Presentation

APL – a progamming language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. APL – a progamming language

  2. Kenneth E. Iversion(1) • 17.12.1920-19.10.2004 • Kanadischer Mathematiker • 1954 an Harvard-Universität in Mathematik promoviert • Lehrte 1955 bis 1960 an Harvard als Assistent Professor Angewandte Mathematik • Bis 1980 Forschung bei IBM • Ab 1980 bei I. P. Sharp Associates in Toronto • 1987 Ruhestand

  3. Kenneth E. Iversion(2) • 1962 Buch A Programming Language • 1965 erster APL-Interpreter für Stapelverarbeitung • 1966 interaktive System APL\360 • Entwurf weiterer Programmiersprachen, darunter ab 1990 gemeinsam mit Roger Hui die Sprache J

  4. Besonderheiten • Interaktivität • Datentypen • Speicherverwaltung • Array-Verarbeitung • Ausführung und Rangfolge • Funktionen und Operatoren • Rangfolge von rechts nach links

  5. Structure of the APL2C System Workspace APL Variables + Functions + Operators Interpreter / FrameworkDefinition and execution of functions, Workspace handling, Session manager APL-Primitives Functions + Operatorsimplemented in C Graphical User Interface MFC / Windows NTMotif / Unix, Linux ISO Standard C Library Operating System

  6. APL2C Data Structure Data header definition of an APL variable in C: typedef struct { long length; // Total length (bytes) unsigned char type; // SIMPLE or NESTEDunsigned char rank; // Rank unsigned char eltype; // INT, ..., PNTRunsigned char reserved; // ...long lnkcnt; // no. of references long number; // Number of elements long dim[1]; // Dimensions, per axis // ... // Data (dynamic size) } aplarray;

  7. Data Structure - Examples (simple) X length type rank eltype res. lnkcnt number 20 SIMPLE 0 INTG 0 1 1 5 X'abc' length type rank eltype res. lnkcnt number dim[0] 23 SIMPLE 1 CHAR 0 1 3 3 ‘a’ ‘b’ ‘c’

  8. Data Structure - Example (nested) X(1 2) (3 4) length type rank eltype res. lnk. number dim[0] 28 NESTED 1 PNTR 0 1 2 2 Adr. Adr. length type rank lnk. eltype res. number dim[0] 28 SIMPLE 1 1 INTG 0 2 2 1 2 length type rank lnk. eltype res. number dim[0] 28 SIMPLE 1 1 INTG 0 2 2 3 4

  9. APL2C Symbol Table Symbol Name Type Address ‘M’ Variable ‘TEST’ Function ‘MYOP’ Operator ‘DX’ Variable Central management of all APL Objects Allows the definition of local and pseudo-local variables.

More Related