The ast.node.declaration submodule defines nodes and other object deadling with declarations in a program.

This module deals with every kind of declaration in a program. The interface DeclarationNode is the root of the declaration node hierarchy. Other more specific declaration nodes extend that one (for variables, functions, etc.). This module includes other elements associated to declarations, such as initializers and procedure contracts.