配置文件+ yacc;如何实际获取数据

时间:2011-07-17 13:31:20

标签: parsing config yacc

我在yacc中编写了一个简单的配置文件解析器,它处理这样的文件:

asdf=50
foobar=42

即。字=号码。

我的问题是,如何将其整合到我的程序中?我最终希望将处理后的值存储在一些内部数据结构中,以后我可以随意访问。每个yacc示例我只看到printf()s输出到stdout的值,但这在实际程序中似乎没用。

1 个答案:

答案 0 :(得分:1)

您可以通过将数据插入到您自己的数据结构中的代码替换那些printf。像这样:

rule: TOKEN1 TOKEN2 TOKEN3 
      {
          add_data(your_data, $1, $2, $3);
      };

其中add_data是一个函数,可将$1$2$3中包含的数据添加到变量your_data中包含的自定义数据结构中

我担心your_data必须是全球性的。我挖了一些旧的yacc项目和其他stackoverflow问题,如this,我还没有找到另一种方法。如果有人知道更好的方法,请发表评论。

如果您发布代码,我可以尝试为您提供具体信息。