The course is tailored to students with interest to Software Engineering in general. To program a PC in a high level language, compilers are an irreplaceable tool, whose understanding builds the basis of every successful implementation of algorithms on a PC. Furthermore, the introduced problems and algorithms provide a wide background for the solution of problems on a PC.
In the domain of embedded systems, compilers have as outstanding role. This area comprises a much broader spectrum of architectures and requires at the same time much higher code quality (performance, code size etc.) than PCs do. Therefore, compilers are the key technology to develop programmable embedded systems, since they close the semantic gap between high level languages and machine languages.
- Data flow analysis
- Intermediate code optimization
- Target processors
- Register allocation
- Code optimization techniques
- Retargable compilers