We're out of tree codes; now what?

Tarmo Pikaro tapika@yahoo.com
Thu Mar 22 21:00:00 GMT 2007


> As for what is best to do, I don't know. But I do know that complexity is 
> bad, and that GCC is very complex. You are absolutely right about there 
> being hard limits. There are trade-offs required. Whether the current and 
> ongoing trade-offs are the right ones is an open question.

I'm completely newcomer here on gcc mail list, and the reason why I came here is
because I've become intrested about compiler and what it does. I have already by myself 
came accross the problem of not only to make something, but quite often it's required
to make some sort of reverse operation of produced object 
(talking about file generators / parsers now). I've came to realize that performing one-way 
operation gets rid of some important information which was there previously in input
and that one could be useful later on as well.

In computer world we are dealing with three main levels of codes:
1. input source codes (C++ code, simple to write of human), 
2. it's altered presentation - how compiler sees it - in newest gcc it's called a generic
(run-time structure trees, simple to understand by application)
3. and output (binary executable, simple to understand by cpu).

Gcc performs conversion of 1 to 3. (Really high level thinking)

But in order of not to loose relevant/ important information I would like to get rid 
of compiler as such and "edit" a programm directly in some form of "generic" language.
Instead of editing source code I would prefer to edit "application tree". One of question
is what kind of editor there will be and when input data will be translated into cpu 
assembly instruction. I see that UI is also important since it reflects to the speed of
how fast you can edit/create existing/new application. I guess from normal text 
editor till some sort of mind map graphical editor could be developed.

If you consider different languages - c, c++, java - they are not much different
- syntax somehow vary, but you can basically create the same application using
different languages. "Generic" tries to generalize structures available in all languages
into common form. I think common form is good, but why again on earth we should stick
to existing languages ? Let's take this more common language, remove all syntax which is
not commonly used, simplify a bit, and voila - we have completely new language, which
is not bound to lexical and semantical syntax analysis (because it's edited directly),
which can be edited much faster, and require minimum effort for recompilation (don't need
to recompile whole application just because you have edited one line of code).
Language which syntax can change more easily (since you don't have to consider what 
kind of reduce/shift conflict you came accross). Language for which you don't need 
to use compiler / linker anymore.

 
--
Have a nice day!
Tarmo.


 
____________________________________________________________________________________
Food fight? Enjoy some healthy debate 
in the Yahoo! Answers Food & Drink Q&A.
http://answers.yahoo.com/dir/?link=list&sid=396545367



More information about the Gcc mailing list