Изменения

ARM-декомпилятор

65 байтов добавлено, 14:19, 29 марта 2011
м
Нет описания правки
** Помечаем пройденные узлы как обработанные.
** Когда где-то видим уже обработанный узел, заменяем переход к нему на goto. То есть, if «без дублирования» кусков веток будет «нормальным», без goto.
*: Пример «плохого» if’а: 0->1->3->4, 0->2->3, 0->4, 0->5->4.<graph>digraph G { 0->1->3->4; 0->2->3; 0->4; 0->5->4; }</graph>
Всё это соответствует стандартной теории декомпиляции, см. например http://www.backerstreet.com/decompiler/creating_statements.php