Dataflow Analysis Visualization

Write your own program and see dataflow analysis in action!

Written by Zak Kincaid and Shaowei Zhu

1. Write your program:

Valid Program Grammar

label ::= [a-zA-Z0-9_]+
var ::= [a-zA-Z][a-zA-Z0-9_]*
int ::= -?[0-9]+
opn ::= int | var
instr ::=
  • | var = add opn opn
  • | var = mul opn opn
  • | var = opn
  • | blez opn label label
  • | br label
  • | ret
program ::= program label: instr | instr

Draw control flow graph

2. Select analysis

3. Worklist algorithm