Parsing 配置文件+;亚科;如何实际获取数据

Parsing 配置文件+;亚科;如何实际获取数据,parsing,config,yacc,Parsing,Config,Yacc,我在yacc中编写了一个简单的配置文件解析器,它处理如下文件: asdf=50 foobar=42 rule: TOKEN1 TOKEN2 TOKEN3 { add_data(your_data, $1, $2, $3); }; 即单词=数字 我的问题是,如何将其整合到我的计划中?我最终希望将处理后的值存储在一些内部数据结构中,以便以后可以随意访问。我看到的每个yacc示例都只是将printf()的值输出到stdout,但这在实际程序中似乎没有什

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

asdf=50
foobar=42
rule: TOKEN1 TOKEN2 TOKEN3 
      {
          add_data(your_data, $1, $2, $3);
      };
即单词=数字


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

您可以用将数据插入到自己的数据结构中的代码替换那些printf。大概是这样的:

asdf=50
foobar=42
rule: TOKEN1 TOKEN2 TOKEN3 
      {
          add_data(your_data, $1, $2, $3);
      };
其中,
add_data
是一个函数,用于将
$1
$2
$3
中包含的数据添加到变量
中包含的自定义数据结构中

恐怕您的数据必须是全球性的。我挖掘了一些我以前的yacc项目,还有其他的stackoverflow问题,比如,我还没有找到另一种方法。如果有人知道更好的方法,请发表评论

如果你发布你的代码,我可以尝试帮助你的细节