Post on 14-Jan-2016
description
ALGOL
ALGOrithmic Language
Überblick Geschichtlicher Überblick Peter Naur / John Backus ALGOL 60
Sprachentwurf Eigenschaften Beispiel
ALGOL 68 Sprachentwurf Eigenschaften Beispiel
Vorführung von ALGOL 68
Entwicklung (I) 1958-1963 unter der Führung der Association for
Computer Machinery (ACM) und der Gesellschaft für Angewandte Mathematik und Mechanik (GAMM), später dann der International Federation for Information Processing (IFIP) , entwickelt
Beteiligt waren unter anderen John Backus, Friedrich Ludwig Bauer, John McCarthy, Peter Naur, Alan J. Perlis, Heinz Rutishauser und Klaus Samuelson
Diskussionsentwurf als Algol 58 zitiert
Entwicklung (II) ALGOL 68 ist Neuentwurf basierend auf
den Erfahrungen von ALGOL 60
Definition wurde 1969 erstmals als Report on the Algorithmic Language ALGOL 68 veröffentlicht und 1975 im Revised Report revidiert (überarbeitet)
Weitere Entwicklungen aus ALGOL 60 Simula 67, ALGOL-W (Pascal)
Peter Naur Geboren am 25. Oktober 1928 in
Frederiksberg bei Kopenhagen
1947 – 1949 Astronomie - Studium an der Universität Kopenhagen
1953 – 1959 wissenschaftlicher Assistent an Universität Kopenhagen
1957 Doktortitel in Astronomie
Begegnung mit Computer -> Wechsel der Fachrichtung
Seit 1969 Professor für Informatik an der Universität Kopenhagen
John Backus Geboren am 3. Dezember 1924
in Philadelphia
Einberufung zur Armee, abkommandiert zum Studium der Medizin
Studierte später Mathematik
1949 Einstellung bei IBM als Programmierer
1954 Entwicklung von FORTRAN
1959 Entwicklung der BNF in Zusammenarbeit mit Peter Naur
ALGOL 60
wissenschaftlich (für numerische Zwecke)
von kommerziellen Interesse unabhängig
einfach durch weitgehende Freiheit von Restriktionen
ALGOL 60 - Sprachentwurf
saubere Definition von Spracheigenschaften
Definition der Syntax mit Hilfe der Backus-Naur-Form
Laufzeitprüfungen wurde vorgeschrieben
ALGOL 60 - Eigenschaften Einführung von Blockstruktur und
der Sichtbarkeit von Variablen 2 Möglichkeiten Parameter an
Funktionen und Prozeduren zu übergeben Wertparameter Namensparameter
ermöglicht Rekursion
ALGOL 60 - Beispiel'begin'
'comment' create some random numbers, print them and print the average. ;
'integer' NN; NN := 20; 'begin'
'integer' i; 'real' sum; vprint ("random numbers:"); sum := 0; 'for' i := 1 'step' 1 'until' NN 'do' 'begin'
'real' x; x := rand; sum := sum + x; vprint (i, x)
'end'; vprint ("average is:", sum / NN)
'end' 'end'
ALGOL 68 Neuentwurf basierend auf den
Erfahrungen mit ALGOL 60 Ziele:
Vollständigkeit und Klarheit der Beschreibung
Orthogonalität des Entwurfs Sicherheit Effektivität
ALGOL 68 - Sprachentwurf
Neuartiges Beschreibungsverfahren entwickelt
2-stufige Grammatik, auch van-Wijngaarden-Grammatik genannt
ALGOL 68 - Eigenschaften
Referenzen Möglichkeit zur Definition von
Strukturen und anderen Datentypen
Definition von Ein- und Ausgaben
ALGOL 68 - BeispielTürme von Hanoibegin
proc p = (int me, de, ma) :(ma > 0 | p (me, 6 — me — de, ma — 1);
out (stand out, (me, de, ma));c Transport des Stückes 'ma' von Platz 'me' zu Platz 'de' c
p (6 — me — de, de, ma — 1));for k to 8 do (outf (stand out, $l"k.=."dl,n ((2 t k + 15) ± 16)(2(2(4(3(d)x)x)x)l)$,k);p (1, 2, k,))
end
QuellenWeb:http://de.wikipedia.org/wiki/Algol_60http://de.wikipedia.org/wiki/Algol_68http://www.bookrags.com/sciences/computerscience/algol-60-wcs.htmlhttp://www.bookrags.com/sciences/computerscience/algol-68-wcs.htmlhttp://www.masswerk.at/algol60/http://vestein.arb-phys.uni-dortmund.de/~wb/RR/rrTOC.htmlhttp://de.wikipedia.org/wiki/Peter_Naurhttp://www.thocp.net/biographies/backus_john.htmhttp://www.heise.de/newsticker/meldung/53881http://de.wikipedia.org/wiki/John_Backus
Compiler / Interpreter:http://www.xs4all.nl/~jmvdveer/algol68g-mk8/doc/introduction.htmlhttp://www.angelfire.com/biz/rhaminisys/algol60.html
Buch:Bericht über die algorithmische Sprache ALGOL 68 – Akademie-Verlag Berlin