Source to source Translation ?

Waverly Edwards <Waverly@DigitSW.com>
30 Jan 1997 22:16:57 -0500

          From comp.compilers

Related articles
Source to source Translation ? Waverly@DigitSW.com (Waverly Edwards) (1997-01-30)
Re: Source to source Translation ? bsheff@ix.netcom.com (1997-02-02)
Re: Source to source Translation ? derek@knosof.co.uk (1997-02-02)
| List of all articles for this month |

From: Waverly Edwards <Waverly@DigitSW.com>
Newsgroups: comp.compilers
Date: 30 Jan 1997 22:16:57 -0500
Organization: Compilers Central
Keywords: translator

Could any point me to some source code for translating C to Pascal.


I have just a few requirements.


1. It be commented or narrated pretty well
2. It not be someones PH.D thesis model
          (If it is, its likely to be way over my head)


I have done *some* required reading, by Reiss (I think it was Reiss,
maybe it was Weill) - Springer Verlag lecture notes on Source to
Source translation using ABSIM. While the concept was not over my
head, the notation and language was pretty hard reading. I also have
Ronald Maks - Creating compilers and interpreters. I'm currenly
investigating how all the different parsers and lexical analyzers
work.




I'd like to know if anyone knows of other books on source to source
translation.


I think my biggest problem is going to be pointer arithmetic and the
translation of operator precedence. I dont know if I these obstacles
can be overcome.


My overall goal is not only to translate C to Pascal but to:


1. Understand the process in minute detail (First an foremost)
2. Create an interpreter (post translation)
3. Create a source to source level debugger, to track the correctness of the
translation.
4. Be equipped with good stuff like cross referencers.


A compiler is not my ultimate goal but it would be icing on the cake.
I would be extremely satisfied with an interpreter. Thats probably
sacrilegous for a compiler group but sometimes you just have to go
against the grain.


Hey, I know I want a lot with very little background but I dont give up easily.


Thanks for any help I can get,


W.
[Operator precedence is easy -- build an expression tree, walk over it to
emit Pascal, and stick in parentheses when you find a lower precedence
expression inside a higher precedence one. Pointers are harder, since there's
a lot of wild 'n' crazy things you can do in C that you can't do in Pascal
without gross implementation-dependent hackery. Take a look at p2c, which
goes the other way and does a decent job of putting out readable source code.
The hard part isn't generating valid output code, it's generating code that
doesn't look like decompiled assembler. -John]








--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.