comp.lang.ada
 help / color / mirror / Atom feed
* Diana specification for Ada
@ 2000-08-24  0:00 Dragonboy
  2000-08-24  0:00 ` Tucker Taft
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Dragonboy @ 2000-08-24  0:00 UTC (permalink / raw)


Does anyone know where I can object a functional/design specification
for the Diana intermediate representation that is used by Ada
compilers?  I know that it's some form of abstract syntax tree, but
that's about it.

Thanks.

-DB





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-24  0:00 Diana specification for Ada Dragonboy
@ 2000-08-24  0:00 ` Tucker Taft
  2000-08-25  0:00   ` Dragonboy
  2000-09-02 20:15   ` Mark T
  2000-08-25  0:00 ` Geg Bek
  2000-09-06  8:33 ` Antonio Dur�n Dom�nguez
  2 siblings, 2 replies; 10+ messages in thread
From: Tucker Taft @ 2000-08-24  0:00 UTC (permalink / raw)


Dragonboy wrote:
> 
> Does anyone know where I can object a functional/design specification
> for the Diana intermediate representation that is used by Ada
> compilers?  I know that it's some form of abstract syntax tree, but
> that's about it.

AverStar in its former guise of Intermetrics (Bethesda, MD) delivered
a "Diana Reference Manual, Revision 4" to Naval Research Laboratory on
5 May 1986.  The Intermetrics document number was "IR-MD-078" and
the NRL contract number was N00014-84-C-2445.

Unfortunately, the author's of that document have since left the company,
but you might be able to call our Vienna office and see if they still
have access to the old Bethesda archives (TEL: 703-827-2606, you might
ask for Darryl Scott -- dscott@averstar.com).

The other source would be Rational, who continue to use a variant of
Diana in their Ada 95 compiler, I believe.  Most other vendors
do not use Diana currently, though all obviously have some form
of abstract syntax tree, though it might be just for a fragment of
the program.

> 
> Thanks.
> 
> -DB

