Introduce common prefixes for problems to group them together
Many problems are better to unite into groups, especially if their problem descriptions are generated depending on particular regex matching using Python regex groups. It is proposed to introduce prefixes to collect several problems into groups. For each mark a user can add one or several hierarchical prefixes. For instance, one set prefix "scope" for CIF problems when it finds implicit function declarations and unknown types. In addition to the unknown types problem a child prefix is introduced as a type name will be used in the problem description. Then results can be grouped as follows:
Weaver * Scope (135) <--- This is the prefix for both implicit declarations and unknown types marks * Implicit decl (123) * Type (12) <--- This is the prefix for only unknown types mark. * irq_t (8) * irqreturn_t (4)
Each prefix can has the only parent prefix and the only child prefix, so the structure should be simple. It should be forbidden to set a prefix as a child or parent differently in different marks.