- Emit an error message.
- The C89 standard does not define a dupstr() in the C library,
so define our own dupstr.
Function names beginning with "str" are reserved (I think),
so make it dupstr,
as that is what it does: duplicate a string.
- create and initialize a global_state structure,
containing all 'global' variables that are needed during the scanning.
- free all memory of the global state structure.
- Entry point of the heredoc pre-processor.