Я пытаюсь написать (относительно) простой анализатор конфигурационных файлов в flex
/ bison
. Основная идея заключается в том, что моя грамматика bison
использует некоторые функции языка Си для организации разобранных данных в ряд структур языка Си. Я был бы рад опубликовать свой код, если кто-то посчитает необходимым ответить на вопрос, просто прокомментируйте.
Проблема, с которой я сталкиваюсь, связана с объемом процедур в действиях bison
. Например, если у меня есть что-то вроде:
set
: NTOK name {
section *sec
init_s(sec, $2);
add_s(cf, sec);
}
Разве sec
не должен быть доступен в более позднем правиле грамматики для использования? Я получаю error: 'sec' undeclared
, когда пытаюсь снова вызвать это как аргумент позже. Может ли кто-нибудь просветить меня?