release of the IDL Toolkit

SoftLab Distribution softlab at unc.UUCP
Mon Dec 16 09:33:05 AEST 1985


                     Richard Snodgrass

               Department of Computer Science
                University of North Carolina
                   Chapel Hill, NC 27514

     A collection of tools supporting the Interface Descrip-
tion  Language  (IDL)  is  now available for the Vax running
under Berkeley UNIX 4.2BSD and the Sun  workstation  running
under  Sun UNIX 2.0.  These tools automate the production of
a portion of compilers  and  other  programming  environment
components;  in  this way they are similar to lex and  yacc.
The tools have been used to construct several compilers here
at UNC and at Columbia University and Ohio State University.

     IDL is a notation for describing abstract  data  struc-
tures;  these  specifications can be translated into readers
and writers, as  well  an  internal  manipulation  routines.
Tools  in a software system often pass around complex struc-
tures; IDL allows much of  the  mundane  code  that  involve
these structures to be automatically generated (in one typi-
cal example, 14% of the source  was  generated  by  lex  and
yacc;  another  37%  was generated by the IDL toolkit).  The
best known IDL specification is Diana, which has become a de
facto  standard intermediate representation of Ada programs.
IDL was designed by John Nestor,  William  Wulf,  and  David
Lamb, and is described in

    Nestor, J.R., W.A. Wulf, and  D.A.  Lamb,  Interface
    Description  Language:  Formal Description, Revision
    2.0, Technical Report, Computer Science  Department,
    Carnegie-Mellon  University,  Pittsburgh,  PA,  June

    Lamb, D.A.,  Sharing  Intermediate  Representations:
    The  Interface Description Language, Ph.D. Disserta-
    tion, Computer Science  Department,  Carnegie-Mellon
    University, Pittsburgh, PA, May 1983.

    Warren, W.B.,  J. Kickenson,  and  R. Snodgrass,   A
    Tutorial   Introduction   to   Using  IDL,   SoftLab
    Document 1, Computer Science Department,  University
    of  North Carolina, Chapel Hill, NC, November, 1985.

     The IDL Toolkit contains several tools for manipulating
IDL  structure  specifications and instances of these struc-
tures. The tools include a compiler for IDL which produces C
code for the readers and writers, a graphical printer of IDL
instances generating output for lineprinters and the  Imagen
laser  printer,  a  generic instance reader, a specification
expander,  an  instance  formatter,  and  a   simple   cross
referencer.  The tools have been in use since May, 1985, are
robust and are well documented.

     The distribution consists of a 1600 bpi  magnetic  tape
containing  all  source code, seven manuals totalling almost
300 pages, and  installation  instructions.  The  source  is
approximately  60,000 lines, or 2 Mbytes; the object code is
approximately .7 Mbytes.  The toolkit is available to educa-
tional  institutions for a distribution cost of $300; others
should make arrangements with Richard Snodgrass, phone (919)
962-4530.  To request a copy of the tutorial and a distribu-
tion agreement,  please communicate your name,  affilication
and post office address to

                 Donna Boggs
Snail Mail:      SoftLab Distribution Coordinator
                 Department of Computer Science
                 University of North Carolina
                 Chapel Hill, NC 27514
Phone:           (919) 962-7330
Electronic Mail: softlab at unc (csnet)
                 softlab.unc at CSNET-RELAY (ARPAnet)

More information about the Comp.lang.c mailing list