歴史の質問はトピックで考慮されます なので、私はかなり長い間私を悩ませてきた人に尋ねると思いました、そして私が知っている人は誰も答えを知らないようです。接頭辞yyの歴史的意義を知っている人はいますか? yylval
やyylex()
など、Lexによって生成される変数と関数のほとんどはLexで始まります。また、どこかにyyrsa
という名前のユーティリティを見たのを覚えていますが、今はどこにもそれへの参照を見つけることができません。探究心が知りたい!
.y
で終わるファイルがあり、yylex
という関数が必要なyaccと関係があると思います。
他の人がここや StackOverflow で指摘しているように、一意の名前を生成するために使用されるy
ユーティリティの名前からyacc
を2倍にしただけかもしれません。スペース。
POSIX標準では、yy
とYY
の両方で始まる名前空間をyacc
用に予約しています 次の段落 :
名前は任意の長さで、文字、ピリオド(
.
)、アンダースコア(_
)、および頭文字以外の数字で構成されます。大文字と小文字は区別されます。yy
パーサーはそのような名前を使用するため、適合アプリケーションはYY
またはyacc
で始まる名前を使用してはなりません。名前の多くはyacc
の最終出力に表示されるため、使用するCコンパイラーによって作成された追加のルールに準拠するように選択する必要があります。特に、それらは#define
ステートメントに表示されます。
残念ながら、POSIXのドキュメントは、物事が現在のようになった理由について、あらゆる形式の履歴を関連付けるのが非常に苦手です。