home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / languages / icon_1 / DOCS / IPD249_DOC < prev    next >
Text File  |  1995-12-01  |  24KB  |  793 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.               Building Version 9 of Icon for MS-DOS
  8.  
  9.                         Ralph E. Griswold
  10.     Department of Computer Science, The University of Arizona
  11.  
  12.  
  13.  
  14.    The implementation of Version 9 of Icon includes both an
  15. interpreter and an optimizing compiler. The interpreter and com-
  16. piler are largely compatible and almost all Icon programs will
  17. run under either, although some features require the specifica-
  18. tion of options when used with the compiler [1].  The interpreter
  19. is appropriate for program development and many production appli-
  20. cations. The compiler can be used to get faster execution speeds
  21. and a stand-alone executable file that can be distributed without
  22. the interpreter.
  23.  
  24.    Note: This document is primarily concerned with building Icon
  25. for MS-DOS, but the source code also can be used to build Icon
  26. for OS/2; see [2].
  27.  
  28.  
  29. 1.__Requirements
  30.  
  31. Processors
  32.  
  33.    Version 9 of Icon runs on computers with 8086/88/x86-family
  34. processors. IBM hardware compatibility is not required. Either
  35. MS-DOS or PC-DOS, Version 3.0 or higher, is needed.  The inter-
  36. preter requires at least 500KB of conventional memory to run
  37. satisfactorily.  The Icon compiler requires a 32-bit processor
  38. with at least 4MB of RAM. A fast 486 with considerably more RAM
  39. is recommended.  The Icon compiler generates C code, which then
  40. must be compiled and linked using the C compiler under which the
  41. Icon compiler was built.
  42.  
  43. C_Compilers
  44.  
  45.    The implementation is written almost entirely in C and RTL
  46. [3], a superset of C for which a translator to C is supplied.
  47.  
  48.    Building the interpreter is straightforward and can be done on
  49. a 16-bit platform with most of the popular C compilers that sup-
  50. port the large memory model.  Building the interpreter requires
  51. at least 510KB of free RAM. If there is not sufficient memory,
  52. MS-DOS may hang. If this happens, you may need to remove some
  53. memory-resident programs to build Icon.  Building the compiler
  54. requires a 32-bit C compiler. The amount of RAM required depends
  55. on the compiler. 4 MB is typical.
  56.  
  57.    To date, the Version 9 interpreter for Icon for MS-DOS has
  58. been successfully built using the following C compilers:
  59.  
  60.  
  61.  
  62.  
  63.  
  64. IPD249                        - 1 -              December 1, 1995
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.         Borland C++ 3.0
  74.         Intel Code Builder 1.0
  75.         Microsoft C 6.0
  76.         Microsoft C 7.0
  77.         Turbo C 2.0
  78.         Watcom C/396 9
  79.         Zortech C++ 3.0
  80.  
  81. The Version 9 compiler for Icon has been successfully built using
  82.  
  83.         Intel Code Builder 1.0
  84.         Watcom C/396 9
  85.         Zortech C++ 3.0
  86.  
  87. Version 9 also has been configured for Metaware High C 2.3, but
  88. this configuration has not been tested.  The use of a C compiler
  89. not listed here involves additional work to provide appropriate
  90. conditional code.
  91.  
  92. Assembly_Language
  93.  
  94.    Icon's co-expressions require an assembly-language context
  95. switch.  An appropriate assembler therefore is necessary to pro-
  96. vide this feature when building Icon entirely from the source
  97. code. However, object files for context switches are provided,
  98. where available, for persons who do not have an assembler. Alter-
  99. natively, co-expressions can be disabled without otherwise
  100. affecting the use of Icon.
  101.  
  102. Batch_Scripts
  103.  
  104.    Some of the batch scripts for building and testing Icon use
  105. the call command, which allows a batch script to be run from
  106. inside another batch script, with control then returning to the
  107. former one. If you are using an early version of MS-DOS that does
  108. not support call, you will have to decompose the batch scripts
  109. that use it into more elementary ones.
  110.  
  111. Disk_Space
  112.  
  113.    The material on the distribution diskettes occupies about
  114. 4.5MB when unloaded.  This amount can be reduced by deleting
  115. files related to the interpreter and to C compilers that will not
  116. be used.  About 1.5MB additional space is needed to completely
  117. build and test the Icon interpreter, although it is possible to
  118. get by with less by building incrementally.  Building the Icon
  119. compiler requires additional disk space - 3 to 4MB depending on
  120. the C compiler used.
  121.  
  122.  
  123. 2.__Organization_of_the_Implementation
  124.  
  125.    The source code for Icon is organized in a hierarchy.  Files
  126. for various components of Icon are packaged using LHA.  A copy of
  127.  
  128.  
  129.  
  130. IPD249                        - 2 -              December 1, 1995
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139. LHA is included in the distribution.  Instructions for unloading
  140. the files are provided on the distribution diskettes.
  141.  
  142.    If the Icon hierarchy is rooted in \icon, the directories
  143. after unloading are:
  144.  
  145.           |-bin------                        executable binaries
  146.           |
  147.           |          |-common---             common files
  148.           |          |
  149.           |          |          |-borland--  Borland C++
  150.           |          |          |-codebldr-  Intel Code Builder
  151.           |          |          |-highc----  Metaware High C
  152.           |-config---|-msdos----|-msc6-----  Microsoft C 6.0
  153.           |          |          |-msc7-----  Microsoft C 7.0
  154.           |          |          |-turbo----  Watcom C
  155.           |          |          |-turbo----  Turbo C
  156.           |          |          |-zortech--  Zortech C++
  157.           |          |
  158.           |          |-os2------|-cset2--    Cset/2
  159.           |
  160.           |          |-common---             common source
  161.           |          |-h--------             headers
  162.           |          |-iconc----             compiler source
  163. |-icon----|-src------|-icont----             translator source
  164.           |          |-preproc--             pre-processor source
  165.           |          |-rtt------             run-time translator source
  166.           |          |-runtime--             run-time source
  167.           |
  168.           |-tests----|-local----             local test results
  169.                      |-stand----             standard test results
  170.  
  171.  
  172. In the descriptions that follow, path specifications assume that
  173. the Icon hierarchy is unloaded in \icon\bin. If the location is
  174. different for your installation or requires a drive specifica-
  175. tion, interpret the path specifications that follow accordingly.
  176.  
  177.    The distribution diskettes also contain documentation and some
  178. tools that may be useful in building and testing Icon. See the
  179. README files on the distribution diskettes.
  180.  
  181. Binary_Files
  182.  
  183.    Since rtt.exe cannot be built under all the C compilers that
  184. otherwise support Icon, a copy is included in the distribution.
  185. Several other executable binaries used in various aspects of
  186. building Icon are also included. These executable binaries are
  187. installed in \icon\bin.
  188.  
  189. Source_Files
  190.  
  191.    The six source-code sub-directories under src contain the fol-
  192. lowing components of Icon:
  193.  
  194.  
  195.  
  196. IPD249                        - 3 -              December 1, 1995
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.      common    files common to different components of Icon.
  206.  
  207.      h         header files used by files in the other direc-
  208.                tories.
  209.  
  210.      iconc     source code for iconc.exe, the optimizing com-
  211.                piler.
  212.  
  213.      icont     source code for icont.exe, the translator and
  214.                linker that converts an Icon source-language pro-
  215.                gram into a form suitable for the interpreter.
  216.  
  217.      preproc   source code for an ANSI C pre-processor used by
  218.                the run-time translator.
  219.  
  220.      rtt       source code for rtt.exe, a program used in
  221.                translating run-time code to C.
  222.  
  223.      runtime   source code for the interpreter, iconx.exe, and
  224.                run-time systems for the compiler and interpreter.
  225.  
  226. Configuration_Directories
  227.  
  228.    In order to simplify the process of compiling Icon under dif-
  229. ferent C compilers, files that are compiler-specific, such as
  230. batch and linker files, are provided in subdirectories of the
  231. config directory.  The MS-DOS configurations presently are:
  232.  
  233.         borland   Borland C++
  234.         codebldr  Intel Code Builder
  235.         highc     Metaware High C
  236.         msc6      Microsoft C 6.0
  237.         msc7      Microsoft C 7.0
  238.         turbo     Turbo C
  239.         watcom    Watcom C
  240.         zortech   Zortech C++
  241.  
  242. The use of these configuration directories is described in next
  243. section. Note: Some files contain path information that may need
  244. to be changed for a particular configuration.
  245.  
  246.  
  247. 3.__Building_Icon_for_a_Supported_Configuration
  248.  
  249.    Before starting to compile Icon, be sure your C compiler is
  250. properly installed and that any paths that it needs are properly
  251. set.
  252.  
  253. Setting_up_Files
  254.  
  255.    The first step in the compilation process is to set up the
  256. files needed for compilation and linking.  If you are using one
  257. of the C compilers mentioned above, there is a batch script in
  258. the top level of the Icon hierarchy (assumed to be \icon here)
  259.  
  260.  
  261.  
  262. IPD249                        - 4 -              December 1, 1995
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271. whose name corresponds to the C compiler.  Running the batch
  272. script performs the configuration.  For example, if you want to
  273. configure Version 9 of Icon to compile under Borland C++, just
  274. enter
  275.  
  276.         borland
  277.  
  278. This batch script copies compiler-specific scripts, source files,
  279. and object files to appropriate places in the source-code hierar-
  280. chy. Note: Some files may not be found during copying for some
  281. compilers. This is normal, since a common copying script is used
  282. and not all configurations have all the files that others do.
  283.  
  284.    A file containing compiler-specific information, status, is
  285. also copied into the top level of the Icon hierarchy.  Read this
  286. file before proceeding, since it may contain information about
  287. problems and limitations related to the C compiler.
  288.  
  289. Configuration_Changes
  290.  
  291.    Once Icon is set up for a specific C compiler, there may be a
  292. few changes you wish to make before building Icon.
  293.  
  294.    Co-Expressions: Co-expressions are supported by default on
  295. most platforms. To disable them, add
  296.  
  297.         #define NoCoexpr
  298.  
  299. to \icon\src\h\define.h.
  300.  
  301.    MS-DOS Functions: There are a few functions specially designed
  302. for using Icon under MS-DOS that are not part of Icon's standard
  303. function repertoire.  The functions are described in [4].  These
  304. functions normally are included if they are supposed for the C
  305. compiler used.  If you wish to eliminate them (which decreases
  306. the size of iconx by a few thousand bytes), remove
  307.  
  308.         #define DosFncs
  309.  
  310. from \icon\src\h\define.h.
  311.  
  312.    Large Integers: Icon has facilities for large-integer arith-
  313. metic, but these facilities normally are disabled for 16-bit MS-
  314. DOS platforms because they increase the size of iconx substan-
  315. tially (20-30KB). If you have enough RAM and wish to enable
  316. large-integer arithmetic, remove the following line from
  317. \icon\src\h\define.h:
  318.  
  319.         #define NoLargeInts
  320.  
  321.  
  322.    Directory Path: The icon compiler, iconc.exe, needs to know
  323. where certain files are located. For most C compilers used to
  324. build iconc.exe, this path can be patched after iconc.exe is
  325.  
  326.  
  327.  
  328. IPD249                        - 5 -              December 1, 1995
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337. built. In some cases, however, this is not possible because of
  338. the format of executable files.  See the file status mentioned in
  339. the preceding section.
  340.  
  341.    In cases where patching does not work, it is necessary to
  342. decide in advance where the files needed by iconc.exe will be
  343. located and to place a definition for RefPath in
  344. \icon\src\h\define.h.  For example, if the location will be
  345. c:\dos, the definition would be
  346.  
  347.         #RefPath "c:\\dos\\"
  348.  
  349. Note that the string must end in a backslash.
  350.  
  351. Use_of_the_Make_Utility
  352.  
  353.    The instructions for building Icon in the next section specify
  354. the use of batch scripts.  A public-domain UNIX-style make util-
  355. ity is included in this distribution.  It is unloaded into
  356. \icon\bin as make.exe.  To use it, move it to a place on your
  357. PATH or add \icon\bin to your PATH.
  358.  
  359.    Makefiles are installed when files are set up for a specific C
  360. compiler. You may find it convenient to use make, especially if
  361. you modify the Icon source code. Be aware, however, that building
  362. Icon from Makefiles requires more RAM than building Icon from
  363. batch scripts. This may cause problems in some situations.
  364. Makefiles also are not available for some steps, either because
  365. some programs malfunction when run under make or because files
  366. are constructed on the fly and their names cannot be determined
  367. in advance.
  368.  
  369. Compilation
  370.  
  371.    The steps in building Icon follow. Note that the first three
  372. steps refer to building the interpreter, while the last two refer
  373. to the compiler. If you only want to build the interpreter, stop
  374. after Step 3.
  375.  
  376.    The directories mentioned in the following steps are relative
  377. to \icon\src.
  378.  
  379.      1. First cd common and run the batch script build.  This
  380.         creates object files used in the various components of
  381.         Icon.
  382.  
  383.      2. Next cd ..\icont and run the batch script build. This
  384.         builds icont.exe and installs it in \icon\bin.
  385.  
  386.      3. Next cd ..\runtime and run the batch script build. This
  387.         builds iconx.exe and installs it in \icon\bin.  Note:
  388.         Problems with insufficient RAM are most likely to occur
  389.         at this step. If the build fails for lack of space or if
  390.         MS-DOS hangs, reboot with fewer memory-resident programs.
  391.  
  392.  
  393.  
  394. IPD249                        - 6 -              December 1, 1995
  395.  
  396.  
  397.  
  398.  
  399.  
  400.  
  401.  
  402.  
  403.    Subsequent steps apply to building the Icon compiler and its
  404. support files.  As mentioned above, a 32-bit C compiler is
  405. required for this.
  406.  
  407.      4. First cd ..\iconc and run the batch script build.  This
  408.         builds iconc.exe and installs it in \icon\bin.
  409.  
  410.      5. This step builds files needed by iconc.exe.  A 386 or
  411.         higher and at least 4MB of RAM are required.  Two of the
  412.         batch scripts assume the Icon interpreter is installed in
  413.         \icon\bin as built by Steps 2 and 3 above.  cd ..\runtime
  414.         and run the following batch scripts:
  415.  
  416.                 header      (creates a header and an object file needed by iconc.exe)
  417.                 icontrns    (creates C files and a database needed by iconc.exe*)
  418.                 iconcomp    (creates object files**)
  419.                 iconlibe    (creates a library needed by iconc.exe*)
  420.  
  421.         The files needed by iconc.exe are copied to \icon\bin.
  422.  
  423.         The scripts flagged with * take a long time. The script
  424.      flagged with ** takes a very long time. The time depends not
  425.      only on processor speed but also on the compiler used.
  426.  
  427.  
  428. 4.__Installing_Icon
  429.  
  430.    After performing the steps specified in the preceding section,
  431. \icon\bin should contain the components of Icon indicated above.
  432.  
  433.    To use Icon, the executable files need to be available via
  434. PATH.  You can add \icon\bin to PATH or move the executable files
  435. to a place already on PATH.
  436.  
  437.    iconc.exe needs to know the location of two files that are
  438. initially installed in \icon\bin.  The files are:
  439.  
  440.         rt.db     a database of information about Icon operations
  441.         rt.h a header file specified in the code iconc.exe produces
  442.  
  443. In addition, the following files are needed for linking the
  444. object files that result from compiling the C files produced by
  445. iconc.exe:
  446.  
  447.         rt.lib    an object library that contains run-time operations
  448.         dlrgint.obj    a stub for large integers (if large integers are not supported)
  449.  
  450.  
  451. If these four files are moved, they should all be placed in the
  452. same directory.
  453.  
  454.    iconc.exe is initially configured to expect its files in the
  455. directory from which it is executed. In order to be able to run
  456. iconc.exe from any location, a path in it must be patched.  The
  457.  
  458.  
  459.  
  460. IPD249                        - 7 -              December 1, 1995
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469. program patchstr.exe, in \icon\bin, performs this task. It is
  470. used as follows:
  471.  
  472.         patchstr iconc.exe directory-path\
  473.  
  474. where directory-path is the full path to the directory in which
  475. the four files mentioned above are located. Note that the path
  476. specification must be followed by a backslash.
  477.  
  478.    For example, if the files that iconc.exe needs are not moved,
  479. the patch step would be
  480.  
  481.         patchstr iconc.exe \icon\bin\
  482.  
  483.  
  484.    The patching process can be repeated as necessary if the
  485. directory is moved.
  486.  
  487.  
  488. 5.__Running_the_Icon_Compiler
  489.  
  490.    Please note: Running the compiler requires significant
  491. resources and it may not be practical on slow processors or plat-
  492. forms with limited amounts of memory.  Furthermore, it may be
  493. necessary to reconfigure your memory extender so that iconc.exe
  494. can use all available RAM.
  495.  
  496.    The use of the compiler under MS-DOS differs somewhat from the
  497. description given in [1], since some of the operations iconc.exe
  498. performs under other operating systems are not practical under
  499. MS-DOS.  Specifically, the C files produced by iconc.exe are not
  500. compiled automatically and subsequently deleted. Instead, these
  501. operations must be done after iconc.exe is run.
  502.  
  503.    A batch script, icomp.bat, for using the Icon compiler, is
  504. installed in \icon\bin.  A typical version is:
  505.  
  506.         iconc %2 %3 %4 %5 %1
  507.         icc %1.c \icon\bin\rt.lib
  508.         del %1.c
  509.         del %1.h
  510.  
  511. The first argument is the name of the Icon program (without the
  512. .icn extension).  The remaining arguments are provided for
  513. options to iconc.  Note that the path for rt.lib needs to be
  514. changed if this file is moved as described in the preceding sec-
  515. tion.
  516.  
  517.    For example, to compile hello.icn with no options, use
  518.  
  519.         icomp hello
  520.  
  521. while to compile hello.icn with no optimizations, use
  522.  
  523.  
  524.  
  525.  
  526. IPD249                        - 8 -              December 1, 1995
  527.  
  528.  
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.         icomp hello -na
  536.  
  537. Note that options follow the program name.  See [1] for other
  538. options.
  539.  
  540.    Note: If you are using more than one C compiler, be careful
  541. that the C compiler used to compile the output of iconc.exe is
  542. the same as the one used to build rt.lib and the other files used
  543. by iconc.exe.
  544.  
  545.  
  546. 6.__Testing_Icon
  547.  
  548.    The following files are required to test Icon:
  549.  
  550.         compare.exe   comparison utility
  551.         icomp.bat     Icon compiler script (compiler tests only)
  552.         iconc.exe     Icon compiler (compiler tests only)
  553.         icont.exe     Icon translator
  554.         iconx.exe     Icon interpreter
  555.  
  556. These files are located in \icon\bin after building Icon.  They
  557. need to be available via PATH for the procedures described below.
  558. Note that icomp.bat may need to be edited as described in the
  559. preceding section.
  560.  
  561.    A suite of test programs is provided in \icon\tests. The
  562. expected output of the test programs is in \icon\tests\stand;
  563. \icon\tests\local is provided for local output.  The ``standard''
  564. output was produced by Intel Code Builder.  Note: The tests pro-
  565. vided are extensive, but they are not exhaustive.
  566.  
  567.    The directory tests contains several batch scripts for testing
  568. Icon. The ones for testing the interpreter are:
  569.  
  570.         intrcoex.bat  co-expressions (if supported)
  571.         intrlarg.bat  large-integer arithmetic (if supported)
  572.         intrmain.bat  other features
  573.  
  574. There are corresponding scripts for testing the compiler:
  575.  
  576.         compcoex.bat  co-expressions (if supported)
  577.         complarg.bat  large-integer arithmetic (if supported)
  578.         compmain.bat  other features
  579.  
  580.  
  581.    These scripts report differences between ``standard'' and
  582. local output.  Due to compiler or configuration differences,
  583. local output will differ in some cases from the output in stand.
  584. Test output from 16- and 32-bit versions of Icon also  may differ
  585. because of different constants used in dynamic hashing and dif-
  586. ferent sizes for storage regions.  The string representation of
  587. floating-point numbers also various among different C libraries.
  588. Also, tests may fail because of inadequate RAM, in which cases
  589.  
  590.  
  591.  
  592. IPD249                        - 9 -              December 1, 1995
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601. the differences shown may be large.
  602.  
  603.    In the case of differences that appear to be abnormal, look at
  604. the corresponding .icn file for a possible explanation.
  605.  
  606.    Note: Running all the interpreter tests takes a long time.
  607. Running all the compiler tests takes a very long time.  If you
  608. are building Icon using a compiler for which Icon has been built
  609. before, you may wish to limit your testing to a few programs. The
  610. scripts compsamp.bat and intrsamp.bat are provided for this pur-
  611. pose.
  612.  
  613.  
  614. 7.__Configuring_Icon_for_a_Non-Supported_C_Compiler
  615.  
  616.    If you want to build Icon under a C compiler for which there
  617. presently is no configuration, set up a configuration directory
  618. for it and copy files from a configuration that is similar to
  619. your C compiler. See [5] for information on modifying the new
  620. configuration to suit your C compiler.
  621.  
  622.    If you are successful in building Icon with the new compiler,
  623. please send the configuration files and any changed source files
  624. to the Icon Project as described in Section 10 so that they can
  625. be incorporated in future releases.
  626.  
  627.  
  628. 8.__The_Implementation_Book
  629.  
  630.    If you are interested in the larger view of the implementation
  631. of Icon, or if you are interested in modifying or extending Icon,
  632. you may want to acquire the book on the implementation [6].  This
  633. book, which can be purchased from the Icon Project, concentrates
  634. on the run-time system and covers data structures, the virtual
  635. machine, the interpreter, the implementation of generators, and
  636. storage management.
  637.  
  638.    The implementation book corresponds to Version 6 of the Icon
  639. source code.  There have been several changes in the source code
  640. between Version 6 and the present version. Supplementary documen-
  641. tation describing these changes is available free of charge from
  642. the Icon Project. Ask for [7-9].
  643.  
  644.  
  645. 9.__Trouble_Reports_and_Feedback
  646.  
  647.    If you run into problems, contact the Icon Project:
  648.  
  649.  
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658. IPD249                       - 10 -              December 1, 1995
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.         Icon Project
  668.         Department of Computer Science
  669.         The University of Arizona
  670.         P.O. Box 210077
  671.         Tucson, AZ   85721-0077
  672.         U.S.A.
  673.         (520) 621-6613 (voice)
  674.         (520) 621-4246 (fax)
  675.         icon-project@cs.arizona.edu
  676.  
  677.  
  678.  
  679.    We cannot guarantee to solve your problems, but we will try.
  680. We also may be able to place you in contact with other persons
  681. who are compiling Icon and who may have similar problems.
  682.  
  683.    Please also let us know of any suggestions for improvements to
  684. the compilation process and its documentation.
  685.  
  686. Acknowledgements
  687.  
  688.    Many persons have been involved in the implementation of Icon.
  689. Clint Jeffery and Gregg Townsend collaborated with the author on
  690. Version 9.
  691.  
  692. References
  693.  
  694.  
  695. 1. R. E. Griswold, Version 9 of the Icon Compiler, The Univ. of
  696.    Arizona Icon Project Document IPD237, 1995.
  697.  
  698. 2. R. E. Griswold, Building Version 9.0 of Icon for OS/2, The
  699.    Univ. of Arizona Icon Project Document IPD260, 1994.
  700.  
  701. 3. K. Walker, The Run-Time Implementation Language for Icon, The
  702.    Univ. of Arizona Icon Project Document IPD261, 1994.
  703.  
  704. 4. R. E. Griswold, Version 9.0 of Icon for MS-DOS, The Univ. of
  705.    Arizona Icon Project Document IPD247, 1994.
  706.  
  707. 5. G. M. Townsend, R. E. Griswold and C. L. Jeffery, Configuring
  708.    the Source Code for Version 9 of Icon, The Univ. of Arizona
  709.    Icon Project Document IPD238, 1995.
  710.  
  711. 6. R. E. Griswold and M. T. Griswold, The Implementation of the
  712.    Icon Programming Language, Princeton University Press, 1986.
  713.  
  714. 7. R. E. Griswold, Supplementary Information for the
  715.    Implementation of Version 8 of Icon, The Univ. of Arizona Icon
  716.    Project Document IPD112, 1995.
  717.  
  718. 8. R. E. Griswold, Supplementary Information for the
  719.    Implementation  of Version 9 of Icon, The Univ. of Arizona
  720.    Icon Project Document IPD239, 1995.
  721.  
  722.  
  723.  
  724. IPD249                       - 11 -              December 1, 1995
  725.  
  726.  
  727.  
  728.  
  729.  
  730.  
  731.  
  732.  
  733. 9. K. Walker, The Run-Time Implementation Language for Version
  734.    8.7 of Icon, The Univ. of Arizona Tech. Rep. 92-18.  July
  735.    1992.
  736.  
  737.  
  738.  
  739.  
  740.  
  741.  
  742.  
  743.  
  744.  
  745.  
  746.  
  747.  
  748.  
  749.  
  750.  
  751.  
  752.  
  753.  
  754.  
  755.  
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790. IPD249                       - 12 -              December 1, 1995
  791.  
  792.  
  793.