Вопрос

Что означает "yy" в lex.yy.c?

Это было полезно?

Решение

Лекс должен был использоваться совместно с Якком.История и подробности этого подробно описаны в статье Стивена Джонсона. Якк:Еще один компилятор.Парсер Yacc использует только имена, начинающиеся с «yy» — здесь не обсуждается никакого очевидного смысла, кроме простого желания иметь пространство имен.«yy» в lex.yy.c указывает, что выходные данные lex предназначены для анализатора yacc.

Другие советы

Я полагаю, что "yy" используется для обозначения того, что это сгенерированный файл кода.

Обычно утилита lex записывает генерируемую ею программу в файл lex.yy.c - Ссылка

Я думаю, что это исходит от Yacc, одного из старых генераторов парсеров.

Вероятно, из YACC (Еще один компилятор-компилятор), который использовался вместе с Lex для реализации множества компиляторов и подобных программ.Эквивалентами Gnu являются Bison и Flex, и сейчас они выглядят гораздо более распространенными, поэтому связь может быть неочевидной.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top