compiler_phases

compiler_phases - COP4020 Programming Languages Compiler...

Info iconThis preview shows pages 1–7. Sign up to view the full content.

View Full Document Right Arrow Icon
COP4020 Programming Languages Compiler phases Prof. Xin Yuan
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
COP4020 Spring 2012 2 02/20/12 Overview Compiler phases Lexical analysis Syntax analysis Semantic analysis Intermediate (machine-independent) code generation Intermediate code optimization Target (machine-dependent) code generation Target code optimization
Background image of page 2
Source program with macros Preprocessor Source program Compiler Target assembly program assembler Relocatable machine code linker Absolute machine code Try g++ with –v, -E, -S flags on linprog. A typical compilation process
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
What is a compiler? A program that reads a program written in one language (source language) and translates it into an equivalent program in another language (target language). Traditionally, the source language is a high level language and the target language is a low level language (machine code). compiler Source program Target program Error message
Background image of page 4
COP4020 Spring 2012 5 02/20/12 Compilation Phases and Passes Compilation of a program proceeds through a fixed series of phases Each phase use an (intermediate) form of the program produced by an earlier phase Subsequent phases operate on lower-level code representations Each phase may consist of a number of passes over the program representation Pascal, FORTRAN, C languages designed for one-pass compilation, which explains the need for function prototypes Single-pass compilers need less memory to operate Java and ADA are multi-pass
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
COP4020 Spring 2012 6 02/20/12 Compiler Front- and Back-end Semantic Analysis and Intermediate Code Generation Scanner (lexical analysis) Parser (syntax analysis) Machine- Independent Code Improvement Target Code Generation Machine-Specific Code Improvement Source program (character stream) Tokens Parse tree Abstract syntax tree or other intermediate form Modified intermediate form Assembly or object code Modified assembly or object code Abstract syntax tree or other intermediate form Front end analysis Back end synthesis
Background image of page 6
Image of page 7
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 02/20/2012 for the course COP 4020 taught by Professor Engelen during the Spring '11 term at FSU.

Page1 / 19

compiler_phases - COP4020 Programming Languages Compiler...

This preview shows document pages 1 - 7. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online