Что означает "yy" в lex.yy.c?
Что означает "yy" в lex.yy.c?
Ответы
Ответ 1
Лекс должен был использоваться совместно с Yacc. История и подробности этого подробно описаны в статье Стивена Джонсона Yacc: еще один компилятор компилятора. Анализатор Yacc использует только имена, начинающиеся с "yy" - нет очевидного смысла, обсуждаемого не просто для пространства имен. "Yy" в lex.yy.c указывает, что выход lex предназначен для анализатора yacc.
Ответ 2
Я считаю, что "yy" используется, чтобы указать, что это сгенерированный файл кода.
Обычно утилита lex записывает программу, которую она создает в файл lex.yy.c - Ссылка
Ответ 3
Я думаю, что это происходит от Yacc, одного из старших генераторов синтаксического анализатора.
Ответ 4
Вероятно, из YACC (еще один компилятор компилятора), который использовался с Lex для реализации целого ряда компиляторов и подобных программ. Эквиваленты Gnu - Bison и Flex, и теперь они выглядят намного более широко, поэтому соединение может быть не очевидным.