LEX & YACC 问题

我想用lex&yacc处理布尔表达式的值,比如有变量a,b,c,关系为(a||b)&&c, 应该怎么写呢?
更重要的问题是不知如何把生成的c文件应用到我的C++程序里去,比如我想把lex_yacc()作为处理函数。我只需要在我的C++程序里调用这个函数,给输入变量,然后它能输出值,可行吗? 还有其他处理布尔表达式的parser吗,谢谢!!

阅读 5.2k
1 个回答

只需要支持布尔表达式和变量,对于lex/yacc来说太简单了
楼主可以看一下这个四例子: http://epaperpress.com/lexandyacc/
语法大概是这样的
expr ::= expr '||' term
term ::= term '&&' factor
factory ::= variable | '(' expr ')'

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进