Compiler Resources

Compiler is a program which converts a program written in a high level language to a low level language, often to assembly language. A typical compiler will call various sub-programs known as front-end, back-end, assembler, linker etc.

Front-End is a part of compiler which converts the high level source language into an intermediate language. Some Compilers do have a middle-end which mainly optimizes the intermediately language. This intermediate language is further converted as assembly language by the back-end. Assembler then converts the assembly language to object language (Object code) in a desiered file format. Linker further resolves the symbols either from the objects passed to it or from the libraries and generates the executable code.

This section contains linkes to various resources on various parts of a typical compiler.

Assembler, Linker & Librarian
  1. Basics
  2. Useful Assembler Resources
  3. Linkers & Loaders
  4. Assemblers, Linkers & Loaders (PDF)
  5. Papers on Linkers & Loaders
Back-End
  1. Register Allocation
  2. Instruction Selection
  3. Code Generation
  4. Optimizations
  5. Code Emission
Basics & General
  1. Overview
  2. Basic Architecture
  3. Anotomy of a Compiler
  4. Basics Explained
  5. Grammars
  6. Compiler Resources
  7. Compiler Connection
  8. Design and Construction of Compilers
  9. Regular Expressions
Compiler Jobs (India)
  1. Compiler Jobs
  2. Intel (Bangalore)
  3. ARM (Bangalore)
  4. Sun (Bangalore)
  5. Sankhya Technologies (Vizag)
  6. Cavium Networks (Hyderabad)
  7. Nulifetech (Chennai)
  8. Atrenta (Noida)
  9. Synergy (Bangalore)
  10. Acmet (Noida)
  11. SPJ (Pune)
  12. Cradle Technologies (Pune)
  13. Metrowerks (Noida)
  14. HCL (Noida)
Decompilation & Binary Translation
  1. Decompilation Resources
  2. Object Code Translation Page
  3. De Compilation
Embedded Space
  1. X-Compiler Vendors
  2. Retargetable Tools
FAQs
  1. Compiler FAQ
  2. FAQ Collections
Front-End
  1. Scanning
  2. Parsing
  3. Semantic Analysis
  4. Intermediate Code
  5. Lex & Yacc
  6. Lex & Yacc (Howto)
  7. Commercial Front-Ends
GNU Compiler Collection
  1. GCC Front-End
  2. GNU C Preprocessor Internals
  3. GCC Internals
  4. GNU Linker Internals
  5. GNU Assembler Internals
  6. G++ Internals
  7. GNU Binutils
News Groups
  1. Compiler Newsgroup
  2. Groups List
Papers & Articles
  1. Research Papers
  2. AT&T Labs Research
  3. From Linux Magazine