lex.yy.c 中的“yy”代表什么?
问问题
10674 次
4 回答
19
Lex 旨在与 Yacc 配合使用。Steven Johnson 的论文Yacc: Yet Another Compiler Compiler详细介绍了这方面的历史和细节。Yacc 解析器仅使用以“yy”开头的名称——除了简单地需要一个名称空间之外,没有讨论任何明显的含义。lex.yy.c 中的“yy”表示 lex 输出是为 yacc 解析器准备的。
于 2009-08-19T14:52:51.123 回答
1
我相信“yy”是用来表示这是一个生成的代码文件。
通常,lex 实用程序将它生成的程序写入文件 lex.yy.c -参考
于 2009-08-19T14:46:17.373 回答
0
我认为它来自 Yacc,一种较旧的解析器生成器。
于 2009-08-19T14:48:37.230 回答
0
可能来自 YACC(Yet Another Compiler Compiler),它与 Lex 一起用于实现相当多的编译器和类似的程序。Gnu 的等价物是 Bison 和 Flex,现在看起来更加普遍,所以联系可能并不明显。
于 2009-08-19T14:48:48.773 回答