Using SWI-Prolog 8.x on Windows.
Can a DCG position be changed within an active DCG clause for a binary file? i.e. can one use seek/4 or similar?
In researching this I find that to change the position seek/4 is needed. seek/4 only works with streams and to work with DCGs with streams phrase_from_stream/2 is needed. However phrase_from_stream/2 is not aware of changes to position using seek/4 and thus the answer to the question is no.
Is this correct that this cannot be currently done?
I am aware that it is possible to use multiple DCGs and to pass the selected data into each DCG as needed but it would be nice just to change the position within the DCG.
The exact need for this is to parse Portable Executable (PE) files and to jump ahead to the export section once the offset is known.