Compiler

posted Dec 20, 2010, 3:10 AM by Unknown user   [ updated Oct 13, 2011, 12:15 AM ]
Guide: Mr. S. P. Vimal, Lecturer BITS Pilani, Pilani Campus. 

Designed a complete compiler for a language, as a part of the Programming Languages and Compiler Construction course at BITS Pilani. Applied and learnt the concepts of: 

  • Deterministic Finite Automata
  • Non-Deterministic Finite Automata
  • Push Down Automata
  • Single Tape Turing Machine
  • Double Tape Turing Machine
  • Multi Tape Turing Machine
  • Lambda Calculus
  • Parsing Techniques
  • Register Allocation
  • Liveness Analysis
  • Garbage Collection
  • Scope and binding of parameters
  • Activation Records
  • Call Stacks
  • Summary & Data organization
  • Machine language translation
The intermediate steps of the compiler development used were:
  • Lexical Analyzer
  • Syntax Analyzer
  • Parser
  • Symbol Table
  • Type Checker
  • Intermediate Code Generation
  • Code Optimization
  • Register Allocator
  • Instruction Scheduler
  • Code Generation in Target Language
  • ASM generation

The entire code built by me can be obtained from here