qat.experimental.dialect.common.naming module

Name allocation.

assign_unique_name(reserved, prefix, preferred_name=None)

Assign one name distinct from reserved.

If preferred_name is provided and free, it is returned unchanged. Otherwise a deconflicted {prefix}{n} name is assigned.

Return type:

str

assign_unique_names(keys, reserved, prefix)

Assign each key a {prefix}{n} name kept distinct from reserved.

Names are handed out in order with a monotonic counter, skipping any already held in reserved or issued earlier in the same call. The {prefix}{n} scheme is preserved wherever it is free and merely deconflicted otherwise.

Return type:

dict[TypeVar(_Key, bound= Hashable), str]