# Name analysis - Collect all global type and procedure definitions. Give errors if: - The type is already defined. - Base type is not defined. - Replace equivalent type with its base type. - Check definitions inside procedures.