# Name analysis - Collect all global type and procedure definitions. Give errors if: - The type is already defined. - Base type is not defined. - Circular type reference. - Check definitions inside procedures.