Bison 柔性/野牛。。。使用

Bison 柔性/野牛。。。使用,bison,flex-lexer,Bison,Flex Lexer,我是Flex/Bison新手,我尝试为现有语法创建一个小的“解析器/词法分析器” 我使用以下命令 "bison/bin/bison.exe" -dv -p osl -o oslgram.cpp oslgram.y pause "flex/bin/flex.exe" -+ -o osllex.cpp osllex.l pause 但是我有一些错误。。。真的,我不明白这是什么意思!如果有人有使用此工具的经验,这将是伟大的 oslgram.y: conflits: 1 décalage/réduc

我是Flex/Bison新手,我尝试为现有语法创建一个小的“解析器/词法分析器”

我使用以下命令

"bison/bin/bison.exe" -dv -p osl -o oslgram.cpp oslgram.y
pause

"flex/bin/flex.exe" -+ -o osllex.cpp osllex.l
pause
但是我有一些错误。。。真的,我不明白这是什么意思!如果有人有使用此工具的经验,这将是伟大的

oslgram.y: conflits: 1 décalage/réduction, 1 réduction/réduction
bison/bin/bison.exe: m4: No such file or directory
flex/bin/flex.exe: can't open osllex.cpp
您可以在此处找到有关该项目的更多信息(其中有.l和.y文件):


谢谢

看来你的语法有些歧义。所以bison告诉你你有一个移位/减少和一个减少/减少冲突

看 和更多信息


如果没有oslgram.y的内容,我想没有人能为你提供更多的帮助。

看起来你的语法有些歧义。所以bison告诉你你有一个移位/减少和一个减少/减少冲突

看 和更多信息


如果没有oslgram.y的内容,我想没有人能为您提供更多帮助。

关于
m4
的错误意味着您错过了。大多数发行版称之为
m4
,因此
apt get install m4
yum install m4
yast-i m4
应该完成这项工作。reduce/reduce冲突意味着你的语法是不可判定的。你需要做更多的研究来解决这个问题:)但是如果你把你的语法粘贴在这里,可能有人能发现问题。关于
m4
的错误意味着你错过了正确的答案。大多数发行版称之为
m4
,因此
apt get install m4
yum install m4
yast-i m4
应该完成这项工作。reduce/reduce冲突意味着你的语法是不可判定的。你需要做更多的研究来解决这个问题:)但是如果你把语法粘贴在这里,也许有人能发现问题。