Algorithm 如何遍历该节点图以生成代码?

Algorithm 如何遍历该节点图以生成代码?,algorithm,graph,Algorithm,Graph,我有一个包含这些连接节点的图: 如何遍历此图以生成如下代码: function: fun1() local cond = false ::branch_tag:: if (cond) { fun2() return } else { cond = true goto branch_tag } end 您的图形是如何表示的(数据结构),您将使用哪种语言遍历它?我将使用C/C++,我还没有对数据结构进行编码。在实现之前,首先尝试

我有一个包含这些连接节点的图:

如何遍历此图以生成如下代码:

function:  
  fun1()
  local cond = false
  ::branch_tag::
  if (cond) {
     fun2()
     return
  } else {
     cond = true
     goto branch_tag
  }
end

您的图形是如何表示的(数据结构),您将使用哪种语言遍历它?我将使用C/C++,我还没有对数据结构进行编码。在实现之前,首先尝试解决遍历问题。但是我想我会有一个节点结构,其中包含一组输入和输出以及节点的类型。因此,您将跟踪输出,将节点标记为已访问,当您到达已访问的节点时,您知道必须使用goto/标签。