Bloc de base

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.

Sommaire

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é les successeurs du bloc. Les blocs d'où on peut venir avant d'entrer dans un bloc de base sont appelés ses prédecesseurs. 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

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Bloc de base de Wikipédia en français (auteurs)

Игры ⚽ Нужен реферат?

Regardez d'autres dictionnaires:

  • bloc de base — bazinis konstrukcinis blokas statusas T sritis radioelektronika atitikmenys: angl. basic building block vok. Grundbaustein, m rus. базовый конструктивный блок, m pranc. bloc de base, m …   Radioelektronikos terminų žodynas

  • Bloc — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom. En son sens premier un bloc est une masse solide constituée d une même substance et formant un corps unitaire (comme un bloc de marbre), ou bien un… …   Wikipédia en Français

  • Bloc Marxiste-léniniste — Le Bloc marxiste léniniste est une organisation politique marxiste léniniste apparue en 2003 en Belgique. Sommaire 1 Date de fondation 2 Appartenance idéologique 3 Dirigeants communistes de référence …   Wikipédia en Français

  • Bloc marxiste-leniniste — Bloc marxiste léniniste Le Bloc marxiste léniniste est une organisation politique marxiste léniniste apparue en 2003 en Belgique. Sommaire 1 Date de fondation 2 Appartenance idéologique 3 Dirigeants communistes de référence …   Wikipédia en Français

  • bloc — [ blɔk ] n. m. • XIIIe; moy. néerl. bloc « tronc abattu » I ♦ 1 ♦ Masse solide et pesante constituée d un seul morceau. Un bloc de marbre, de granit. Bloc de bois. ⇒ 2. bille, grume. Taillé dans un seul bloc. ⇒ monolithe, monolithique (cf. D une… …   Encyclopédie Universelle

  • Bloc désodorisant — pour WC Bloc désodorisant pour urinoir …   Wikipédia en Français

  • Bloc Béton Manufacturé — Bloc de béton construction d une habitation en parpaings …   Wikipédia en Français

  • Bloc De Béton — construction d une habitation en parpaings …   Wikipédia en Français

  • Bloc béton — Bloc de béton construction d une habitation en parpaings …   Wikipédia en Français

  • Bloc de beton — Bloc de béton construction d une habitation en parpaings …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”