Будет трудно с этим справиться, если это вообще выполнимо.AFAIK, Lex позволяет вам только переключать входные потоки на EOF (реальные или смоделированные), когда он вызывает yywrap()
.
Возможно, вы можете подделать вещи так, что, когда вы найдете директиву include, вы подделаете EOFв текущем потоке, а затем yywrap()
исправьте все так, чтобы новый ввод поступал из включенного файла, а затем, когда вы достигнете EOF для включенного файла, вы получите yywrap()
восстановление ввода из исходного потока ввода в исходное положение,Понятно, что это работает для вложенных включений (если вообще работает), если только вы не ограничите произвольно количество уровней включения.