comp.lang.ada
 help / color / mirror / Atom feed
* GNAT for OS/2 and general GNU questions ...
@ 1995-03-25  6:55 Arcadio Alivio Sincero
  1995-03-25  7:30 ` Tore Joergensen
  1995-03-25 19:09 ` Chris O'Regan
  0 siblings, 2 replies; 5+ messages in thread
From: Arcadio Alivio Sincero @ 1995-03-25  6:55 UTC (permalink / raw)



Just got GNAT for OS/2 today ... actually I just got through installing 
OS/2 itself the other day .. so not only am I new to OS/2 programming, I 
am new to OS/2 itself.

Anyhow .. is there a GENERAL FAQ sheet on GNU compilers in general?  I'm 
a little confused as how they work.  They're obviously very different from 
the usual DOS-based compilers I've used.  Are the Ada95, Fortran, and 
soon-to-be Extended Pascal GNU compilers merely TRANSLATORS to C or 
something?  It seems that ALL the GNU compilers I've come across are all 
invoked using the GCC program.  And I thought GCC was a C/C++ compiler.  
Could somebody fill me in or direct me to a FAQ sheet?  

Also, is there a full screen, source level debugger available for GNAT?  
Sort of like how Turbo Debugger is available for Borland Pascal and C?  
I've come across the DOS version of what appears to be a source level 
debugger ... I think it's called GDB or something .. except it's not full 
screen.  More like DOS's DEBUG.COM or Microsoft's SYMDEB ... command-line 
oriented ... yuck ..don't like those kinds at all.  I think there was a 
full-screen debugger available for DOS which debugged C programs at the 
source code level ... it was called LadyBug or something ... is there 
something like that available for OS/2 only for Ada95?

Thanks in advance for any tips you can give me.  I was just fiddiling 
with the GNAT package tonight .. and so far I've been turned off by it 
.. maybe because it's just so different from what I'm used to .. perhaps 
somebody out there can clue me in?  

Arcadio
lotu@wam.umd.edu




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

* Re: GNAT for OS/2 and general GNU questions ...
  1995-03-25  6:55 GNAT for OS/2 and general GNU questions Arcadio Alivio Sincero
@ 1995-03-25  7:30 ` Tore Joergensen
  1995-03-26 17:03   ` Michael Feldman
  1995-03-25 19:09 ` Chris O'Regan
  1 sibling, 1 reply; 5+ messages in thread
From: Tore Joergensen @ 1995-03-25  7:30 UTC (permalink / raw)


Arcadio Alivio Sincero (lotu@wam.umd.edu) wrote:
: <deleted>  Are the Ada95, Fortran, and 
: soon-to-be Extended Pascal GNU compilers merely TRANSLATORS to C or 
: something? <deleted> 
No. The GNU compiler is some kind of a multilanguage compiler. I'm not
quite sure how it works, but it is not a C translator.

: Also, is there a full screen, source level debugger available for GNAT?  
: <deleted> something like that available for OS/2 only for Ada95?
I've heard about a debugger that thinks it is C code. You can debug,
but you don't get the Ada-code. I've heard they will make an Ada-version
when the compiler is finished. Don't know if it is fullscreen.

: <deleted>
______________________________________________________________________
Tore B. Joergensen,    |    e-mail:     tore@lis.pitt.edu
a norwegian student    |    snail-mail: 2201 Pittockstr.
a long way from home.  |                Pittsburgh, 15217 PA
                       |    web:        http://www.pitt.edu/~tojst1



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

* Re: GNAT for OS/2 and general GNU questions ...
  1995-03-25  6:55 GNAT for OS/2 and general GNU questions Arcadio Alivio Sincero
  1995-03-25  7:30 ` Tore Joergensen
@ 1995-03-25 19:09 ` Chris O'Regan
  1995-03-25 22:09   ` Richard Kenner
  1 sibling, 1 reply; 5+ messages in thread
From: Chris O'Regan @ 1995-03-25 19:09 UTC (permalink / raw)


In article <3l0eoq$kjb@cville-srv.wam.umd.edu>

AAS := Arcadio Alivio Sincero <lotu@wam.umd.edu>
AAS>Anyhow .. is there a GENERAL FAQ sheet on GNU compilers in general?  I'm 
AAS>a little confused as how they work.  They're obviously very different from 
AAS>the usual DOS-based compilers I've used.  Are the Ada95, Fortran, and 
AAS>soon-to-be Extended Pascal GNU compilers merely TRANSLATORS to C or 
AAS>something?  It seems that ALL the GNU compilers I've come across are all 
AAS>invoked using the GCC program.  And I thought GCC was a C/C++ compiler.  
AAS>Could somebody fill me in or direct me to a FAQ sheet?  

   They are all *real* compilers.  Gcc is a frontend which calls the
C/C++/Ada/Fortran/Pascal compiler.  From what I understand, these compilers
generate assembly language pseudocode.  Gcc can then optimize this code and,
finally, generate the machine-specific object file.  Gcc can also call the
linker to create the machine-specific executable.

   Although GNAT is called an "Ada Translator", it does not translate Ada
code to C.

AAS>Also, is there a full screen, source level debugger available for GNAT?  

   Although I have not tried the GNU debuggers (gdb and xxgdb), I have
heard that they will handle programs generated by GNAT, however, from what
I understand, they will not display the Ada code.


Chris O'Regan
Computer Engineering,
Concordia University,
Montreal, Canada.
-- 



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

