On Mon, Jan 14, 2002 at 07:32:15PM -0500, Aaron D. Marasco wrote:
> 
> Please explain if you are doing anything "complicated" so we can all learn. 
> ;)

Well, that's no fun!  ;)

> The double hyphen in front of the incoming text is optional and could have 
> spaces on either side of it. The spaces between "fields" is arbitrary (but 
> never tabs). The signal fields always have at least one space on the left, 

Is that in addition to the space after the double hyphen?

> and the comments always have the colon at the end (makes script a lot 
> simpler).

Are there any kinds of lines besides comments and signal fields?

> The overall length of the script is the most important, speed is 
> no concern. Lines are limited to 78 characters too. :(

Four lines:

#!perl -nl
s/^ ?-- ?//;push@a,[s/:$//?"--== $_ ==--":/^ *(\S+)\s+(\S+)\s*(\S*)/];
$;=$:if($:=length$1)>$;}{*b=$_,$#b?($b[2]=~s/.+/_vector($& downto 0)/,
$b[2]=~s/^/ std_logic/,printf"%-$;s : %s%s;\n",@b):print@b for@a

__END__


Ronald

Reply via email to