-- 
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Commercial Division, AverStar (formerly Intermetrics)
(http://www.averstar.com/services/IT_consulting.html)  Burlington, MA  USA




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-25  0:00   ` Dragonboy
@ 2000-08-25  0:00     ` (null)
  2000-08-29  0:00     ` Tucker Taft
  1 sibling, 0 replies; 10+ messages in thread
From: (null) @ 2000-08-25  0:00 UTC (permalink / raw)


In article <39A697EA.C550BB83@excite.com>,
Dragonboy  <dragonboy42@excite.com> wrote:
>Why don't most vendors use it?  I was under the impression that it was an
>extremely powerfull IR.  Is it too cumbersome?


I can't really help you out much if you want to use DIANA as the
internal representation for your own compiler, but if you just want
to write programs that access a compiler's internal representation
for a given Ada program you should take a look at ASIS, Ada Semantic
Interface Specification.

You can find it at 

   http://www.asset.com/stars/lm-tds/Papers/asis/asis.html
	http://www.acm.org/sigada/WG/ASISWG/


-- 
=======================================================================
 Life is short.                  | Craig Spannring 
      Bike hard, ski fast.       | cts@internetcds.com
 --------------------------------+------------------------------------




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-24  0:00 Diana specification for Ada Dragonboy
  2000-08-24  0:00 ` Tucker Taft
@ 2000-08-25  0:00 ` Geg Bek
  2000-09-06  8:33 ` Antonio Dur�n Dom�nguez
  2 siblings, 0 replies; 10+ messages in thread
From: Geg Bek @ 2000-08-25  0:00 UTC (permalink / raw)


This information is from:
DIANA
An Intermediate Language for Ada
William A. Wulf, Arthur Evans, Jr., Kenneth J. Butler
Tartan Labs.
ISBM 3-540-12695-3
Published by Springer-Verlag

This is dated 1988, so wouldn't have any Ada95 in it at all.

I think Rational is the only vendor that ever really used DIANA.
But the way it is physically represented is very implementation
dependent.  For instance, for Rational Apex we make sure
we represent DIANA in a way that permits incremental updates.

As Tucker said, the best way to read DIANA is through ASIS.
Updating/writing DIANA is best left to the compiler.

GReg

Dragonboy wrote in message <39A54478.68D5EA7C@excite.com>...
>Does anyone know where I can object a functional/design specification
>for the Diana intermediate representation that is used by Ada
>compilers?  I know that it's some form of abstract syntax tree, but
>that's about it.
>
>Thanks.
>
>-DB
>






^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-24  0:00 ` Tucker Taft
@ 2000-08-25  0:00   ` Dragonboy
  2000-08-25  0:00     ` (null)
  2000-08-29  0:00     ` Tucker Taft
  2000-09-02 20:15   ` Mark T
  1 sibling, 2 replies; 10+ messages in thread
From: Dragonboy @ 2000-08-25  0:00 UTC (permalink / raw)


Why don't most vendors use it?  I was under the impression that it was an
extremely powerfull IR.  Is it too cumbersome?

You seem to know a bit about it.  Does the DOD use Diana?

Thanks.

-Mark


Tucker Taft wrote:

> Dragonboy wrote:
> >
> > Does anyone know where I can object a functional/design specification
> > for the Diana intermediate representation that is used by Ada
> > compilers?  I know that it's some form of abstract syntax tree, but
> > that's about it.
>
> AverStar in its former guise of Intermetrics (Bethesda, MD) delivered
> a "Diana Reference Manual, Revision 4" to Naval Research Laboratory on
> 5 May 1986.  The Intermetrics document number was "IR-MD-078" and
> the NRL contract number was N00014-84-C-2445.
>
> Unfortunately, the author's of that document have since left the company,
> but you might be able to call our Vienna office and see if they still
> have access to the old Bethesda archives (TEL: 703-827-2606, you might
> ask for Darryl Scott -- dscott@averstar.com).
>
> The other source would be Rational, who continue to use a variant of
> Diana in their Ada 95 compiler, I believe.  Most other vendors
> do not use Diana currently, though all obviously have some form
> of abstract syntax tree, though it might be just for a fragment of
> the program.
>
> >
> > Thanks.
> >
> > -DB
>
> --
> -Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
> Technical Director, Commercial Division, AverStar (formerly Intermetrics)
> (http://www.averstar.com/services/IT_consulting.html)  Burlington, MA  USA





^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-25  0:00   ` Dragonboy
  2000-08-25  0:00     ` (null)
@ 2000-08-29  0:00     ` Tucker Taft
  1 sibling, 0 replies; 10+ messages in thread
From: Tucker Taft @ 2000-08-29  0:00 UTC (permalink / raw)


Dragonboy wrote:
> 
> Why don't most vendors use it?  I was under the impression that it was an
> extremely powerfull IR.  Is it too cumbersome?

Most compilers use something like Diana, but they generally only
keep it in memory rather than writing it out to disk, and they
only keep it as long as they need it for doing semantic processing.

> You seem to know a bit about it.  Does the DOD use Diana?

The DoD supported the development of several Ada compilers, some of
which used something like Diana, and some of which didn't.  The only
DoD-sponsored Ada compiler still used widely is GNAT, and it doesn't
use Diana, though it does support ASIS which has emerged as the
successor to Diana (for the purpose of building tools that are interested
in the Ada library).  [Note that all current development of GNAT is
on ACT's own nickel.  Also, many of the other compiler vendors had DoD 
contracts to help with their upgrade to Ada 95, as part of the Ada 9X project 
and various follow-ons.]

Diana was basically too cumbersome to use as a persistent representation
of the Ada program library.  The I/O overhead of writing it and reading it
slowed the whole compiler down significantly.  Verdix played some tricks
to use virtual memory to page their diana-like persistent representation.
Rational originally used hardware support on the R1000.  I'm not sure 
what they use now.  

The GNAT (ACT) and AdaMagic (AverStar, Green Hills, Aonix) Ada 95 compilers 
have pretty much abandoned the idea of a persistent Ada program library, and 
they regenerate whatever information they need from other compilation units
by rereading their source, rather than saving and rereading their Diana.

Given the era of faster and faster CPUs compared to I/O, and the fact
that the source representation is approximately 10 times more dense than
the average Diana representation, reconstructing from source turns out
to be significantly faster.  AdaMagic also uses an in-memory caching scheme
to support compiling multiple source files in a single execution of the
compiler, which tends to give the best of both worlds, making an individual
compile quite fast, and a compile-the-world-in-one-compiler-execution
even faster (per line of code, that is).

As mentioned in several posts, ASIS has been defined to allow tool vendors
to query information about the (conceptual) Ada program library, without
actually requiring that it be stored in Diana format.  This is a much
more fruitful direction, and a number of vendors support ASIS, including
some that don't actually have *any* persistent program library.  They support
ASIS via an ASIS "server" process, that is essentially the Ada compiler
"slurping" in appropriate source code on demand when an ASIS query
can't be satisfied from compilation units already in the server's memory.

> Thanks.
> 
> -Mark
> 
-Tucker Taft
-- 
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Commercial Division, AverStar (formerly Intermetrics)
(http://www.averstar.com/services/IT_consulting.html)  Burlington, MA  USA




^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-08-24  0:00 ` Tucker Taft
  2000-08-25  0:00   ` Dragonboy
@ 2000-09-02 20:15   ` Mark T
  2000-09-02 21:03     ` Robert Dewar
  2000-09-03 18:27     ` Mark T
  1 sibling, 2 replies; 10+ messages in thread
From: Mark T @ 2000-09-02 20:15 UTC (permalink / raw)


from what I remember DIANA came out of Stanford University and I think
I downloaded the source code about 5 years ago!

In the "old days" a lot of good ideas came out of universities and then
disappeared into private companies instead of becoming open source like
they probably would today.


Sent via Deja.com http://www.deja.com/
Before you buy.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-09-02 20:15   ` Mark T
@ 2000-09-02 21:03     ` Robert Dewar
  2000-09-03 18:27     ` Mark T
  1 sibling, 0 replies; 10+ messages in thread
From: Robert Dewar @ 2000-09-02 21:03 UTC (permalink / raw)


In article <8orn41$87t$1@nnrp1.deja.com>,
  Mark T <mmt_taube@my-deja.com> wrote:

> In the "old days" a lot of good ideas came out of universities
and then
> disappeared into private companies instead of becoming open
source like
> they probably would today.

I really don't see that this claim is generally fair, in that
I don't think things have changed much. But in any case, the
statement with respect to DIANA is most certainly not fair,
since this work was all very open. Anyone was free to use
the approach, although in practice few did.


Sent via Deja.com http://www.deja.com/
Before you buy.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: Diana specification for Ada
  2000-09-02 20:15   ` Mark T
  2000-09-02 21:03     ` Robert Dewar
@ 2000-09-03 18:27     ` Mark T
  1 sibling, 0 replies; 10+ messages in thread
From: Mark T @ 2000-09-03 18:27 UTC (permalink / raw)


oops sorry that was "Anna" from Stanford which used DIANA, DIANA came
out of CMU (Carnegie-Mellon)



Sent via Deja.com http://www.deja.com/
Before you buy.



^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: Diana specification for Ada
  2000-08-24  0:00 Diana specification for Ada Dragonboy
  2000-08-24  0:00 ` Tucker Taft
  2000-08-25  0:00 ` Geg Bek
@ 2000-09-06  8:33 ` Antonio Dur�n Dom�nguez
  2 siblings, 0 replies; 10+ messages in thread
From: Antonio Dur�n Dom�nguez @ 2000-09-06  8:33 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 815 bytes --]


Dragonboy <dragonboy42@excite.com> escribi� en el mensaje de noticias
39A54478.68D5EA7C@excite.com...
> Does anyone know where I can object a functional/design specification
> for the Diana intermediate representation that is used by Ada
> compilers?  I know that it's some form of abstract syntax tree, but
> that's about it.
>
> Thanks.
>
> -DB
>

In the early 90's I was involved in the NATO APSE Project. The company that
developed the Ada Compilers was the German Company SYSTEAM AG that was
lately acquired by ALSYS. Those compilers used DIANA. The person in charge
of compiler development was Dr. Manfred Dausmann. He also wrote papers and
books regarding to the subject. If anybody knows DIANA for sure he is. I
don't know his current position nor location.

I hope this information will be useful.






^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2000-09-06  8:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-08-24  0:00 Diana specification for Ada Dragonboy
2000-08-24  0:00 ` Tucker Taft
2000-08-25  0:00   ` Dragonboy
2000-08-25  0:00     ` (null)
2000-08-29  0:00     ` Tucker Taft
2000-09-02 20:15   ` Mark T
2000-09-02 21:03     ` Robert Dewar
2000-09-03 18:27     ` Mark T
2000-08-25  0:00 ` Geg Bek
2000-09-06  8:33 ` Antonio Dur�n Dom�nguez

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox