3 INTERFACE DEFINITION LANGUAGE COMPILER FRONT END
4 -==============================================-
8 Welcome to the publicly available source release of SunSoft's
9 implementation of the compiler front end (CFE) for OMG Interface Definition
10 Language! This is Release 1.3 of the CFE.
12 The Interface Definition Language (IDL) implementation is divided into
15 - A main program for driving the compilation process
16 - A parser and attendant utilities
17 - One or more back ends (BEs) for taking the processed input and producing
18 output in a target language and target format
22 This is a preliminary version. This software is made available AS IS and
23 WITH NO GUARANTEES. Please read the copyright notice attached at the
26 IMPORTANT NOTICE FOR USERS OF OMG IDL CFE VERSION 1.2.
28 Please carefully read the file CHANGES to obtain IMPORTANT INFORMATION on
29 changes in that may affect the manner in which a BE is constructed. You
30 must follow instructions contained in the file CHANGES to obtain a
31 functional BE if you are migrating an existing BE from OMG IDL CFE v. 1.2.
35 Who should use this release?
37 - You can use this source release to create a stand alone parser for OMG
38 Interface Definition Language. This may be useful to verify the legality
40 - Developers of OMG Interface Definition Language compilers should use this
41 release as a basis for writing their back ends, to obtain a common
42 framework for their compiler and to provide portable and uniform
45 HOW TO OBTAIN THIS SOFTWARE
47 Please use anonymous FTP to omg.org and supply your e-mail address as the
48 password. Then change directories to pub/OMG_IDL_CFE_1.3, set binary transfer
49 and get the file OMG_IDL_CFE_1.3.TAR.Z. This file includes copies of all
50 individual documentation files in the directory.
52 Precompiled binaries constructed from the sources in this release will be
53 made available shortly, in the directory pub/OMG_IDL_CFE_1.3/bin. These
54 binaries are useful for parsing IDL source and for learning about the
55 language. Precompiled binaries for Solaris 2.x and for SunOS 4.x will be
58 You can also use the mail server program to retrieve this software. Send
59 email with the subject 'help' to omg_idl@omg.org, and the mail server will
60 respond with instructions on how to retrieve the software.
62 Copies of this software may be made available from archives other than
63 omg.org. New versions made available by Sun will be placed on omg.org and a
64 message will be sent to this newsgroup announcing its availability.
66 Finally, the SunSoft OMG IDL CFE is also available on magnetic tape for a
67 nominal media charge directly from SunSoft. Please refer to part number
68 DIDL-100-STP when ordering.
72 Please let us know who you are if you decide to use this software, and how
73 you use it. Please send e-mail to:
77 This address can also be used to report problems, bugs, suggestions and
78 send general comments.
80 WHAT IS PROVIDED IN THE RELEASE
82 Provided in this release are:
84 - A main program for driving an Interface Definition Language compiler
85 - A parser for the Interface Definition Language grammar which builds an
86 internal representation of the input parsed. This internal
87 representation, named an Abstract Syntax Tree (AST), is used as input to
89 - Some utility functions used by the parser
90 - A demonstration back end (BE) which exercises the front end but produces
92 - Documentation of the public interfaces and of the contract between
93 the compiler front end and a back end
97 A complete compiler operates in two passes:
99 - The first pass, provided in this release, parses the IDL input and
100 produces an internal representation, called an Abstract Syntax Tree (AST).
101 This pass also does a complete syntax and semantics check of the input
102 provided to ensure that exactly legal IDL input is accepted. If a syntax
103 or semantic error is discovered, the second pass is not invoked.
104 - The second pass, provided by compiler developers, takes the AST and
105 produces output in the language and format of choice. A demonstration
106 back end is provided in the release.
108 HOW TO USE THIS SOFTWARE
110 To create a complete compiler from OMG Interface Definition Language to a
111 target language, compiler developers will:
113 - Write a back end (BE) to take the internal representation of the input
114 parsed and translate it to the target language and format. You will
115 probably want to replace the BE directory in this source tree with your
117 - Link the BE with the sources provided here to produce a complete
122 The OMG Interface Definition Language is fully described in the CORBA
123 documentation, Chapter 4. This document may be obtained from OMG.
125 This release also provides the following documents:
127 - This README file, describing the release
128 - INSTALL, describing installation of the software
129 - WRITING_A_BE contains all the information needed to start writing a back
130 end for this distribution
131 - CHANGES_IN_AST describes changes that affect migration of BEs written
132 against version 1.2 to version 1.3.
133 - CLI, describing the command line interface to the CFE
134 - ROADMAP, describing the directory structure for the source code. This
135 file will assist a developer in understanding the structure of the code
137 - PROBLEMS, describing a list of issues that may be addressed in future
139 - BUG_REPORT, containing a form for use in reporting bugs and problems
144 The INSTALL file explains how to customize the software for specific
145 platforms. The source distribution expects the following environment:
147 - Sparcstation 1, 2, or 10 hardware
148 - SunPro SparcWorks 3.x or 4.0
150 As preconfigured, it compiles on Solaris 2.x. It can be reconfigured to
151 compile on SunOS 4.x, or Apollo Domain OS. As far as is known, no use
152 is made of Sun Make-specific features, and the Makefiles should be usable
153 with other make programs.
155 This release has been tested and is believed to operate correctly with:
156 - SunPro Sparcworks 2.x and 3.0 on SunOS 4.1.x
157 - SunPro Sparcworks 2.x and 3.0 on Solaris 2.3
158 - g++ 2.5.8 on SunOS 4.1.x
159 - g++ 2.5.8 on Solaris 2.3
163 This release is targetted for Sun workstations running Solaris 2.x. The
164 process of installing this software is described in detail in the file
165 INSTALL in this directory. The INSTALL file also describes how to customize
166 the release for your own environment if it is different.
170 A list of known deficiencies is provided in the file PROBLEMS in this
171 directory. If you find a problem which is not mentioned in it, please
172 report it as described below. Please read this file now to be apprised of
173 the problems found so far with this release.
177 This copyright notice appears on all files. Please read it!
179 Copyright 1992, 1993, 1994 Sun Microsystems, Inc. Printed in the United
180 States of America. All Rights Reserved.
182 This product is protected by copyright and distributed under the following
183 license restricting its use.
185 The Interface Definition Language Compiler Front End (CFE) is made
186 available for your use provided that you include this license and copyright
187 notice on all media and documentation and the software program in which
188 this product is incorporated in whole or part. You may copy and extend
189 functionality (but may not remove functionality) of the Interface
190 Definition Language CFE without charge, but you are not authorized to
191 license or distribute it to anyone else except as part of a product or
192 program developed by you or with the express written consent of Sun
193 Microsystems, Inc. ("Sun").
195 The names of Sun Microsystems, Inc. and any of its subsidiaries or
196 affiliates may not be used in advertising or publicity pertaining to
197 distribution of Interface Definition Language CFE as permitted herein.
199 This license is effective until terminated by Sun for failure to comply
200 with this license. Upon termination, you shall destroy or return all code
201 and documentation for the Interface Definition Language CFE.
203 INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED AS IS WITH NO WARRANTIES OF
204 ANY KIND INCLUDING THE WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS
205 FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR ARISING FROM A COURSE OF
206 DEALING, USAGE OR TRADE PRACTICE.
208 INTERFACE DEFINITION LANGUAGE CFE IS PROVIDED WITH NO SUPPORT AND WITHOUT
209 ANY OBLIGATION ON THE PART OF Sun OR ANY OF ITS SUBSIDIARIES OR AFFILIATES
210 TO ASSIST IN ITS USE, CORRECTION, MODIFICATION OR ENHANCEMENT.
212 SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES SHALL HAVE NO LIABILITY WITH
213 RESPECT TO THE INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY
214 INTERFACE DEFINITION LANGUAGE CFE OR ANY PART THEREOF.
216 IN NO EVENT WILL SUN OR ANY OF ITS SUBSIDIARIES OR AFFILIATES BE LIABLE FOR
217 ANY LOST REVENUE OR PROFITS OR OTHER SPECIAL, INDIRECT AND CONSEQUENTIAL
218 DAMAGES, EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
220 Use, duplication, or disclosure by the government is subject to
221 restrictions as set forth in subparagraph (c)(1)(ii) of the Rights in
222 Technical Data and Computer Software clause at DFARS 252.227-7013 and FAR
225 Sun, Sun Microsystems and the Sun logo are trademarks or registered
226 trademarks of Sun Microsystems, Inc.
230 Mountain View, California 94043
234 SunOS, SunSoft, Sun, Solaris, Sun Microsystems or the Sun logo are
235 trademarks or registered trademarks of Sun Microsystems, Inc.