/*
SSA_NAME - структура, отвечающая за ssa-переменную
VAR_NAME -тип, кторый отвечает за имя переменной
PHI - тип, отвечающий за ф-функцию
EDGE - тип, отвечающий за ребро ББ
ASSIGN - тип, отвечающий за единственное присваивание
B_BLOCK - тип, отвечающий за базовый блок
*/
//Модификация к SSA-именам в инструкциях
bool updateSSA_Name(SSA_NAME){}
//Доступ к SSA-именам в инструкциях
SSA_NAME accessSSA_Name(VAR_NAME){}
//Доступ/модификация (к) единственному(ого) присваиванию(ия)
ASSIGN accessAssignment(SSA_NAME){}
bool updateAssignment(SSA_NAME){}
//Доступ/модификация ф-функций для ББ
PHI accessPhi(B_BLOCK){}
bool updatePhi(B_BLOCK, PHI){}
//Доступ к входящим рёбрам ББ для данной ф-функции
EDGE accessSSA_Edge(PHI){}
//Доступ/модификация SSA-имени (доступ к базовому именеи от ssa-индекса)
VAR_NAME accessSSA_RealName(SSA_NAME){}
bool accessSSA_RealName(SSA_NAME, VAR_NAME){}