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
古いパーサジェネレータの1つであるYaccから来ていると思います。
于 2009-08-19T14:48:37.230 に答える
0
おそらく、かなりの数のコンパイラと同様のプログラムを実装するためにLexで使用されたYACC(Yet AnotherCompilerCompiler)からです。Gnuに相当するものはBisonとFlexであり、現在でははるかに普及しているように見えるため、接続が明確でない場合があります。
于 2009-08-19T14:48:48.773 に答える