* Re: GNAT for OS/2 and general GNU questions ...
  1995-03-25 19:09 ` Chris O'Regan
@ 1995-03-25 22:09   ` Richard Kenner
  0 siblings, 0 replies; 5+ messages in thread
From: Richard Kenner @ 1995-03-25 22:09 UTC (permalink / raw)


In article <3l1ppu$t2l@newsflash.concordia.ca> ct_oreg@vega.concordia.ca (Chris O'Regan) writes:
>Gcc is a frontend which calls the C/C++/Ada/Fortran/Pascal compiler. 

More precisely, it is a driver program, like "cc" on Unix, that calls
the appropriate sequences of compiler parts: cpp/cc1/as for C, cpp/cc1plus/as
for C++, gnat1/as for Ada, etc.

>From what I understand, these compilers generate assembly language pseudocode.
>Gcc can then optimize this code and, finally, generate the machine-specific
>object file.  Gcc can also call the linker to create the machine-specific
>executable.

Not precisely, but close enough.

>Although I have not tried the GNU debuggers (gdb and xxgdb), I have
>heard that they will handle programs generated by GNAT, however, from what
>I understand, they will not display the Ada code.

No, that's not correct.  The source line numbers in the executable are
independent of the language or filetype, so it certainly does show
the Ada source.  What it does not currently do is accept commands
using Ada syntax for expressions and know about some Ada types.  You
also have to know something about how variable names are transformed.

But it's quite usuable for debugging Ada programs.  It has been used to
debug GNAT for quite a while now.



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

* Re: GNAT for OS/2 and general GNU questions ...
  1995-03-25  7:30 ` Tore Joergensen
@ 1995-03-26 17:03   ` Michael Feldman
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Feldman @ 1995-03-26 17:03 UTC (permalink / raw)


In article <3l0grb$8ji@toads.pgh.pa.us>,
Tore Joergensen <tore@lis.pitt.edu> wrote:
>Arcadio Alivio Sincero (lotu@wam.umd.edu) wrote:
>: <deleted>  Are the Ada95, Fortran, and 
>: soon-to-be Extended Pascal GNU compilers merely TRANSLATORS to C or 
>: something? <deleted> 
>No. The GNU compiler is some kind of a multilanguage compiler. I'm not
>quite sure how it works, but it is not a C translator.

The program that invokes GNAT, "gcc" is a "driver" that notices the file
extension of the source file and invokes the proper compiler. The current
version of gcc recognizes .ads and .adb as Ada file extensions, and -
if you have the GNAT components installed - invokes GNAT.

As has been explained many times here and elsewhere, The gcc compilers
do _not_ produce C, they produce a common intermediate language which
is then assembled. GNAT just fits into this system.

As it happens, the GNAT _binder_ (Ada-level linker) generates a small
C program as a "driver" for your main Ada program. This is done to provide
a framework for the elaboration routines that elaborate the packages
you've WITH-ed. The C compiler is then called to compile this small
driver program (a page or so) and the whole is then linked by the system
linker.
>
>: Also, is there a full screen, source level debugger available for GNAT?  
>: <deleted> something like that available for OS/2 only for Ada95?
>I've heard about a debugger that thinks it is C code. You can debug,
>but you don't get the Ada-code. I've heard they will make an Ada-version
>when the compiler is finished. Don't know if it is fullscreen.

The "standard" GNU-system debugger, GDB, is a line-oriented debugger.
Because names of packages, variables, etc., are somewhat transformed by
GNAT, GDB does not (yet) recognize your program variables directly.
(As a simple example, your overloaded operators are transformed into
identifiers like plus, minus, etc.)

On the other hand, it is not too hard to learn the naming scheme, 
and gdb is usable for anyone willing to take the time. The nice thing
(or the aggravating thing, whatever) about the whole GCC system is that
its look and feel is pretty platform-independent - it all looks like Unix.
So GDB works very much the same on Unix, DOS, OS/2, etc.

There is, in fact, an ongoing project to make GDB more Ada-aware. I
don't know if it'll be full-screen either.

I'm sure Dave Weller and others will respond with other comments about
GNAT-OS/2, so I'll let it go with one more comment: it is quite unrealistic
to expect everything to be done at once. We all have our wish lists for
GNAT, and the GNAT contract calls essentially for developing the compiler,
binder, and most of the standard libraries. The rest is, in a very real
sense, up to you and me. The source code for the whole GCC system is
freely available (indeed, that is the whole idea!), and anyone can
add functionality, bindings, GUI's, etc. 

For instance, NYU's contrib library, pub/gnat/contrib, has a nice,
and rapidly maturing, binding to the OS/2 Presentation Manager,
so you can write actual OS/2 apps, today. The demos are nice.
Bill Yow has done a splendid job so far, as is continuing the work.

We are doing some GNAT work at GW too: our first "product" is a
Turbo-like editor/IDE for the DOS version; it is in NYU's contrib library,
pub/gnat/contrib/gwu/gw-gnat. Our users have commented favorably on
the way we've "packaged" GNAT to get away from the command line.
This is pretty preliminary; stay tuned for more features.

Mike Feldman



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

end of thread, other threads:[~1995-03-26 17:03 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-03-25  6:55 GNAT for OS/2 and general GNU questions Arcadio Alivio Sincero
1995-03-25  7:30 ` Tore Joergensen
1995-03-26 17:03   ` Michael Feldman
1995-03-25 19:09 ` Chris O'Regan
1995-03-25 22:09   ` Richard Kenner

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