Flex和Flex之间的区别是什么? Lex和Yacc&野牛。我疯狂地搜索互联网,我没有找到任何坚实的答案。
我可以在Ubuntu上安装纯Lex和Yacc,或者我只能安装flex和bison。我很困惑。
> Lex或Yacc仍然被某人维护吗?
>他们都是免费的吗?
>如果Lex不是免费的,为什么我安装在我的Ubuntu发行版?
lex --version lex 2.5.35
解决方法
Lex和Flex之间有一些区别,但是你必须滥用Lex来解决Flex的问题。 (我有一个程序,滥用Lex,因此不工作在Flex下)。这主要是在输入lookahead的领域;在Lex中,可以提供自己的输入代码和修改字符流; Flex不会让你这样做。
Yacc和Bison是非常相近的,虽然Bison有一些额外的技巧,它可以做。
你可能找不到合法副本的(原来的AT& T版本的)Lex和Yacc在Ubuntu上安装。我不一定说这是不可能的,但我不知道这样。 Flex和Bison是随时可用的,并且对于大多数目的是等价的。您还可以从BSD世界中找到各种替代和大致相同的程序。
Lex和Yacc由Unix SVRx许可证维护 – 诸如IBM(AIX),HP(HP-UX)和Sun(Solaris)等公司根据其命令修改了Lex和Yacc版本。 MKS还提供MKS Lex和MKS Yacc;然而,Yacc至少有一些非标准的扩展。
Flex和Bison是免费的。 (AT& T)Lex和Yacc不是。