ACPI AML decompiler w/ CFG recovery and structured pseudocode
1#ifndef TOBI_CF_H
2#define TOBI_CF_H
3
4#include "dg.h"
5#include "ir.h"
6#include "nm.h"
7
8typedef enum tobi_graph_kind {
9 TOBI_GRAPH_CFG,
10 TOBI_GRAPH_AST,
11 TOBI_GRAPH_NAMESPACE
12} tobi_graph_kind;
13
14typedef enum tobi_graph_labels {
15 TOBI_GRAPH_LABEL_SHORT,
16 TOBI_GRAPH_LABEL_FULL,
17 TOBI_GRAPH_LABEL_NONE
18} tobi_graph_labels;
19
20int tobi_cf_recover(tobi_ir *root, tobi_diag_list *diag);
21
22char *tobi_cf_dot(const tobi_ir *root);
23
24char *tobi_graph_dot(const tobi_ir *root, const tobi_ns *ns, tobi_graph_kind kind);
25
26char *tobi_graph_dot_labels(const tobi_ir *root, const tobi_ns *ns, tobi_graph_kind kind,
27 tobi_graph_labels labels);
28
29#endif