Eu acho que tem algo a ver com o yacc, que tem arquivos terminando em .y
, e requer uma função chamada yylex
.
Como as perguntas sobre a história são consideradas no tópico , percebi que Eu pedia uma que estava me incomodando há algum tempo e ninguém que conheço parece saber a resposta. Alguém sabe qual é o significado histórico do prefixo yy? A maioria das variáveis e funções geradas pelo lex começam com ele, como yylval
e yylex()
. Também me lembro de ver um utilitário chamado yyrsa
em algum lugar, mas não consigo encontrar referências a ele em lugar algum agora. Mentes inquiridoras querem saber!
Como outros apontaram aqui e no StackOverflow , pode ser simplesmente uma duplicação do y
do nome do utilitário yacc
, usado para gerar um espaço de nome exclusivo.
O padrão POSIX reserva os namespaces começando com yy
e YY
para yacc
com o seguinte parágrafo :
Names are of arbitrary length, made up of letters, periods (
.
), underscores (_
), and non-initial digits. Uppercase and lowercase letters are distinct. Conforming applications shall not use names beginning inyy
orYY
since theyacc
parser uses such names. Many of the names appear in the final output ofyacc
, and thus they should be chosen to conform with any additional rules created by the C compiler to be used. In particular they appear in#define
statements.
Infelizmente, os documentos POSIX são muito ruins em relacionar qualquer forma de história a respeito de porque as coisas vieram a ser como são atualmente.
Tags history conventions