in d3d/archive/images/d3d11/postproc.pl [110:147]
sub ParseConstantFile
{
my ($ConstFile) = @_;
open(CONSTLIST,$ConstFile) || die("Can't open file $ConstFile");
while(<CONSTLIST>) {
if(/^\s*(\w+)\s*=/)
{
if(undef!=$D3DConstant{$1})
{
die("$1 defined multiple times!");
}
}
if(/^\s*(\w+)\s*=\s*([+-]?(\d+\.\d+|\d+\.|\.\d+|\d+)([eE][+-]?\d+)?(f)?)\s+/) # float
{
$D3DConstant{"$1"} = "$2";
}
elsif(/^\s*(\w+)\s*=\s*(0x([a-f]|[A-F]|[0-9])+)\s+/) # hex
{
$D3DConstant{"$1"} = "$2";
}
elsif(/^\s*(\w+)\s*=\s*(\w+)\s+/) # word
{
if(!exists($D3DConstant{"$2"}))
{
die("$1 being assigned undefined value $2!");
}
else
{
$D3DConstant{"$1"} = $D3DConstant{"$2"};
}
}
elsif(/^\s*(\w+)\s*=/)
{
die("Unrecognized or unsupported assignement of $1 in constant list.");
}
}
close(CONSTLIST);
}