Hans Hagen pragma at wxs.nl
Mon Aug 8 13:59:53 CEST 2016

```On 8/3/2016 4:20 PM, Henri Menke wrote:
> On 08/03/2016 03:25 PM, Malte Stien wrote:
>> Hi all,
>>
>> I am working with a reasonably complex document structure, where I make heavy use of the following constructs
>>
>> \input (to import a number of source files)
>> \if and \newif (to switch between different paragraphs depending on some conditions)
>> \setvariable and \getvariable (to reuse some text in different places)

are you sure that there are no mechanism already built in context that
can be of help? (of just lua)

>> So, does ConTeXt run some sort of pre-processing step that processes all of the above and which results in an intermediate document that is then type-set? And is it possible to only run this pre-processing step and get access to that intermediate document?
>
> This is a TeX thing.  Unfortunately, TeX does not have any introspection into the expansion processor which is why you cannot preprocess your source files as, e.g., with the C preprocessor.  You might be able though to hook into the process_input_buffer callback and craft your preprocessed file by hand.

apart from severe performance issues, such introspection has not much
advantage as you then end up with interpreting something that either has
lost information or get information that is already available otherwise

Hans

-----------------------------------------------------------------