| Register | FAQ | Calendar | Search | Today's Posts | Mark Forums Read |
|
#1
| |||
| |||
| Hi all, I would like to investigate on how ada's protected object and tasking features are implemented with C/pthread. Is it possible to use gcc(or other tools) to do the translation? thanks. tony |
|
#2
| |||
| |||
| climber.cui@gmail.com wrote: > > I would like to investigate on how ada's protected object and > tasking features are implemented with C/pthread. Is it possible to use > gcc(or other tools) to do the translation? What makes you think these features are implemented in C? gcc will not translate Ada to C. SofCheck has a compiler that uses ANSI C as its intermediate language, but I suspect what you're interested in is part of their runtime code, not the code produced by the compiler. -- Jeff Carter "It's symbolic of his struggle against reality." Monty Python's Life of Brian 78 |
|
#3
| |||
| |||
| No! In GNAT the compiler generates assembly code. With one exception that is "GNATBIND" program. Using the "-C" option, GNATBIND with produce its binder program in C. But that does very little for what most people want. A thesis, back in 1991 by Jeffrey Skinner, was in titled "Ada2C: An ADA-To-C Program Translator" but it seams that today, most "Ada2C" programs have more to do with homework assignments than actual working programs. In <334c1c0a-0c49-49d3-b03b-867c2288159c@25g2000hsx.googlegroups.com>, climber.cui@gmail.com writes: >Hi all, > I would like to investigate on how ada's protected object and >tasking features are implemented with C/pthread. Is it possible to use >gcc(or other tools) to do the translation? > > thanks. > >tony |
|
#4
| |||
| |||
| On Jul 22, 8:15 pm, "Jeffrey R. Carter" <spam.jrcarter....@spam.acm.org> wrote: > climber....@gmail.com wrote: > > > I would like to investigate on how ada's protected object and > > tasking features are implemented with C/pthread. Is it possible to use > > gcc(or other tools) to do the translation? > > What makes you think these features are implemented in C? > > gcc will not translate Ada to C. > > SofCheck has a compiler that uses ANSI C as its intermediate language, but I > suspect what you're interested in is part of their runtime code, not the code > produced by the compiler. > > -- > Jeff Carter > "It's symbolic of his struggle against reality." > Monty Python's Life of Brian > 78 yes, you are right. It is the Gnat runtime code that implements the concurrent features. But I first want to see what runtime calls is made for certain ADA constructs. When i try to read gcc source code, i got lost at the beginning. |
|
#5
| |||
| |||
| On Jul 22, 8:45 pm, a...@anon.org (anon) wrote: > No! > > In GNAT the compiler generates assembly code. With one exception that is > "GNATBIND" program. Using the "-C" option, GNATBIND with produce its > binder program in C. But that does very little for what most people want. > > A thesis, back in 1991 by Jeffrey Skinner, was in titled "Ada2C: An > ADA-To-C Program Translator" but it seams that today, most "Ada2C" > programs have more to do with homework assignments than actual working > programs. > Any chance to get ADA to be translated to something readable, like ADA code plus run-time calls to its runtime system and pthread library? By the way, how to use GNAT to compile ada program into assembly code? I use gcc with -S option, but did not get anything but an assembly program with no body. tony |
|
#6
| |||
| |||
| climber.cui@gmail.com writes: > Hi all, > I would like to investigate on how ada's protected object and > tasking features are implemented with C/pthread. Is it possible to use > gcc(or other tools) to do the translation? You might be interested in the -gnatD or -gnatG switches. See the docs for details. Or just look at the sources for the runtime libs. - Bob |
|
#7
| |||
| |||
| <climber.cui@gmail.com> wrote in message news:334c1c0a-0c49-49d3-b03b-867c2288159c@25g2000hsx.googlegroups.com... > Hi all, > I would like to investigate on how ada's protected object and > tasking features are implemented with C/pthread. Is it possible to use > gcc(or other tools) to do the translation? > Hi, pthread isn't C. pthread is machine code. The source code may have been in C (or any other programming language for that matter) but you don't execute C. Back in the olden days they used to document OS interface calls in a programming language independent manner, that made it a little clearer. At any rate, while the following information is somewhat outdated, you may find it useful: http://www.iuma.ulpgc.es/users/jmiranda/ Regards, Steve > thanks. > > tony |
|
#8
| |||
| |||
| Steve schrieb: > At any rate, while the following information is somewhat outdated, you may > find it useful: > > http://www.iuma.ulpgc.es/users/jmiranda/ There is an improved version: https://www2.adacore.com/gap-static/...html/index.htm |
|
#9
| |||
| |||
| First to clarify, the compiling process. Normally to compile a program step 1. gnat compile <filename>.adb step 2. gnat bind <filename>.ali or gnatbind <filename>.ali this program creates two files: 1. b~<filename>.adb 2. b~<filename>.ads step 3. gnat link <filename>.ali or gnatlink <filename>.ali this program compiles the package b~<filename>.adb and then finishes the linking process. Note: After linking the b~<filename>.* files are deleted. but in step two and three you can use step 2. gnat bind -C <filename>.ali or gnatbind -C <filename>.ali this creates one file: 1. b_<filename>.c this file is equivalence to the package file: b~<filename>.adb step 3. gnat link -C <filename>.ali or gnatlink -C <filename>.ali this program compiles the C binder file b_<filename>.c and then finishes the linking process. Note: After linking the b_<filename>.* files are deleted. As for the thesis, I am not sure, you might be able to find it. There is a "Jeffrey Skinner" that is into web designing. Maybe he is the same guy, so I would suggest, that you email and ask him. The only problem I see will be that the Ada translator and source code will be based on Ada 83 specs. www.jeffreyskinner.com Jeffrey Skinner. email: jeff [at] jeffreyskinner aka jeff@jeffreyskinner In <822c5e24-bd20-458d-8346-ba22994aa850@d45g2000hsc.googlegroups.com>, climber.cui@gmail.com writes: >On Jul 22, 8:45 pm, a...@anon.org (anon) wrote: >> No! >> >> In GNAT the compiler generates assembly code. With one exception that is >> "GNATBIND" program. Using the "-C" option, GNATBIND with produce its >> binder program in C. But that does very little for what most people want. >> >> A thesis, back in 1991 by Jeffrey Skinner, was in titled "Ada2C: An >> ADA-To-C Program Translator" but it seams that today, most "Ada2C" >> programs have more to do with homework assignments than actual working >> programs. >> >Any chance to get ADA to be translated to something readable, like ADA >code plus run-time calls to its runtime system and pthread library? >By the way, how to use GNAT to compile ada program into assembly code? >I use gcc with -S option, but did not get anything but an assembly >program with no body. > >tony > |
|
#10
| |||
| |||
| climber.cui@gmail.com wrote: > Hi all, > I would like to investigate on how ada's protected object and > tasking features are implemented with C/pthread. Is it possible to use > gcc(or other tools) to do the translation? You'd need an Ada compiler that will translate Ada to C and use C and pthreads for protected objects. I think Sofcheck has such a compiler. |
![]() |
| Thread Tools | |
| Display Modes | |
In an effort to better serve ads to our visitors, cookies are used on objectmix.com. For more information, check out our Privacy Policy.