src/Tools/8bit/perl/generators/gen-isa2latex.pl
author wenzelm
Mon, 29 Nov 1999 15:52:49 +0100
changeset 8039 a901bafe4578
parent 4460 8b9647d5b632
permissions -rwxr-xr-x
Goal: tuned pris;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2795
d136fff43370 fixed perl path;
wenzelm
parents: 1907
diff changeset
     1
#!/usr/local/dist/bin/perl
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     2
'di';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     3
'ig00';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     4
###############################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     5
# Title:      Tools/8bit/perl/generators/gen-isa2latex
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     6
# ID:         $Id$
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     7
# Author:     Franz Regensburger
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     8
# Copyright   1996 TU Muenchen
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
     9
#
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    10
# configures the converter isa2latex with user provided settings
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    11
#
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    12
# Franz Regensburger <regensbu@informatik.tu-muenchen.de> 8.3.95
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    13
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    14
###############################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    15
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    16
# I like to see the output as it happens (flushed output)
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    17
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    18
$| = 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    19
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    20
# cash current working directory 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    21
require "pwd.pl";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    22
&initpwd;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    23
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    24
$initial_dir = $ENV{'PWD'};
1907
d069f23e941f Minor improvements of the scripts
oheimb
parents: 1826
diff changeset
    25
