Flex と bison を使用して、c で小さなパーサーを作成しました。パーサーは結果をいくつかのグローバル変数に書き込み、呼び出し元関数はそこからそれを読み取ります。
パーサーを php 拡張機能としてパッケージ化しようとしています。私がphpドキュメントから理解していることから、真のグローバル変数はスレッドセーフではなく、代わりにモジュールグローバルを使用する必要があるため、推奨されません。
モジュール グローバルを使用するには、関数 TSRMLS_DC を最後の引数として渡す必要があります。
TSRMLS_DC を引数として受け入れるように yyparse を変更できるかどうかはわかります。または、グローバル変数にアクセスする別の方法がある場合は?