1 dépôt
Automatic resolution of identifier dependencies by generating necessary forward declarations.
Distinct from Automatic Dependency Resolution: Focuses on C++ declaration order (forward declarations) rather than runtime service injection or graph resolution.
Explore 1 awesome GitHub repository matching software engineering & architecture · Declaration Order Resolution. Refine with filters or upvote what's useful.
cppfront est un frontend d'extension de langage C++ et un traducteur source-à-source. Il fonctionne comme un transformateur de syntaxe qui convertit les extensions de langage expérimentales en code C++ conforme aux normes, permettant le prototypage de nouvelles fonctionnalités linguistiques au sein des systèmes de build existants. Le projet fournit une couche de traduction qui ajoute la prise en charge de la correspondance de motifs (pattern matching), des contrats et de l'interpolation de chaînes. Il inclut un outil de métaprogrammation pour la réflexion à la compilation et la génération de code automatisée utilisant des métafonctions spécialisées. Le système automatise plusieurs tâches de développement, notamment la résolution de l'ordre des dépendances via des déclarations anticipées automatiques et la gestion des modes de passage des paramètres. Il applique également une analyse statique pour insérer une vérification automatique des limites et optimiser la gestion des ressources en appliquant la sémantique de mouvement (move semantics) au dernier point d'utilisation d'une variable. L'outil inclut un mécanisme de vérification pour garantir que le code source standard reste inchangé pendant le processus de traduction afin d'éviter les régressions de syntaxe.
Automatically generates forward declarations so functions and types work regardless of their definition order.