gcc compiler modification to cater for new programming language
Chris Jones
chrisjones@spin.net.au
Thu Jun 14 02:08:00 GMT 2012
David Brown wrote:
> On 11/06/2012 09:45, Chris Jones wrote:
>> Is it possible to modify the source code of gcc to enable to compilation
>> of a completely new programming language, as yet unrecognized? How much
>> of a big job would I be looking at for such a task?
>>
>
> I would think that would depend entirely on the language you want to
> implement. If your language has similar principles to existing gcc
> languages, then most of the middle-end and back-end could be left
> untouched. But if it has major differences, you might need to change
> gcc in all sorts of difficult places.
>
> I guess the best guide here would be to look at the integration of Go
> into gcc - I believe it is the most recent addition to gcc.
>
> You could also consider a stepping stone of making a translator
> between your new language and C (or C++, D, Go, etc.), then using gcc
> to compile the C code. It is not going to be optimal, but it could be
> useful in developing your language, testing the concepts, developing
> the libraries, etc. And it will also help answer your question - if
> you can make a reasonably efficient translator to C (using any gcc
> extensions as needed), then you can expect a reasonably
> straightforward job in writing a gcc front-end to the language. But
> if you find concepts that are particularly alien to C, then you are
> going to have a bigger job writing a gcc front-end.
>
>
So it seems I have two options really. Use a translator to implement my
language with gcc. Or I could develop a new front-end for it to
integrate it into gcc. Am I right?
Also, my new language is completely written from scratch and is nothing
like any other language currently available.
http://simpledictionarylanguage.weebly.com
It's currently in very early stages and is not yet anything workable,
but development is coming along nicely. But I need to know how I'm gonna
compile the eventual code with gcc before I get myself in too deep. At
least now in the early stages, I can change my development path pretty
easily.
Regards
--
Chris Jones
OpenSUSE Linux x86_64 (PC)|Android (Smartphone)|Windows 7 (Laptop)|Windows XP (Gaming)
Kernel developer|Lead Developer of SDL|Lead Developer of Nest Linux|Gamer and Emulator nut|Web Services|Digital Imaging Services
Controllers: Rapier V2 Gaming mouse|Logitech Precision|PS3 controller|XB360 controller|Logitech Attack 3 j/stick
Emulators: Fusion|Gens|ZSNES|Project64|PCSX-R|Stella|WinVICE|WinUAE
More information about the Gcc
mailing list