interactive algol 68

    Interactive ALGOL 68 GudangMovies21 Rebahinxxi LK21

    The Interactive ALGOL 68 compiler for ALGOL 68 was made available by Peter Craven of Algol Applications from 1984. Then in 1994 from OCCL (Oxford and Cambridge Compilers Ltd) until 2004.


    Platforms


    Inmos Transputer family
    Linux for Intel x86 computers
    OS/2 version 2.0 and onward
    SunOS-4.1.3 (Solaris 1) for SPARC-based computers
    Windows 95 and Windows NT for Intel


    Extensions to standard ALGOL 68


    Ability to include source code, and versions of source code.
    Nestable comments
    FORALL syntactic element for looping over arrays.
    ANYMODE a union of all MODEs known to the compiler, and hence dynamic typing.
    Enhanced coercions (casting) allowing stringer then "strong" coercions.
    Enstructuring automatically coerces a variable from type to struct(type)
    Conforming coerces UNION (THING, MOODS) to THING, but if that is not the current mood of the union, then a run-time error will be generated.
    Library interface to the native operating system and other libraries.
    The operator SIZE
    Pseudo-operators ANDTH and OREL, and ANF and ORF for Short-circuit evaluation of Boolean expressions.
    Arrays can be slices with stride to select a subset of elements.
    MOID is treated differently.


    = Example of code

    =
    MODULE vectors
    BEGIN
    INT dim=3;
    MODE VECTOR = [dim]REAL;
    OP + = (VECTOR a, b) VECTOR: ( VECTOR out; FOR i FROM LWB a TO UPB a DO out:=a[i]+b[i] OD; out ),
    - = (VECTOR a, b) VECTOR: ( VECTOR out; FOR i FROM LWB a TO UPB a DO out:=a[i]-b[i] OD; out ),
    DOT = (VECTOR a, b) REAL: ( REAL out:=0; FOR i FROM LWB a TO UPB a DO out+:=a[i]*b[i] OD; out );
    END
    KEEP VECTOR, +, -, DOT


    Restrictions to the language from the standard ALGOL 68


    Variable, Modes and Operators must be declared before use.
    Anonymous procedure may use rows-declarer as a parameter.
    No transient subnames of flexible arrays.
    No formatted Transput (or format-texts).
    Restricted use of straightening of multiple values during Transput.
    Limited use of BYTES, BITS and BOOL.
    restricted use of labels to follow EXIT statements.


    See also


    ALGOL 68


    References




    External links


    "Interactive Algol 68" as an introduction to structured programming for students - Dec 1984
    Archived OCCL Home page
    Proprietary OCCL Algol 68 compiler for MSDOS
    OCCL Algol 68 white-paper

Kata Kunci Pencarian: interactive algol 68