Alguém sabe o significado de yy?

9

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!

    
por Timothy 07.09.2010 / 17:10

2 respostas

10

Eu acho que tem algo a ver com o yacc, que tem arquivos terminando em .y , e requer uma função chamada yylex .

    
por 07.09.2010 / 17:15
2

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 in yy or YY since the yacc parser uses such names. Many of the names appear in the final output of yacc, 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.

    
por 27.02.2017 / 15:20