Skip to main content

Module emitter

Module emitter 

Source
Expand description

AST-Walker, der C++17-Header emittiert.

Block-A: Header-Layout (#pragma once, includes, namespaces). Block-B: Primitive-Mapping (delegiert an crate::type_map). Block-C: struct/enum/union/typedef/sequence/array/inheritance. Block-D: Exception → class X : public std::exception. Block-E: Time/Duration über DDS::Time_t / DDS::Duration_t.

Die Emission ist single-pass: zuerst werden alle benoetigten Standard-Includes durch einen pre-walk gesammelt, dann der Body emittiert. So bleibt die Header-Praeambel deterministisch (alphabetisch sortiert).