comp.lang.ada
 help / color / mirror / Atom feed
From: Colossus.Pike@worldnet.att.net (anon)
Subject: Re: Ravenscar-compliant bounded buffer
Date: Sun, 09 Sep 2007 14:49:09 GMT
Date: 2007-09-09T14:49:09+00:00	[thread overview]
Message-ID: <FJTEi.515137$p47.162943@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: 46e3d16e_5@news.bluewin.ch

TROLL!

You can find this on the net. The second paragraph states that
GNAT uses GIGI routine to transform the  AST (Gnat internal trees) 
into an equivalent C tree. For figures do a search for the title and 
load the web page or pdf file.

There are others papers but this is getting borring ! 


Extract Title page and first two paragraphs from Chapter 1.3: 

 A Detailed Description of the GNU Ada Run Time 

 (Version 1.0)

 Integrated with the GNAT 3.15p sources and the Annotated Ada 
 Reference Manual (Technical Corrigendum 1)

 Copyright (c) Javier Miranda
 jmiranda@iuma.ulpgc.es

 Applied Microelectronics Reseach Institute
 University of Las Palmas de Gran Canaria
 Canary Islands

 Spain

 Permission is granted to copy, distribute and/or modify
 this document under the terms of the GNU Free Documentation
 License, Version 1.1 or any latter published by the Free
 Software Foundation.
 14th December 2002



 1.3 The Compiler

 The compiler is composed of two main parts: the front-end and the 
 back-end (cf. Figure 1.2). The front-end of the GNAT compiler is 
 thus written in Ada95. The back-end of the compiler is the back-end 
 of GCC proper, extended to meet the needs of Ada semantics 
 [SGC94, Section 3.1].


 The front-end comprises five phases (cf. Figure 1.3): lexical 
 analysis, syntactic analysis (parsing), semantic analysis, AST 
 expansion, and finally AST transformation into an equivalent C 
 tree (this stage is labeled GiGi (GNAT to GNU transformation). 
 These phases communicate by means of a rather compact Abstract 
 Syntax Tree (AST). The implementation details of the AST are 
 hidden by several procedural interfaces that provide access to 
 syntactic and semantic attributes. The layering of the system, 
 and the various levels of abstraction, are the obvious benefits 
 of writing in Ada, in what one might call ``proper'' Ada style. 
 It is worth mentioning that strictly speaking GNAT does not use 
 a symbol table. Rather, all semantic information concerning 
 program entities is stored in defining occurrences of these 
 entities directly in the AST [SGC94, Section 3.1]. 


In <46e3d16e_5@news.bluewin.ch>, Gautier <gautier@fakeaddress.nil> writes:
>anon:
>
>> Read NYU GNAT (before Adacore) internal messages regarding 
>> GNAT-RTS and GNU C compiling system. It is a direct internal C tree 
>> structure of the C code. That can be printed as a C program. Also there 
>> are a few web sites with doctoral thesis that states this as well as 
>> a few papers at ACM. And ACM group will verify the information before 
>> accepting thesis paper and this is where I learn of it. The paper include 
>> a program that will print internal C as a compilable C source code 
>> file.
>
>You could write a program that outputs the tree as a compilable Ada source code, 
>couldn't you ?
>
>> Now since, the mid 1980's most compiler are FRONT_END compilers aka 
>> a language translator that converts the source language to the system's 
>> main language, normal for today that's C with the exception of TI which 
>> used Pascal.  Then the FRONT_END compiler calls a BACK_END compiler 
>> (for GNAT this is done by the compiler calling "gigi" (gnat-to-gcc)), 
>> which re-calls the gcc compiler for GNU system so that the internal C 
>> can be converted to a object module or assembly source file. 
>> {{ continue below }}
>
>Between the front-end and the back-end, a data tree is passed, not a C source 
>code. As discussed earlier, there is no intermediary C code - please re-read and 
>remember R. Dewar's explanation. As a mnemotechnic exercise, I cannot resist to 
>quote this from c.l.a. (~1998):
>
>"Repeat after me:  GNAT does NOT produce C code.  GNAT does NOT produce C code. 
>  GNAT does NOT produce C code.  GNAT does NOT produce C code. GNAT does NOT 
>produce C code.  GNAT does NOT produce C code.  GNAT does NOT produce C code. 
>GNAT does NOT produce C code.  GNAT does NOT produce C code.  GNAT does NOT 
>produce C code.  GNAT does NOT produce C code.  GNAT does NOT produce C code. 
>GNAT does NOT produce C code.
>There.  Feel better now? :-)
>"
>______________________________________________________________
>Gautier         -- http://www.mysunrise.ch/users/gdm/index.htm
>Ada programming -- http://www.mysunrise.ch/users/gdm/gsoft.htm
>
>NB: For a direct answer, e-mail address on the Web site!




  reply	other threads:[~2007-09-09 14:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-04 13:53 Ravenscar-compliant bounded buffer Maciej Sobczak
2007-09-05  3:00 ` Steve
2007-09-05  7:38   ` Maciej Sobczak
2007-09-06  4:04     ` Steve
2007-09-06 14:06       ` Robert A Duff
2007-09-06 15:36         ` Dmitry A. Kazakov
2007-09-07  2:36           ` Robert A Duff
2007-09-06 21:13         ` Maciej Sobczak
2007-09-07  2:41           ` Robert A Duff
2007-09-07 11:56           ` anon
2007-09-07 19:44             ` Maciej Sobczak
2007-09-08  0:16               ` anon
2007-09-08  1:19                 ` Larry Kilgallen
2007-09-08  5:13                   ` anon
2007-09-08 22:06                     ` Larry Kilgallen
2007-09-09  2:17                       ` anon
2007-09-09 12:07                         ` Larry Kilgallen
2007-09-09 13:10                         ` Markus E L
2007-09-11  2:44                     ` Randy Brukardt
2007-09-08 11:50                 ` Niklas Holsti
2007-09-08 12:01                   ` Pascal Obry
2007-09-08 17:13                     ` anon
2007-09-08 17:11                   ` anon
2007-09-08 19:14                     ` Markus E L
2007-09-09 14:54                       ` anon
2007-09-09 16:01                         ` Markus E L
2007-09-09 10:38                     ` Gautier
2007-09-09 11:41                       ` anon
2007-09-09 13:19                         ` Markus E L
2007-09-09 13:52                         ` Pascal Obry
2007-09-09 15:22                           ` anon
2007-09-09 16:03                             ` Markus E L
2007-09-10  0:05                               ` Larry Kilgallen
2007-09-10  3:10                                 ` Markus E L
2007-09-09 16:05                             ` Markus E L
2007-09-09 18:40                             ` Ed Falis
2007-09-09 19:11                               ` Markus E L
2007-09-09 10:57                     ` Gautier
2007-09-09 14:49                       ` anon [this message]
2007-09-09 15:08                         ` Pascal Obry
2007-09-09 15:38                         ` Markus E L
2007-09-09 19:12                     ` Niklas Holsti
2007-09-09 19:28                       ` Ed Falis
2007-09-10 12:51                   ` Colin Paul Gloster
2007-09-07  1:38         ` Steve
2007-09-07  2:47           ` Robert A Duff
2007-09-05  7:46   ` Dmitry A. Kazakov
2007-09-05  8:17     ` brodax
2007-09-05  8:30     ` Jean-Pierre Rosen
replies disabled

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