Bloc de base

En informatique, un bloc de base[1] est une portion du code source d'un programme caractérisé par certaines propriétés utiles qui le rendent facile à analyser. Les compilateurs décomposent la plupart du temps les programmes en leurs blocs de base dans une première étape du processus d'analyse.

Les blocs de base forment les nœuds d'un graphe de flot de contrôle.

Définition

Le code d'un bloc de base comporte :

  • un point d'entrée, ce qui signifie qu'il ne contient pas de code qui soit la cible d'une instruction de saut où que ce soit dans le programme ;
  • un point de sortie, ce qui signifie que seule la dernière instruction peut faire en sorte que le programme commence à exécuter du code dans un autre bloc de base.

Par conséquent, à chaque fois que la première instruction d'un bloc de base est exécutée, les autres instructions sont exécutées exactement une fois et dans l'ordre.

De façon plus formelle, une séquence d'instructions forme un bloc de base lorsque:

  • chaque instruction à une position donnée domine (s'exécute avant) toutes les instructions à des positions ultérieures ;
  • aucune autre instruction ne s'exécute entre deux instructions de la séquence.

Cette définition est quelque peu plus générale que la définition intuitive. Par exemple, elle permet les sauts non conditionnels vers des étiquettes qui ne sont pas cibles d'autres sauts. Cette définition traduit les propriétés qui rendent les blocs de base faciles à utiliser lorsque l'on construit un algorithme.

Les blocs vers lesquels le contrôle peut être transféré après avoir atteint la fin du bloc sont appelés les successeurs du bloc. Les blocs d'où on peut venir avant d'entrer dans un bloc de base sont appelés ses prédécesseurs. On peut sauter au début d'un bloc de base depuis plusieurs endroits.

Références

  1. Génération de code, département d'informatique et de génie logiciel, université de Laval au Canada

Voir également

Source

Articles connexes

Liens externes

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.