Go to the source code of this file.
|
| interface | macro |
| | Derived type representing a single preprocessor macro Extends string with macro-specific fields: replacement value, parameters, variadic flag, and cyclic self-reference detection. More...
|
| interface | add |
| | Add one or more macros to a dynamic table. More...
|
| interface | clear |
| | Remove all macros from a table. More...
|
| interface | get |
| | Retrieve a macro by index. More...
|
| interface | insert |
| | Insert more macro to a dynamic table. More...
|
| interface | remove |
| | Remove a macro at given index. More...
|
| interface | size_of |
| | Return current number of stored macros. More...
|
| interface | read_unit |
| | Abstract interface for the main preprocessing routine (used for recursion) Allows handle_include to recursively call the top-level preprocess_unit routine without creating circular module dependencies. More...
|
| interface | preprocess_line |
|
| character(:) function, allocatable, public | expand_all (ctx, macros, stitch, has_extra, implicit_conti, dollar_insert) |
| | Fully expand a line including predefined macros (FILE, LINE, etc.) First performs normal macro expansion via expand_macros(), then substitutes standard predefined tokens with current file/line/date information.
|
| character(:) function, allocatable, public | expand_macros (line, macros, stitch, implicit_conti, dollar_insert, ctx) |
| | Core recursive macro expander (handles function-like, variadic, #, ##).
|
| logical function, public | is_defined (name, macros, idx) |
| | Check if a macro with given name exists in table.
|