LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sav08:compiler [2008/02/18 17:10]
vkuncak created
sav08:compiler [2008/02/20 10:24] (current)
vkuncak
Line 1: Line 1:
 ====== Compilers and Their Role in Software Analysis and Verification ====== ====== Compilers and Their Role in Software Analysis and Verification ======
 +
 +Recall the big picture in [[Verification as Science]]. ​ What is the role of the compiler?
  
 Compiler is the closest relative of a program analysis and verification system: they both manipulate programs taking into account the meaning of statement constructs. Compiler is the closest relative of a program analysis and verification system: they both manipulate programs taking into account the meaning of statement constructs.
Line 7: Line 9:
   * tokenization (lexical analysis)   * tokenization (lexical analysis)
   * parsing (syntax analysis)   * parsing (syntax analysis)
-  * +  * creating abstract syntax trees 
 +  * resolving identifiers 
 +  * translation to intermediate form
  
-Compiler ​front end (tokenization,​ parsing, creating abstract synresolving identifiers+Differences in goals: 
 +  * compiler generates executable object code 
 +  * analyzer answers questions about the source code 
 + 
 +Natural way of integrating them: 
 +  * perform ​front-end operations 
 +  * ask analyzer: is program meaningful?​ 
 +  * try to optimize the codeask analyzer: do conditions that enable optimization hold? 
 +  * perform code generation
  
 === More on Compilers === === More on Compilers ===
  
-  * [[http://​infowww.epfl.ch/​imoniteur_ISAP/​!itffichecours.htm?​ww_i_matiere=1770703&​ww_x_anneeAcad=2007-2008&​ww_i_section=249847&​ww_i_niveau=6683147&​ww_c_langue=en|Advanced ​compiler'​s ​course at EPFL]]+  * [[http://​infowww.epfl.ch/​imoniteur_ISAP/​!itffichecours.htm?​ww_i_matiere=1770703&​ww_x_anneeAcad=2007-2008&​ww_i_section=249847&​ww_i_niveau=6683147&​ww_c_langue=en|Advanced ​Compiler Construction]] ​course at EPFL this semester 
 +  * [[Compiler Textbooks]]