A good compiler contains a microcosm of computer science. It makes practi-
cal use of greedy algorithms (register allocation), heuristic search techniques
(list scheduling), graph algorithms (dead-code elimination), dynamic pro-
gramming (instruction selection), finite automata and push-down automata
(scanning and parsing), and fixed-point algorithms (data-flow analysis). It
deals with problems such as dynamic allocation, synchronization, nam-
ing, locality, memory hierarchy management, and pipeline scheduling.
http://www.shucunwang.com/RunCode/c/
http://www.cnblogs.com/Ninputer/archive/2011/06/07/2074632.html
网友评论