使用lex和yacc生成的代码中的函数

时间:2012-05-14 12:12:27

标签: yacc lex

我想为我的时间表应用程序编写一个简约的XML解析器。我不想使用任何支持XML解析的库或解析器,因为它们的使用效率较低(因为我只需要识别几个标签)。因此我决定用lex和yacc编写一个解析器。 有没有办法可以直接在我的代码中使用lex和yacc创建的.h文件中的函数,而不是在yacc本身编写应用程序代码。

1 个答案:

答案 0 :(得分:1)

lex和yacc生成的程序导出的函数很少。通过调用yyparse来调用解析器。它在词法分析器中调用yylex。其他一切都可以在外面。

在lex和yacc文件本身中有一些解析支持例程(通过lexing和解析操作调用的帮助程序,而不是其他任何东西)是方便和习惯的。但不是应用程序逻辑。 (Yacc的非常简单的教科书例子除外。)