For any complex naming schemes you can use the <tag> feature. For your purpose it could look like this:
import regex ;
import type ;
rule at-to-dot ( name : type : property-set )
{
local name = [ regex.replace $(name) @ . ] ;
local ext = [ type.generated-target-suffix $(type) : $(property-set) ] ;
return $(name).$(ext) ;
}
lib Auhorization@Plugin : bbb.cpp : <tag>@at-to-dot ;