File "string.il"
Full Path: /home/analogde/www/SKILL/string.il
File size: 1.16 KB
MIME-type: text/plain
Charset: utf-8
cv = geGetWindowCellView()
terminal_list = cv~>terminals~>name
pins_simple = '()
pins_bus = '()
for(i 0 length(terminal_list)-1
flag = rexMatchp("[<>]" nth(i terminal_list) )
if(flag == nil then
pins_simple = append1(pins_simple nth(i terminal_list))
else
pins_bus = append1(pins_bus nth(i terminal_list))
)
)
l = list("WDA1" "WDA10" "WDA11" "WDA5" "WDA2")
sort(l nil)
l = list("WDA01" "WDA010" "WDA011" "WDA05" "WDA02")
sort(l nil)
sort(pins_bus nil)
res = '()
for(i 0 length(pins_bus)-1
chaine = parseString( nth(i pins_bus) ":<>")
zero = "0"
if(strlen(nth(1 chaine)) == 1 then
str1 = strcat(zero nth(1 chaine))
res = append1(res strcat(nth(0 chaine) "<" str1 ">"))
else
res = append1(res nth(i pins_bus))
)
)
sort(res nil)
for(i 0 length(pins_bus)-1
chaine = parseString( nth(i res) ":<>")
; suppression du zéro pour palier le tri logique ASCII
if(strlen(nth(1 chaine)) == 2 then
aa= substring("15" 1 1)=> "bcde"
if(
str1 = strcat(zero nth(1 chaine))
res = append1(res strcat(nth(0 chaine) "<" str1 ">"))
else
res = append1(res nth(i pins_bus))
)
)