This is an implementation of the (simple) While language in RASCAL---mostly useful for studing principles of program analysis.
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)
- Reaching Definitions
- Available Expressions
- Very Busy Expressions
- Live Variable Analysis
- MFP (Maximum Fixed Point framework)
- MOP (Meet Over all Paths framework)
- interprocedural data-flow analysis (Chapter II)
- parser for the simple While language
- parser for the extended While language (including procedures and procedure calls)
- intraprocedural structural semantics
- interprocedural structural semantics