Start: V Terminal: addr copy store load gep vgep Productions: F -> epsilon | F copy | addr Memflow | F store V load | store Memflow load | F F; Fbar -> epsilon | copybar Fbar | Memflowbar addrbar | loadbar V storebar Fbar | loadbar Memflowbar storebar; V -> Fbar V F | addrbar addr | gepbar_i V gep_i | gepbarpath V gep_0 | gepbar_i F gep_i | gepbar_i Fbar gep_i; copy -> vgep; copybar -> vgepbar; gep_1 -> gep_0 F vgep | gep_0 F gep_1; gepbar_1 -> gepbar_1 Fbar gepbar_0 | vgepbar Fbar gepbar_0; gepbarpath -> gepbar_0 gepbar_0 | gepbarpath gepbar_0; Memflow -> load store | Fbar Memflow | F Memflow Fbar | gep_i Memflow gepbar_i | gepbar_i Memflow gep_i; Memflowbar -> storebar loadbar | Memflowbar F | F Memflowbar Fbar | gep_i Memflowbar gepbar_i | gepbar_i Memflowbar gep_i;