Skip to content

Latest commit

 

History

History
39 lines (29 loc) · 1.08 KB

README.md

File metadata and controls

39 lines (29 loc) · 1.08 KB

The While Language in Scala

This is an implementation of the (simple) While language in Scala---mostly useful for studing principles of program analysis.

Compiling and Testing

Clone the repository and then run:

$ sbt compile test

Status

We will guide the implementation according to the book

Flemming Nielson, Hanne R. Nielson, and Chris Hankin. 2010.
Principles of Program Analysis.
Springer Publishing Company, Incorporated.
  • abstract syntax of the While language (Chap. I)
  • control-flow graph (Chapter II)
  • intraprocedural data-flow analysis (Chapter II)
    • MFP (Maximum Fixed Point framework)
    • MOP (Meet Over all Paths framework)
  • interprocedural data-flow analysis (Chapter II)
  • parser for the extended While language (including procedures and procedure calls)
  • structural semantics

At this moment the four basic data flow analysis were implemented:

  • Available Expressions Analysis
  • Reaching Definitions Analysis
  • Very Busy Expressions Analysis
  • Live Variables Analysis