Back to wiki

RCS History

/ TOP / bugs / discussion.mdwn

Revision 1.1

Content from old webpage to be integrated -- maybe some into bug system:

## Goal

Well, I'm not sure if it should be called "goal", but the intention is to write a C99 compiler while still keeping it small, simple, fast and understandable. I think of it as if it shall be able to compile and run on PDP11 (even if it may not happen in reality). But with this in mind it becomes important to think twice about what algorithms are used. 

## Future directions

Besides the C compiler there are a number of utilities that I have closeby that should be included in the package:

- f77 frontend -- needs some "tree polishing" but should then work. 

- as -- written for pdp10 but easy adoptable. 

- ld -- written for pdp10 but easy adoptable. 

- objdump -- written for pdp10 but easy adoptable. 

- dbx -- needs some more work to be usable 

- adb -- needs some more work to be usable 

- ar -- written for pdp10. 

- ranlib -- written for pdp10. 

These utilities share some common ELF interface libraries that are used.


There are an unnumbered amount of bugs/missing stuff in the compiler. Here is a few of the missing pieces listed:

- Prototype checking for functions returning function pointers is missing. Should be easy to add, though. (low priority)
- \_Complex datatype missing. (medium priority)
- Fixing a well-known problem in the register allocator causing it to take a really long time to resolve some constructs.
- Add support for inline assembler in some way. I don't feel that the gcc-style inline assembler is the right path to walk. (Maybe \_Pragma? \_\_asm() as functions?) Very simple to implement as soon as the syntax is decided.
- Make inline functions really inline code. Not difficult either.
- Add missing parts for autogeneration of register allocation structures. Just to be kind to compiler porters. (low priority)
- Make the f77 frontend work. It's imported and the conversion stuff is partly written.
- Be able to compile PIC-code. Mostly an i386 issue (medium prio).

Powered by rcshistory.cgi 0.3