I've already made a very simple compiler with limited functionality. Now I'm getting more on it to make it more like a real-world compiler. I definitely need to start over because I've much more experience and ideas in this area than I did a few years ago.
Which tasks/features for the new compiler should be implemented first and which tasks have a lower priority?
For example, first I'd decide about the object-oriented structure for the new language, but you might say, hey, just go for a compiler that could define a variable, when you finished that, then start thinking about OOP designs ...
I prefer to hear the pros and cons for your suggestions also. Actually I like to start from Bottom to Top, where I could add simplest tasks first, and later adding more complex ones, but I'm totally open for any new ideas, and really appreciate that.
Also please consider that I'm thinking about the design concepts. Actually I expect answers like:
Priority from Highest to Lowest:
- variables, because ....
- functions, because ....
- loops, because ....
- ...
Not:
define a syntax for your new language, and start parsing your source code ...