# 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.