Я создал небольшой парсер в c, используя flex и bison. Синтаксический анализатор записывает результат в некоторые глобальные переменные, а вызывающая функция читает его оттуда.
Я пытаюсь упаковать свой парсер как расширение php. Из того, что я понимаю из документации php, истинные глобальные переменные не рекомендуются, потому что они не ориентированы на многопотоковое исполнение, и вместо этого я должен использовать глобальные переменные модуля.
Чтобы использовать глобальные переменные модуля, вы должны передать функцию TSRMLS_DC в качестве последнего аргумента.
Чтобы вы знали, могу ли я изменить yyparse, чтобы принимать TSRMLS_DC в качестве аргумента. Или есть другой способ доступа к глобальной переменной?