Что означает "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, и теперь они выглядят намного более широко, поэтому соединение может быть не очевидным.