“yy”是什么意思?在 lex.yy.c 中代表什么?
lex.yy.c 中的“yy”代表什么?
What does the "yy" in lex.yy.c stand for?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
lex.yy.c 中的“yy”代表什么?
What does the "yy" in lex.yy.c stand for?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
Lex 旨在与 Yacc 配合使用。 Steven Johnson 的论文详细介绍了其历史和详细信息Yacc:又一个编译器编译器。 Yacc 解析器仅使用以“yy”开头的名称 - 除了简单地需要命名空间之外,没有讨论任何明显的含义。lex.yy.c 中的“yy”表示 lex 输出适用于 yacc 解析器。
Lex was meant to be used in concert with Yacc. The history and details of this are detailed in Steven Johnson's paper Yacc: Yet Another Compiler Compiler. The Yacc parser uses only names beginning in "yy' - there's no apparent meaning discussed beyond simply desiring a namespace. The "yy" in lex.yy.c indicates that the lex output is intended for a yacc parser.
我相信“yy”用于指示这是一个生成的代码文件。
I believe the "yy" is used to indicate that this is a generated code file.
可能来自 YACC(Yet Another Compiler Compiler),它与 Lex 一起使用来实现相当多的编译器和类似的程序。 Gnu 的等价物是 Bison 和 Flex,而且现在看起来更加普遍,因此它们之间的联系可能并不明显。
Probably from YACC (Yet Another Compiler Compiler), which was used with Lex to implement quite a few compilers and similar programs. The Gnu equivalents are Bison and Flex, and look a lot more widespread now, so the connection may not be obvious.
我认为它来自 Yacc,一种较旧的解析器生成器。
I think it comes from Yacc, one of the older parser generators.