PAL CARD CATALOG ENTRY

SHORT DESCRIPTION

A translator for Ada to Diana with tools for using Diana


MOVEMENT WITHIN THE PAL CARD CATALOG
Move to top-level taxonomy
Move to keyword list

ASSET PROFILE

UNIT NAME
Diana
VERSION
OCT 93
REVIEW CODE
C1 1.0 A
INET ADDRESS
librarian@source.asset.com
AUTHOR
William Easton
Peregrine Systems, Inc.
RIGHTS
Approved for public release; distribution unlimited
COPYRIGHT
1993 Peregrine Systems Inc
DATE CREATED
13 October 1993
DATE RELEASED
14 January 1994
DATE LAST UPDATED
14 January 1994
LOCATION
ASSET
PAL
ENVIRONMENT
Not documented in PAL database
LIMITATIONS
Not documented in PAL database
CERTIFICATION
Ada System Certifier_1 1.0
Date/Time of Processing: Wednesday 25 May       1994 04:30:49Pm
Overall Assessment of System: OK
Classification of System: A
Basis of Classification --
Syntax Errors                               PASS
Completeness                                PASS
Independence from External Libraries        PASS
Independence from a Specific Ada Compiler   PASS

Number of ...
Files             119
Library Units     122
Lines           39755
Statements      20127
Comments         3145

FILE LISTING

Directory Display


languages/ada/swtools/diana:
  File Name                 Size
  ---------                 ----
  README                   2,108
  diana.zip              361,634


Totals
  ==============  ==============
    2 Files              363,742

ABSTRACT

ASSET_A_357:  Ada/Diana Front End Tools
     This software system is an Ada front end, that is a system which
translates Ada into Diana, together with associated tools for use of the
Diana.
     The front end is to be considered a prototype version.  It
presently converts statically correct Ada to the corresponding Diana
representation; there is no guarantee that statically incorrect programs
will be diagnosed as such.  (It is the intention to replace this front
end with a production-quality version which will also diagnose
statically incorrect programs.)
     The language accepted is the entire Ada language, including library
support, generics, etc., but not (yet) including any of the Chapter 13
optional features.  The requirement is that the front end accept the
ACVC class A and class C tests.
     The implementation of Diana uses a software virtual memory,
implemented  as a DIRECT_IO file with fixed-size pages.    Diana nodes
are represented as pointers into this file; the current implementation
of a pointer is a record containing a node type, a page number and a
location within a page.  (Of  course, it is strongly recommended that
the details of the current  implementation not be relied upon.)  The
definition of the Diana is given  in IDL form and matches the
Intermetrics 1986 draft definition of Diana  (rather than that published
in 1983).  Program access to Diana nodes and  attributes is given by an
Ada packages (actually, three packages) very similar  to that given in
the 1983 Diana specification.
     The system includes utilities for processing the IDL specification
of Diana to produce programs and packages required for using Diana.  It
also includes a LALR grammar generator (similar in scope to yacc, but
implemented in Ada and tailored to the present project).  In addition, a
tool for printing the Diana in an indented format is included.
     The system consists of about 35,000 lines of Ada source, probably 
about 15,000 Ada statements.  Because of the virtual-memory
implementation,  there should be no arbitrary small limitations due to
main memory table sizes.


REVISION HISTORY

13 October 1993   OCT 93   Release to ASSET
14 January 1994   OCT 93   Initial release to the PAL


RELEASE NOTICE

This prologue must be included in all copies of this software.
Restrictions on use or distribution:  NONE


DISCLAIMER

	This software and its documentation are provided "AS IS" and
without any expressed or implied warranties whatsoever.  No warranties
as to performance, merchantability, or fitness for a particular
purpose exist.
	The user is advised to test the software thoroughly before
relying on it.  The user must assume the entire risk and liability of
using this software.  In no event shall any person or organization of
people be held responsible for any direct, indirect, consequential or
inconsequential damages or lost profits.