1 repository
Tools that rewrite C++ source code into an expanded version to reveal implicit compiler operations.
Distinct from Go Source-to-Source Transformers: Specifically targets C++ language expansion for visualization, unlike Go-specific DI wiring transformers.
Explore 1 awesome GitHub repository matching programming languages & runtimes · C++ Source-to-Source Transformers. Refine with filters or upvote what's useful.
cppinsights este un instrument de vizualizare a compilatorului C++ și de analiză statică ce utilizează frontend-ul Clang pentru a parsa codul sursă într-un arbore sintactic abstract (AST). Acesta funcționează ca un transformator source-to-source, rescriind codul C++ pentru a face comportamentele implicite ale compilatorului și operațiunile ascunse explicite și vizibile. Instrumentul este specializat în desfacerea constructelor complexe ale limbajului, cum ar fi extinderea mecanismelor interne ale corutinelor pentru a vizualiza logica de suspendare și reluare. De asemenea, dezvăluie codul generat efectiv în timpul instanțierii template-urilor și transformă acțiunile implicite ale compilatorului, inclusiv structured bindings și funcțiile membre speciale, în reprezentări explicite ale sursei. Capabilitățile suplimentare includ rezolvarea instrucțiunilor using și generarea de hărți structurale pentru ierarhiile de moștenire ale claselor C++.
Rewrites original C++ code into an expanded version by replacing implicit compiler operations with explicit statements.