Useful Links
Computer Science
Programming
Compiler Design
1. Introduction to Compilation
2. Programming Language Foundations
3. Formal Language Theory
4. Lexical Analysis
5. Syntax Analysis
6. Semantic Analysis
7. Intermediate Code Generation
8. Code Optimization
9. Code Generation
10. Runtime Environment
11. Advanced Compilation Topics
12. Compiler Construction Tools and Techniques
Semantic Analysis
Semantic Analysis Overview
Context-Sensitive Checking
Type System Enforcement
Scope Rule Implementation
Declaration Processing
Attribute Grammar Framework
Attribute Types
Synthesized Attributes
Inherited Attributes
Attribute Evaluation
Dependency Graphs
Evaluation Orders
Circular Dependencies
S-Attributed Grammars
L-Attributed Grammars
Symbol Table Management
Symbol Table Organization
Data Structures for Symbol Tables
Hash Tables
Binary Search Trees
Linked Lists
Scope Handling
Block-Structured Scopes
Nested Scope Management
Scope Stack Implementation
Symbol Table Operations
Declaration Processing
Name Lookup
Scope Entry and Exit
Type Systems and Checking
Type Expression Representation
Basic Types
Array Types
Record Types
Function Types
Pointer Types
Type Equivalence
Name Equivalence
Structural Equivalence
Equivalence Algorithms
Type Checking Rules
Expression Type Checking
Statement Type Checking
Function Call Type Checking
Type Coercion and Conversion
Implicit Conversions
Explicit Conversions
Conversion Rules
Polymorphism Support
Parametric Polymorphism
Subtype Polymorphism
Ad-hoc Polymorphism
Declaration Processing
Variable Declarations
Function Declarations
Type Declarations
Forward Declarations
Advanced Semantic Features
Overloading Resolution
Generic Type Instantiation
Module System Support
Interface Checking
Previous
5. Syntax Analysis
Go to top
Next
7. Intermediate Code Generation