Abstract Preprocessing Tree
LISP-like trees:
ROOT
|
Child1-Child2
the original idea is antlr.AST approach, but no setters => immutable =>
could be used at the same time by multiple APT Visitors.
container for associated preprocessor conditional directives
like #if-#elif-#else-#endif, all this directives are on the same level
and handling next depends on handled prev,
i.e.