Pproc-directive
Preprocess a directive.
- Signature
(pproc-directive path file preprocessed
preprocessing rev-lexemes ppstate state)
→
(mv erp new-rev-lexemes new-ppstate new-preprocessed state) - Arguments
- path — Guard (stringp path).
- file — Guard (stringp file).
- preprocessed — Guard (string-plexeme-list-alistp preprocessed).
- preprocessing — Guard (string-listp preprocessing).
- rev-lexemes — Guard (plexeme-listp rev-lexemes).
- ppstate — Guard (ppstatep ppstate).
- Returns
- new-rev-lexemes — Type (plexeme-listp new-rev-lexemes).
- new-ppstate — Type (ppstatep new-ppstate), given (ppstatep ppstate).
- new-preprocessed — Type (string-plexeme-list-alistp new-preprocessed).
With reference to the grammar,
a directive is a group part that starts with #;
this function is called just after the # has been encountered.
A directive may be an if group (which spans multiple lines),
a control line (which spans one line),
or a non-directive (which spans one line);
the latter, despite the name, is considered a directive
(see footnote 175 in [C17:6.10.3/11].