





                 Version 5.9 of Icon for MS-DOS




   This diskette contains executable binary files for Version 5.9
of Icon running under MS-DOS. This implementation should run on
an IBM PC, XT, AT or other 8086/88/186/286 family computer.  IBM
PC hardware equivalence is not required; only DOS compatibility
is needed:  PC- or MS-DOS Version 2.0 or above.  It is a small
memory model implementation and requires 192 KB of memory during
execution.  An 8087 will be used if it is present.

   This implementation was done by Cheyenne Wills of Mechan-
icsburg, Pennsylvania.  He has placed it in the public domain to
make it as widely available as possible.  He also provided the
technical information contained in this document.

   This material is being distributed by the University of
Arizona as a service to the computing community. It makes no war-
ranties of any kind as to the correctness or suitability of this
material for any application.

   This diskette can be copied and used freely, provided the
material on it is not modified and that appropriate credit is
given where applicable. Persons who obtain a copy of this
diskette from a secondary source are encouraged to register their
copy by sending a completed copy of the registration form on this
diskette (REGIS.FRM) to:

        Icon Project
        Department of Computer Science
        The University of Arizona
        Tucson, AZ   85721

Persons who register their copies will receive the Icon
Newsletter, which is published aperiodically, free of charge and
will be notified of corrections, new releases, and so forth.

Documentation

   Version 5 of the Icon programming language is described in the
following book:

     The Icon Programming Language, Ralph E. Griswold and Madge
     T.  Griswold, Prentice-Hall, Inc., Englewood Cliffs, New
     Jersey.  1983. ISBN 0-13-449777-5.

A brief overview of Icon is contained in the file OVERVIEW.DOC on
this diskette.  Features that have been added to Version 5 of
Icon since the book was written are described in the file
EXTEN.DOC.  Printed copies of these documents are available on
request from the Icon Project at the address listed above.




                              - 1 -








Installing MS-DOS Icon

   The four executable binary files need to run Icon are:

        ICONT.EXE  command processor
        ITRAN.EXE  translator
        ILINK.EXE  linker
        ICONX.EXE  interpreter

These files can be copied to any location that is accessible via
the current PATH setting.

Running MS-DOS Icon

   Icon programs must have the extension .icn. An Icon program in
the file prog.icn is translated by

        icont prog.icn

The result is a file with the name prog (with the extension
removed).  This file can be run by

        iconx prog

Alternatively, the program can be automatically run after trans-
lation by

        icont prog.icn -x

In this case the file prog also is left and can be run subse-
quently using iconx.

   More information about running Icon is contained in RUN.DOC.

Testing MS-DOS Icon

   There are a few programs on the distribution diskette that may
be used for testing Icon:

     hello.icn   This program prints the version, installation
                 options, time, and date.  Run this test as

                         icont hello.icn -x


     cross.icn   This program prints all the ways that two words
                 intersect in a common character. The file
                 cross.dat contains typical data. Run this test
                 as

                         icont cross.icn -x <cross.dat






                              - 2 -








     meander.icn This program prints the "meandering strings"
                 that contain all subsequences of a specified
                 length from a given set of characters. Run this
                 test as

                         icont meander.icn -x <meander.dat


     roman.icn   This program converts Arabic numerals to Roman
                 numerals. Run this test as

                         icont roman.icn -x

                 and provide some Arabic numbers from the con-
                 sole.

     wordcnt.icn This program tabulates the number of occurrences
                 of each word from the input file. Run this test
                 as

                         icont wordcnt.icn -x <file

                 where file contains some text of interest.

Features of MS-DOS Icon

   MS-DOS Icon supports all the features of Version 5.9 of Icon,
including sets and the experimental features described in
EXTEN.DOC, with the following exceptions and additions:

     +  Pipes are not supported.  A file cannot be opened with
        the "p" option.

     +  There is two new options for open: "t" and "u". "t" indi-
        cates that the file is to be translated into UNIX format.
        All carriage-return/line-feed sequences are translated
        into newline sequences on both input and output.  "t" is
        the default. "u" indicates that the file is to be
        untranslated.  Examples are:

                untranfile := open("test.fil","ru");
                tranfile := open("test.new","wt");


     +  The IPATH environment string, as described in EXTEN.DOC
        and RUN.DOC, is supported.  The separator between paths
        is the semicolon.  The current directory is always
        searched.  For example,

                SET IPATH=A:\;A:\ICON\LIB

        searches the current directory, then root directory on
        drive A, and finally the directory A:\ICON\LIB.




                              - 3 -








     +  Path specifications can be entered using either a / or a
        \ .  Examples are:

                A:\ICON\TEST.ICN
                A:/ICON/TEST.ICN


     +  The following MS-DOS device names can be used as
        filenames:

                AUX     Refers to an auxiliary device.
                CON     Refers to the console.
                PRN     Refers to the printer device.
                NUL     Specifies a "null" file.  Giving NUL as a filename means
                           that no file is created.

        These special names remain associated with the devices
        listed above, even if device designations or filename
        extensions are added to them.  For example, A:CON.XXX
        refers to the console and is not the name of a disk file.

     +  Trace output is sent to STDERR.  On MS-DOS STDERR is not
        re-directable from the command line.

     Bugs and Limitations

        Since this is a small memory model implementation, the
     amount of data available for a running program is limited.

        This is a new implementation and some problems with it
     are likely to occur. Problems should be reported using the
     trouble report form given in TROUBLE.FRM on the distribution
     diskette.

        See RUN.DOC for a list of known bugs.

     Future Plans

        A large memory model implementation of Icon under MS-DOS
     is underway.

        Material from the Icon program library is being adapted
     to MS-DOS and will be distributed separately when it is
     ready.



     Ralph E. Griswold

     Department of Computer Science
     The University of Arizona

     October 18, 1985




                              - 4 -