$GMAKE= "gmake";
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    26
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    27
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    28
# comand line processing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    29
# processes all known switches and ingnores others.
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    30
# first non-switch which is the name of a text file is 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    31
# interpreted as name of configuration file.
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    32
#
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    33
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    34
# initialize
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    35
$config_file="";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    36
$do_debug = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    37
$do_ddebug = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    38
#$install_source = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    39
#$cleanup = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    40
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    41
while (@ARGV){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    42
    $cur_arg = shift @ARGV;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    43
    if ($cur_arg eq '-d')  {$do_debug = 1;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    44
    elsif ($cur_arg eq '-dd') {$do_debug = 1; $do_ddebug = 1;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    45
#    elsif ($cur_arg eq '-c')  {$cleanup = 1;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    46
#    elsif ($cur_arg eq '-s')  {$install_source = 1;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    47
    elsif ((-T $cur_arg) && !$config_file) {$config_file = $cur_arg;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    48
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    49
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    50
# complain if no configuration file is found
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    51
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    52
if ($config_file eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    53
    print "\nno configuration file suplied or argument is not a text file\n\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    54
    print "usage gen-isa2latex [-d -dd ] configfile\n", 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    55
#    print "usage gen-isa2latex [-d -dd -s -c ] configfile\n", 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    56
          "options must be separated by blanks!";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    57
    die "\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    58
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    59
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    60
print "debug mode is on\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    61
print "double debug mode is on\n" if $do_ddebug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    62
print "name of configuration file is $config_file\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    63
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    64
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    65
# open the configuration file
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    66
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    67
open(CONFIG,$config_file) || die "can't open $config_file: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    68
print "opened configuration file,\nprocessing\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    69
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    70
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    71
# search for general setup variables
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    72
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    73
print "\ngeneral setup\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    74
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    75
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    76
# search for CONV_SOURCE_DIR
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    77
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    78
$conv_source_dir = 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    79
    &look_for_value('^\s*CONV_SOURCE_DIR\s*"(.*)"',"CONV_SOURCE_DIR");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    80
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    81
if ($conv_source_dir eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    82
    die "\ncan't find CONV_SOURCE_DIR  in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    83
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    84
if (! (-d $conv_source_dir)){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    85
    die "\nCONV_SOURCE_DIR is not a directory\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    86
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    87
if (! (-r $conv_source_dir)){
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
    88
    die "\nno read permission for directory CONV_SOURCE_DIR\n";}
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    89
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
    90
if (!(-w $conv_source_dir)){
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
    91
    die "no write permission for directory CONV_SOURCE_DIR\n";}
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    92
#if ($install_source && !(-w $conv_source_dir)){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    93
#    die "\noption -s used but no write permission for directory CONV_SOURCE_DIR\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    94
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    95
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    96
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    97
# search for CONV_TEMP_DIR
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    98
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
    99
#$conv_temp_dir = &look_for_value('^\s*CONV_TEMP_DIR\s*"(.*)"',"CONV_TEMP_DIR");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   100
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   101
#if ($conv_temp_dir eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   102
#    die "\ncan't find CONV_TEMP_DIR  in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   103
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   104
#if (! (-d $conv_temp_dir)){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   105
#    die "\nCONV_TEMP_DIR is not a directory\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   106
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   107
#if (!(-r $conv_temp_dir && -w $conv_temp_dir && -x $conv_temp_dir)){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   108
#    die "\nneed read, write and execute permission for directory CONV_TEMP_DIR\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   109
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   110
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   111
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   112
# search for CONV_SUB_DIR
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   113
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   114
#$conv_sub_dir = &look_for_value('^\s*CONV_SUB_DIR\s*"(.*)"',"CONV_SUB_DIR");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   115
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   116
#if ($conv_sub_dir eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   117
#    die "\ncan't find CONV_SUB_DIR  in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   118
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   119
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   120
# process switsch -c for cleanup
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   121
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   122
#if ($cleanup) { # cleanup $conv_sub_dir
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   123
#    chdir $conv_temp_dir || die "can't cd to $conv_temp_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   124
#    $status = system("rm -rf $conv_sub_dir/*; rmdir $conv_sub_dir");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   125
#    if ($status) {die "can't remove subdirectory $conv_sub_dir: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   126
#    print "cleanup done, exit configuration script\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   127
#    exit(0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   128
#}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   129
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   130
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   131
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   132
# configuration of LOW_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   133
print "\nsetup for LOW_TABLE\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   134
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   135
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   136
# search for START_LOW_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   137
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   138
$start_low_table = 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   139
    &look_for_value('^\s*START_LOW_TABLE\s*"(\d+)"',"START_LOW_TABLE");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   140
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   141
if ($start_low_table eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   142
    die "\ncan't find START_LOW_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   143
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   144
if ($start_low_table < 32 || 127 < $start_low_table) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   145
    die "\nSTART_LOW_TABLE not in range 32 .. 127\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   146
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   147
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   148
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   149
# search for BEGIN_LOW_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   150
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   151
$found = &look_for_label('^\s*BEGIN_LOW_TABL(E)',"BEGIN_LOW_TABLE");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   152
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   153
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   154
    die "\ncan't find BEGIN_LOW_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   155
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   156
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   157
# read the LOW_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   158
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   159
$index = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   160
$found = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   161
$end_low_table = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   162
$pattern = '^>\s*"([^"]*)"';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   163
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   164
while (<CONFIG> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   165
    if (/^\s*END_LOW_TABLE/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   166
	    print "line $.: END_LOW_TABLE found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   167
	    $found = 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   168
	    $end_low_table = $start_low_table + $index - 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   169
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   170
    elsif (($temp) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   171
	$low_table[$index]= &double_bs($temp);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   172
	 # backslashes are duplicated
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   173
	print "line $.: \"$low_table[$index]\"\n" if $do_ddebug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   174
	$index +=1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   175
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   176
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   177
if (!$found){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   178
	die "\ncan't find END_LOW_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   179
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   180
if ($end_low_table < $start_low_table || 127 < $end_low_table){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   181
	die "\nEND_LOW_TABLE $end_low_table not in range $start_low_table .. 127\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   182
    else {print 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   183
	"computed index for END_LOW_TABLE is $end_low_table\n" if $do_debug;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   184
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   185
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   186
# configuration of HI_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   187
print "\nsetup for HI_TABLE\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   188
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   189
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   190
# search for START_HI_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   191
#
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   192
$start_hi_table = 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   193
    &look_for_value('^\s*START_HI_TABLE\s*"(\d+)"',"START_HI_TABLE");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   194
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   195
if ($start_hi_table eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   196
    die "\ncan't find START_HI_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   197
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   198
if ($start_hi_table < 128 || 255 < $start_hi_table) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   199
    die "\nSTART_HI_TABLE not in range 128 .. 255\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   200
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   201
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   202
# search for BEGIN_HI_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   203
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   204
$found = &look_for_label('^\s*BEGIN_HI_TABL(E)',"BEGIN_HI_TABLE");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   205
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   206
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   207
    die "\ncan't find BEGIN_HI_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   208
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   209
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   210
# read the HI_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   211
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   212
$index = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   213
$max_hi_len1 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   214
$max_hi_len2 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   215
$max_hi_len3 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   216
$found = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   217
$end_hi_table = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   218
$pattern = '^>\s*"([^"]*)"\s*"([^"]*)"\s*"([^"]*)"';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   219
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   220
while (<CONFIG> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   221
    if (/^\s*END_HI_TABLE/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   222
	    print "line $.: END_HI_TABLE found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   223
	    $found = 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   224
	    $end_hi_table = $start_hi_table + $index - 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   225
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   226
    elsif (($temp_1,$temp_2,$temp_3) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   227
	$temp1 =            $temp_1 ;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   228
	$temp2 = &double_bs($temp_2);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   229
	$temp3 = &double_bs($temp_3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   230
	$max_hi_len1 = length($temp1) if $max_hi_len1 < length($temp1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   231
	$max_hi_len2 = length($temp2) if $max_hi_len2 < length($temp2);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   232
	$max_hi_len3 = length($temp3) if $max_hi_len3 < length($temp3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   233
	$hi_table[$index]= join('"',$temp1, $temp2, $temp3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   234
	# the " as seperator is perfect since it cannot occur inside the strings
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   235
	# backslashes are duplicated
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   236
	printf "line $.: \"%s\" \t\t \"%s\" \t\t \"%s\"\n", 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   237
	                 $temp1, $temp2, $temp3          if $do_ddebug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   238
	$index +=1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   239
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   240
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   241
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   242
if (!$found){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   243
	die "\ncan't find END_HI_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   244
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   245
if ($end_hi_table < $start_hi_table || 255 < $end_hi_table ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   246
	die "\nEND_HI_TABLE $end_hi_table not in range $start_low_table .. 255\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   247
else 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   248
  {print "computed index for END_HI_TABLE is $end_hi_table\n"  if $do_debug; }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   249
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   250
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   251
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   252
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   253
# configuration of SEQ_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   254
print "\nsetup for SEQ_TABLE\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   255
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   256
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   257
# search for BEGIN_SEQ_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   258
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   259
$found = &look_for_label('^\s*BEGIN_SEQ_TABL(E)',"BEGIN_SEQ_TABLE");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   260
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   261
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   262
    die "\ncan't find BEGIN_SEQ_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   263
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   264
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   265
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   266
# read the SEQ_TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   267
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   268
$index = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   269
$max_seq_len1 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   270
$max_seq_len2 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   271
$max_seq_len3 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   272
$max_seq_len4 = 0; # for pretty printing
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   273
$found = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   274
$seq_table = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   275
$pattern = '^>\s*"([^"]*)"\s*"([^"]*)"\s*"([^"]*)"\s*"([^"]*)"';
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   276
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   277
while (<CONFIG> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   278
    if (/^\s*END_SEQ_TABLE/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   279
	    print "line $.: END_SEQ_TABLE found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   280
	    $found = 1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   281
	    $seq_table = $index;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   282
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   283
        elsif (($temp_1,$temp_2,$temp_3,$temp_4) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   284
	    $temp1 =            $temp_1 ;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   285
	    $temp2 =            $temp_2 ;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   286
	    $temp3 = &double_bs($temp_3) ;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   287
	    $temp4 = &double_bs($temp_4);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   288
	    $max_seq_len1 = length($temp1) if $max_seq_len1 < length($temp1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   289
	    $max_seq_len2 = length($temp2) if $max_seq_len2 < length($temp2);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   290
	    $max_seq_len3 = length($temp4) if $max_seq_len3 < length($temp3);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   291
	    $max_seq_len4 = length($temp3) if $max_seq_len4 < length($temp4);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   292
	    $seq_table[$index]= join('"',$temp1, $temp2, $temp3, $temp4);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   293
	     # the " as seperator is perfect since it cannot occur inside the strings
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   294
	     # backslashes are only expanded in the latex replacement
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   295
	    printf "line $.: \"%s\" \t\t \"%s\" \t\t \"%s\" \t\t \"%s\"\n", 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   296
	                     $temp1, $temp2, $temp3, $temp4   if $do_ddebug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   297
	    $index +=1;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   298
	}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   299
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   300
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   301
if ($found == 0) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   302
    die "\ncan't find END_SEQ_TABLE in configuration file\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   303
else {print "computed index for SEQ_TABLE is $seq_table\n"  if $do_debug; }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   304
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   305
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   306
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   307
# we reached the end of the configuration file
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   308
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   309
print "\nprocessing of configuration file completed\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   310
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   311
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   312
# close the handle for config file
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   313
close(CONFIG);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   314
print "closed configuration file\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   315
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   316
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   317
# copy sources and modify them
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   318
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   319
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   320
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   321
# change to temporary directory, 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   322
# make subdir and copy sources
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   323
# change to subdir
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   324
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   325
#print "\ncopying sources\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   326
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   327
#chdir $conv_temp_dir || die "can't cd to $conv_temp_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   328
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   329
# cleanup if directory exists
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   330
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   331
#if (-d $conv_sub_dir){ # directory exists 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   332
#    $status = system("rm -rf $conv_sub_dir/*; rmdir $conv_sub_dir");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   333
#    if ($status) {die "can't remove subdirectory $conv_sub_dir: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   334
#}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   335
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   336
# make the new sub dir
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   337
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   338
#mkdir($conv_sub_dir,0755) || die "can't create subdirectory $conv_sub_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   339
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   340
#$status = system("cp -r $conv_source_dir/* $conv_sub_dir") ;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   341
#if ($status) { die "can't copy files from CONV_SOURCE_DIR to CONV_SUB_DIR: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   342
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   343
#chdir $conv_sub_dir || die "can't cd to $conv_sub_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   344
 chdir $conv_source_dir || die "can't cd to $conv_source_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   345
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   346
print "\nconfiguring sources\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   347
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   348
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   349
# configure conv-defs.h
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   350
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   351
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   352
$filename = "conv-defs.h";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   353
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   354
print "\nconfiguring $filename\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   355
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   356
open(INFILE ,$filename) || die "can't open $filename in CONV_SOURCE_DIR: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   357
print "opened $filename for reading\n" if $do_ddebug;
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   358
open(OUTFILE,">/tmp/tmp.txt") || die "can't open temporary file /tmp/tmp.txt: $!\n";
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   359
print "opened /tmp/tmp.txt for writing\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   360
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   361
$found = &replicate_until('^\s*\/\*\s*BEGIN\s*gen-isa2late(x)','BEGIN gen-isa2latex');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   362
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   363
    die "\ncan't find BEGIN gen-isa2latex\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   364
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   365
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   366
printf(OUTFILE "%s\n", "/* BEGIN gen-isa2latex */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   367
printf(OUTFILE "#define START_LOW_TABLE %s\n", $start_low_table);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   368
printf(OUTFILE "#define END_LOW_TABLE   %s\n", $end_low_table);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   369
printf(OUTFILE "#define START_HI_TABLE  %s\n", $start_hi_table);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   370
printf(OUTFILE "#define END_HI_TABLE    %s\n", $end_hi_table);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   371
printf(OUTFILE "#define SEQ_TABLE       %s\n", $seq_table);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   372
printf(OUTFILE "%s\n", "/* END gen-isa2latex */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   373
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   374
$found = &skip_until('^\s*\/\*\s*END\s*gen-isa2late(x)','END gen-isa2latex');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   375
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   376
    die "\ncan't find END gen-isa2latex\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   377
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   378
## the rest
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   379
while (<INFILE> ){printf(OUTFILE "%s",$_);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   380
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   381
close(INFILE);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   382
close(OUTFILE);
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   383
print "closed $filename and /tmp/tmp.txt\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   384
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   385
$status = system("cp /tmp/tmp.txt $filename") ;
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   386
if ($status) { die "can't copy /tmp/tmp.txt to $filename: $!\n";}
4460
8b9647d5b632 added removal to /tmp/tmp.txt
oheimb
parents: 4173
diff changeset
   387
$status = system("rm /tmp/tmp.txt") ;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   388
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   389
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   390
# configure conv-tables.h
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   391
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   392
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   393
$filename = "conv-tables.h";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   394
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   395
print "\nconfiguring $filename\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   396
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   397
open(INFILE ,$filename) || die "can't open $filename in CONV_SOURCE_DIR: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   398
print "opened $filename for reading\n" if $do_ddebug;
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   399
open(OUTFILE,">/tmp/tmp.txt") || die "can't open temporary file /tmp/tmp.txt: $!\n";
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   400
print "opened /tmp/tmp.txt for writing\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   401
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   402
### LOW TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   403
$found = &replicate_until('^\s*\/\*\s*BEGIN_OF_LOW_TABL(E)','BEGIN_OF_LOW_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   404
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   405
    die "\ncan't find BEGIN_OF_LOW_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   406
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   407
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   408
printf(OUTFILE "%s\n", "/* BEGIN_OF_LOW_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   409
printf(OUTFILE "%s\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   410
       "char *translationTableLow[END_LOW_TABLE - START_LOW_TABLE + 1] = {");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   411
$index = $start_low_table;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   412
$sep = ",\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   413
while ($index <= $end_low_table) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   414
    $sep = "\n" if $index == $end_low_table;   
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   415
    printf(OUTFILE "   \"%s\"".$sep, $low_table[$index - $start_low_table]);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   416
    $index++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   417
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   418
printf(OUTFILE "%s\n","};");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   419
printf(OUTFILE "%s\n", "/* END_OF_LOW_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   420
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   421
$found = &skip_until('^\s*\/\*\s*END_OF_LOW_TABL(E)','END_OF_LOW_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   422
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   423
    die "\ncan't find END_OF_LOW_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   424
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   425
### HI TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   426
$found = &replicate_until('^\s*\/\*\s*BEGIN_OF_HI_TABL(E)','BEGIN_OF_HI_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   427
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   428
    die "\ncan't find BEGIN_OF_HI_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   429
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   430
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   431
printf(OUTFILE "%s\n", "/* BEGIN_OF_HI_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   432
printf(OUTFILE "%s\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   433
       "char *translationTableHi[END_HI_TABLE - START_HI_TABLE + 1][2] = {");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   434
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   435
$index = $start_hi_table;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   436
$sep = ",\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   437
while ($index <= $end_hi_table) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   438
    $sep = "\n" if $index == $end_hi_table;   
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   439
    ($temp1,$temp2,$temp3) = split(/\"/,$hi_table[$index - $start_hi_table]); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   440
    printf(OUTFILE "   {%-".($max_hi_len2+3)."s,%s}".$sep,
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   441
	   "\"".$temp2."\"","\"".$temp3."\"");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   442
    $index++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   443
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   444
printf(OUTFILE "%s\n","};");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   445
printf(OUTFILE "%s\n", "/* END_OF_HI_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   446
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   447
$found = &skip_until('^\s*\/\*\s*END_OF_HI_TABL(E)','END_OF_HI_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   448
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   449
    die "\ncan't find END_OF_HI_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   450
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   451
### SEQ TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   452
$found = &replicate_until('^\s*\/\*\s*BEGIN_OF_SEQ_TABL(E)','BEGIN_OF_SEQ_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   453
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   454
    die "\ncan't find BEGIN_OF_SEQ_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   455
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   456
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   457
printf(OUTFILE "%s\n", "/* BEGIN_OF_SEQ_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   458
printf(OUTFILE "%s\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   459
       "char *translationTableSeq[SEQ_TABLE][2] = {");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   460
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   461
$index = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   462
$sep = ",\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   463
while ($index <= $seq_table - 1) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   464
    $sep = "\n" if $index == $seq_table - 1;   
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   465
    ($temp1,$temp2,$temp3,$temp4) = split(/\"/,$seq_table[$index]); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   466
    printf(OUTFILE "   {%-".($max_seq_len3+3)."s,%s}".$sep,
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   467
	   "\"".$temp3."\"","\"".$temp4."\"");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   468
    $index++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   469
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   470
printf(OUTFILE "%s\n","};");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   471
printf(OUTFILE "%s\n", "/* END_OF_SEQ_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   472
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   473
$found = &skip_until('^\s*\/\*\s*END_OF_SEQ_TABL(E)','END_OF_SEQ_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   474
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   475
    die "\ncan't find END_OF_SEQ_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   476
## the rest
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   477
while (<INFILE> ){printf(OUTFILE "%s",$_);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   478
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   479
close(INFILE);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   480
close(OUTFILE);
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   481
print "closed $filename and /tmp/tmp.txt\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   482
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   483
$status = system("cp /tmp/tmp.txt $filename") ;
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   484
if ($status) { die "can't copy /tmp/tmp.txt to $filename: $!\n";}
4460
8b9647d5b632 added removal to /tmp/tmp.txt
oheimb
parents: 4173
diff changeset
   485
$status = system("rm /tmp/tmp.txt") ;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   486
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   487
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   488
# configure conv-lex.x
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   489
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   490
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   491
$filename = "conv-lex.x";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   492
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   493
print "\nconfiguring $filename\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   494
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   495
open(INFILE ,$filename) || die "can't open $filename in CONV_SOURCE_DIR: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   496
print "opened $filename for reading\n" if $do_ddebug;
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   497
open(OUTFILE,">/tmp/tmp.txt") || die "can't open temporary file /tmp/tmp.txt: $!\n";
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   498
print "opened /tmp/tmp.txt for writing\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   499
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   500
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   501
### HI TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   502
$found = &replicate_until('^\s*\/\*\s*BEGIN_OF_HI_TABL(E)','BEGIN_OF_HI_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   503
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   504
    die "\ncan't find BEGIN_OF_HI_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   505
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   506
printf(OUTFILE "%s\n", "  /* BEGIN_OF_HI_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   507
$index = $start_hi_table;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   508
while ($index <= $end_hi_table) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   509
    ($temp1,$temp2,$temp3) = split(/\"/,$hi_table[$index-$start_hi_table]); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   510
    printf(OUTFILE "<ISAA>%-".($max_hi_len1+3)."s\t"."put((char)%d,FALSE,0);\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   511
	   $temp1,$index);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   512
    $index++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   513
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   514
printf(OUTFILE "%s\n", "  /* END_OF_HI_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   515
$found = &skip_until('^\s*\/\*\s*END_OF_HI_TABL(E)','END_OF_HI_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   516
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   517
    die "\ncan't find END_OF_SEQ_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   518
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   519
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   520
### SEQ TABLE
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   521
$found = &replicate_until('^\s*\/\*\s*BEGIN_OF_SEQ_TABL(E)','BEGIN_OF_SEQ_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   522
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   523
    die "\ncan't find BEGIN_OF_SEQ_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   524
## replace
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   525
printf(OUTFILE "%s\n", "  /* BEGIN_OF_SEQ_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   526
$index = 0;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   527
while ($index < $seq_table ) {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   528
    ($temp1,$temp2,$temp3,$temp4) = split(/\"/,$seq_table[$index]); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   529
    printf(OUTFILE "<ISA,ISAA>%-".($max_seq_len1+3)."s\t"."put((char)32,TRUE,%d);\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   530
	   $temp1,$index);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   531
    printf(OUTFILE "<ISAA>%-".($max_seq_len2+3)."s    \t"."put((char)32,TRUE,%d);\n",
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   532
	   $temp2,$index);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   533
    $index++;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   534
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   535
printf(OUTFILE "%s\n", "  /* END_OF_SEQ_TABLE */");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   536
$found = &skip_until('^\s*\/\*\s*END_OF_SEQ_TABL(E)','END_OF_SEQ_TABLE');
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   537
if ($found eq "") {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   538
    die "\ncan't find END_OF_SEQ_TABLE\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   539
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   540
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   541
## the rest
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   542
while (<INFILE> ){printf(OUTFILE "%s",$_);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   543
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   544
close(INFILE);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   545
close(OUTFILE);
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   546
print "closed $filename and /tmp/tmp.txt\n" if $do_ddebug;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   547
4173
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   548
$status = system("cp /tmp/tmp.txt $filename") ;
e87fa74113aa abandoned generation of tmp files
oheimb
parents: 2795
diff changeset
   549
if ($status) { die "can't copy /tmp/tmp.txt to $filename: $!\n";}
4460
8b9647d5b632 added removal to /tmp/tmp.txt
oheimb
parents: 4173
diff changeset
   550
$status = system("rm /tmp/tmp.txt") ;
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   551
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   552
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   553
# execute  Makefile
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   554
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   555
print "\nexecuting Makefile\n" if $do_debug;
1907
d069f23e941f Minor improvements of the scripts
oheimb
parents: 1826
diff changeset
   556
$status = system($GMAKE) ;
d069f23e941f Minor improvements of the scripts
oheimb
parents: 1826
diff changeset
   557
if ($status) { die "\"".$GMAKE."\" executed abnormally: $!\n";}
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   558
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   559
#$status = system("cp $conv_temp_dir/$conv_sub_dir/isa2latex $conv_source_dir");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   560
#    if ($status) { die "can't copy binary file to CONV_SOURCE_DIR: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   561
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   562
#print "\nexecuting Makefile, cleaning up\n" if $do_debug;
1907
d069f23e941f Minor improvements of the scripts
oheimb
parents: 1826
diff changeset
   563
#$status = system($GMAKE." clean");
d069f23e941f Minor improvements of the scripts
oheimb
parents: 1826
diff changeset
   564
#if ($status) { die "\"".$GMAKE." clean\" executed abnormally: $!\n";}
1826
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   565
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   566
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   567
# process -s option
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   568
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   569
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   570
#if ($install_source){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   571
#    print "\ninstall new files in CONV_SOURCE_DIR due to -s option\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   572
#    $status = system("cp -r $conv_temp_dir/$conv_sub_dir/* $conv_source_dir");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   573
#    if ($status) { die "can't copy new files to CONV_SOURCE_DIR: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   574
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   575
#    print "copied new files to CONV_SOURCE_DIR\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   576
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   577
#    chdir $initial_dir || die "can't cd to initial dir $initial_dir: $!\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   578
#    $status = system("cp $config_file $conv_source_dir");
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   579
#    if ($status) { die "can't copy configuration file to CONV_SOURCE_DIR: $!\n";}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   580
#
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   581
#   print "copied configuration file to CONV_SOURCE_DIR\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   582
   
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   583
#}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   584
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   585
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   586
########################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   587
# END of script
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   588
# 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   589
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   590
print "\nconfiguration and generation of isa2latex properly terminated\n".
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   591
      "have fun with isa2latex!\n\n";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   592
exit(0);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   593
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   594
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   595
# subroutines
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   596
#######################################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   597
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   598
sub look_for_value {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   599
    local ($pattern,$label) = @_;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   600
    local ($temp) = "";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   601
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   602
    while (<CONFIG> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   603
	if (($temp) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   604
	    print "line $.: $label is $temp\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   605
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   606
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   607
    return $temp;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   608
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   609
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   610
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   611
sub look_for_label {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   612
    local ($pattern,$label) = @_;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   613
    local ($temp) = "";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   614
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   615
    while (<CONFIG> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   616
	if (($temp) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   617
	    print "line $.: $label found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   618
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   619
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   620
    return $temp;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   621
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   622
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   623
sub replicate_until {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   624
    local ($pattern,$label) = @_;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   625
    local ($temp) = "";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   626
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   627
    while (<INFILE> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   628
	if (($temp) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   629
	    print "line $.: $label found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   630
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   631
	else {printf(OUTFILE "%s",$_);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   632
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   633
    return $temp;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   634
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   635
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   636
sub skip_until {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   637
    local ($pattern,$label) = @_;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   638
    local ($temp) = "";
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   639
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   640
    while (<INFILE> ){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   641
	if (($temp) = /$pattern/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   642
	    print "line $.: $label found\n" if $do_debug;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   643
	    last;}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   644
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   645
    return $temp;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   646
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   647
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   648
sub double_bs {
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   649
    local ($string) = @_;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   650
    local ($element);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   651
    local (@temp1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   652
    local (@temp2) = (); 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   653
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   654
    # find the hex-numbers
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   655
    @temp1 = split(/(\\x[0-9a-fA-F][0-9a-fA-F])/,$string);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   656
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   657
    #duplicate all backslashes in elements which are not hexnumbers
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   658
    while(@temp1) { 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   659
	$element = shift(@temp1);
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   660
	if ($element =~ /\\x[0-9a-fA-F][0-9a-fA-F]/){
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   661
	    push(@temp2,$element);} 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   662
	else{
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   663
	    $element =~ s/\\/\\\\/g;
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   664
	    push(@temp2,$element);}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   665
    }
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   666
    return (join('',@temp2));
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   667
}
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   668
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   669
###############################################################
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   670
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   671
    # These next few lines are legal in both Perl and nroff.
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   672
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   673
.00;                       # finish .ig
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   674
 
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   675
'di           \" finish diversion--previous line must be blank
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   676
.nr nl 0-1    \" fake up transition to first page again
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   677
.nr % 0         \" start at page 1
2a2c0dbeb4ac Initial revision
oheimb
parents:
diff changeset
   678
'; __END__ ##### From here on it's a standard manual page #####