Clause Uses
Une clause uses dans un Programme ou une Unité rend les déclarations des unités spécifiées accessibles.
Exemple:
Afin de rendre les fonctions standard et les types de données standard toujours accessibles, Pure Pascal utilise toujours automatiquement l'unité System. Celui-ci contient les déclarations nécessaires.program lotto; uses Gem, Tos; { rend disponibles les déclarations de Gem et Tos }
Le compilateur recherche les noms dans l'ordre inverse de la clause uses. Dans l'exemple, l'unité Tos serait recherchée en premier, puis Gem et ensuite System.
Si les unités déclarent les mêmes noms, le problème de la couverture des noms se pose: un nom d'une unité spécifique ne peut pas être traité car le même nom est défini dans une unité qui sera utilisée plus tard. Ces conflits peuvent être résolus en spécifiant le nom de l'unité.
Exemple:
Si une unité apparaît dans une clause uses, mais pas un seul nom de cette unité n'est utilisé, le compilateur émet un avertissement - cette unité est alors très probablement superflue à moins qu'elle n'ait simplement pour effet que l'exécution de la partie d'initialisation de cette unité possède.program TestRandom; uses Tos; { La fonction Random est déclarée dans Tos et System! } begin Writeln( Random ); { Random de Tos } Writeln( System.Random ); { Random de System } Writeln( Tos.Random ); { Random de Tos } end.