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))
		)
	)