Type Checker - adjivas/telamon GitHub Wiki
Set:
- redefinition_name_set: A set name is unique
- field_name_redefinition: A field from a set is unique.
- undefined_key_set: A set should always have the keys: type, id_type, id_getter, iterator, getter (see paragraph 3.3.1 Program Representation Declaration)
- undefined_superset_key (clef optionnel -> subsetof implique necessairement une clef from_superset).
- undefined_parametric_superset (verifier que le super ensemble existe - subsetof)
- (identifiant de clef unique par set)
- (verifier que les variables $ soit bien definit par SetDefKey (voir ir/set.rs) et par l'argument parametrique d'une Set)
- (verifier qu'un argument parametrique de subsetof value soit bien definit par son parent et qu'il soit bien du meme type)
- A set is configurable by only parametric set
- undefined_parametric_set: This parametric set should be defined
Define-Enum:
- name_redefinition: A set enum is unique
- field_name_redefinition: A field from a enum is unique.
- A basic enum is configurable by a list of {N} parametric set
- undefined_parametric_set: This parametric set should be defined
- A enum alias:
- undefined_alias_value: A alias should refers a defined fields from same enum.
- A enum [antisymmetric]:
- undefined_field_antisymmetric: A antisymmetric should refers a defined fields from same enum.
- A enum [symmetric]:
- symmetric_untwo_parametric: A antisymmetric should refers from two parametric.
- symmetric_unsame_parametric: A antisymmetric should refers from same parametric.
- A enum requires ?
Quotient? Require?