# Compiler Design

- Institution: IISc Bangalore
- Department: Computer Science and Engineering
- Teacher: Prof. Y.N. Srikanth
- Level: Undergraduate
- Language: English
- Subjects: Computer science, Engineering
- Source: [NPTEL](https://nptel.ac.in/courses/106108052)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/106108052)
- Who can watch: Tweens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

## Lectures

1. [An Overview of a Compiler - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/5f858bf79eda) (Video)
2. [An Overview of a Compiler - Part 2 and Run-Time Environments - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/75676bcb6a74) (Video)
3. [Run-Time Environments - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/28a8c0b9cb59) (Video)
4. [Run-Time Environments - Part 3 and Local Optimizations - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/876184a49674) (Video)
5. [Local Optimizations - Part 2 and Code Generation Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/62d1ef520ab2) (Video)
6. [Code Generation - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/1cae48f6fb3b) (Video)
7. [Code Generation - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/77b05f886da7) (Video)
8. [Code Generation - Part 3 and Global Register Allocation - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/5ae9a8cf075f) (Video)
9. [Global Register Allocation - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/f9001e0f6e89) (Video)
10. [Global Register Allocation - Part 3 and Implementing Object-Oriented Languages - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/0de74bf5f57c) (Video)
11. [Implementing Object-Oriented Languages - Part 2 and Introduction to Machine-Independent Optimizations - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/71086c6e0f0e) (Video)
12. [Introduction to Machine-Independent Optimizations - Part 2 and Data-Flow Analysis - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/8702d14cac89) (Video)
13. [Data-Flow Analysis - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/bd1a8685d9c0) (Video)
14. [Data-Flow Analysis - Part 3 and Control-Flow Analysis - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/c7ee4c7ea1a4) (Video)
15. [Control-Flow Analysis - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/00418ff58288) (Video)
16. [Machine-Independent Optimizations - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/89b8683cef6a) (Video)
17. [Machine-Independent Optimizations - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/b71bbc8f22b8) (Video)
18. [Machine-Independent Optimizations - Part 3 and Data-Flow Analysis: Theoretical Foundation - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/ab439c2f4e06) (Video)
19. [Data-Flow Analysis: Theoretical Foundation - Part 2 and Partial Redundancy Elimination - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/ccdfd4466d20) (Video)
20. [Partial Redundancy Elimination - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/53ad6a082275) (Video)
21. [The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/c894187d3b7b) (Video)
22. [The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/b5d42a0f3d1a) (Video)
23. [The Static Single Assignment Form: Construction and Application to Program Optimizations - Part 3](https://invisiblenetwork.ai/learn/nptel/106108052/a4bc6011a372) (Video)
24. [Automatic Parallelization - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/cd92d3f33d3d) (Video)
25. [Automatic Parallelization - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/9aa368de70ce) (Video)
26. [Automatic Parallelization - Part 3](https://invisiblenetwork.ai/learn/nptel/106108052/1a7baaf878b1) (Video)
27. [Automatic Parallelization - Part 4](https://invisiblenetwork.ai/learn/nptel/106108052/880b421922d9) (Video)
28. [Instruction Scheduling - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/f943764ee173) (Video)
29. [Instruction Scheduling - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/93c2793f1c3c) (Video)
30. [Instruction Scheduling - Part 3](https://invisiblenetwork.ai/learn/nptel/106108052/5f1255b430a0) (Video)
31. [Software Pipelining](https://invisiblenetwork.ai/learn/nptel/106108052/41da75293aee) (Video)
32. [Energy-Aware Software Systems - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/b0aaf4194bbd) (Video)
33. [Energy-Aware Software Systems - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/22cf80e7f3ad) (Video)
34. [Energy-Aware Software Systems - Part 3](https://invisiblenetwork.ai/learn/nptel/106108052/7d6c46545620) (Video)
35. [Energy-Aware Software Systems - Part 4](https://invisiblenetwork.ai/learn/nptel/106108052/ed9d6b0d21c4) (Video)
36. [Just-In-Time Compilation and Optimizations for .NET CLR](https://invisiblenetwork.ai/learn/nptel/106108052/49d0d259cec0) (Video)
37. [Garbage Collection](https://invisiblenetwork.ai/learn/nptel/106108052/48d79b4b1613) (Video)
38. [Interprocedural Data-Flow Analysis](https://invisiblenetwork.ai/learn/nptel/106108052/6e6539f8ce1c) (Video)
39. [Worst Case Execution Time - Part 1](https://invisiblenetwork.ai/learn/nptel/106108052/2744dff3cc2b) (Video)
40. [Worst Case Execution Time - Part 2](https://invisiblenetwork.ai/learn/nptel/106108052/cee915633a57) (Video)
