: # use perl
eval 'exec perl -S $0 "$@"'
if 0;

require "getopts.pl" ;
 
if ( ! &Getopts('nv') || @ARGV < 1) 
    { die ( "Usage: $0 [-n] [-v] file ...\n" ) ; }

foreach $file ( @ARGV ) {
    if ( $file =~ /\.([^.]+)$/ ) {
	$table = $1 ; 
    } else { 
	$table = "table" . $seq++ ; 
    }
    open ( IN, $file ) ; 
    $line = <IN> ; 
    $n = length($line) ;
    $index = $i = 0 ; 
    @split = split(' ', $line ) ;
    @fields = () ;
    foreach $i (@split ) {
	$cnt = index($line, $i) + length($i) ; 
	if ( $i =~ /^-?[0-9]+$/ ) {
	    $type = "Integer" ; 
	} elsif ( $i =~ /^-?([0-9]*\.[0-9]+|[0-9]+\.[0-9]*)([eE]-?[0-9]+)?$/ ) {
	    $type = "Real" ; 
	} else { 
	    $type = "String" ; 
	}
	$attr++ ;
	#print "field$attr ='$field' type=$type ($cnt)\n" ; 
	printf ( "Attribute attr$attr $type($cnt) ;\n" ) ; 
	push (@fields, "attr$attr" ) ;
	$line = substr($line, $cnt) ;
    }
    close IN ;
    printf "Relation $table Fields ( @fields ) Separator (\"\") ;\n" ;
}
