Algol: ALGOL 58, ALGOL 60 and Algol 68
Algol: ALGOL 58, ALGOL 60 and Algol 68
Algol: ALGOL 58, ALGOL 60 and Algol 68
HISTORY
ALGOL was developed jointly by a committee of European and American
computer scientists in a meeting in 1958 at Zurich
ALGOL (ALGOrithmic Language) First formalized in a report titled ALGOL 58 Progressed through reports named ALGOL 60 ALGOL 68. It was designed by an international committee to be a universal
language.
ALGOL 58
HISTORY ALGOL 58
Released in December 1958 with great reception. Americans look at it as a collection of languages instead of an universal language. Inspired three majordesigns:
MAD-Michigan Algorithmic Decoder NELIAC-Navy Electronics Laboratory International ALGOL Compiler JOVIAL-Jules Own Version International Programming Algorithmic LanguageUsed by U.S Air Force by Jules I.Schwart.
Objectives
Close to standard mathematical notation and readable with little further
explanation Possible to use it for the description of numerical processes in publications Readily translatable into machine code by the machine itself
Design Process
Syntax should be as close as possible to standard scientific notation. Readable. Easy to learn and easy to understand.
3 Complication of Algol 58
developing new compilers
ALGOL 60
ALGOL 60
ALGOL 60 (short for ALGOrithmic Language 1960) is a member of the ALGOL family
of computer programming languages. It gave rise to many other programming languages, including: BCPL B PASCAL Simula C ALGOL 60 was the first language implementing nested function definitions with lexical scope.
There are 71 such restricted identifiers in the standard Burroughs large systems sub-language:
ACCEPT AND ATTACH BY CALL CASE CAUSE CLOSE DEALLOCATE DEFINE DETACH DISABLE DISPLAY DIV DUMP
ENABLE EQL EQV EXCHANGE EXTERNAL FILL FORWARD GEQ GTR IMP IN INTERRUPT IS LB
LEQ LIBERATE LINE LOCK LSS MERGE MOD MONITOR MUX NEQ NO NOT ON OPEN
OR OUT PICTURE PROCESS PROCURE PROGRAMDUMP RB READ RELEASE REPLACE RESET RESIZE REWIND RUN
SCAN SEEK SET SKIP SORT SPACE SWAP THRU TIMES TO WAIT WHEN WITH WRITE
An alternative example, using Elliott Algol I/O is as follows. Elliott Algol used different characters for "open-string-quote" and "close-string-quote", represented here by and .
Program hi Folks; begin
ALGOL 68
Is an imperative computer programming language that was conceived as a successor to the ALGOL 60 programming language, designed with the goal of a much wider scope of application and more rigorously defined syntax and semantics.
Its features include expression-based syntax, user-declared types and structures/tagged-unions, a reference model of variables and reference parameters, string, array and matrix slicing, and also concurrency. was designed by IFIP Working Group 2.1
was defined using a two-level grammar formalism invented by Adriaan van Wijngaarden
was the first (and possibly one of the last) major language for which a full formal definition was made before it was implemented.
Orthogonal design,
Security, Efficiency:
In 1970, ALGOL 68R became the first working compiler for ALGOL 68.
In the 1973 revision, certain features - such as proceduring, gommas and formal bounds - were omitted.
Program representation
Representation language - used to describe algorithms in printed
work
Strict language - rigorously defined in the Report Reference language - intended to be used in actual compiler
input.
The basic data types (called modes in Algol 68 parlance) are : >Real >Int >compl (complex number) >Bool >Char >bits and bytes.
Primitive-declarer:
bits - a "packed vector" of bool. bytes - a "packed vector" of char. string - a flexible array of char. Sema - a semaphore which can be initialised with
the operator level.
length on demand. heap - allocate variable some free space from the global heap. loc - allocate variable some free space of the local stack. ref - declare the variable to be a pointer, similar to using "&" in a C declaration. long - declare an int, real or compl to be of a longer size. short - declare an int, real or compl to be of a shorter size
Example:
int max=99; mode newtype = [0:9][0:max]struct ( real a, b, c, short int i, j, k, ref real r );
long
THANK YOU!
RAINNALYN CAPARAS KRISTINE DIANNE TECSON MARINEL NOCON HERMOGENES AMORES ADRIAN AMOR PEREYRA