summaryrefslogtreecommitdiff
path: root/lib/sbin
diff options
context:
space:
mode:
authorallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-09-25 10:30:08 +0000
committerallen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac>1999-09-25 10:30:08 +0000
commit18382b856bb909acaa9833bf9ec87402f8a7815c (patch)
treecab7196ac3d0acb68b71594c38cafe0ade9fbdea /lib/sbin
parent6074a8471f2865366cae1e043cfd4808f2f62e60 (diff)
Second attempt at this. Now only the first 4 letters are significant
in COMMUNICATION STORAGE TRIGGERS and LANGUAGE git-svn-id: http://svn.cactuscode.org/flesh/trunk@992 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'lib/sbin')
-rw-r--r--lib/sbin/NewCreateScheduleBindings.pl14
-rw-r--r--lib/sbin/ScheduleParser.pl27
2 files changed, 21 insertions, 20 deletions
diff --git a/lib/sbin/NewCreateScheduleBindings.pl b/lib/sbin/NewCreateScheduleBindings.pl
index 88c8fe4f..90413571 100644
--- a/lib/sbin/NewCreateScheduleBindings.pl
+++ b/lib/sbin/NewCreateScheduleBindings.pl
@@ -300,7 +300,7 @@ sub ScheduleBlock
# Extract group and routine information from the databases
@mem_groups = &ScheduleSelectGroups($thorn, $implementation,
- $schedule_database{"\U$thorn\E BLOCK_$block STORAGE"},
+ $schedule_database{"\U$thorn\E BLOCK_$block STOR"},
%interface_database);
@comm_groups = &ScheduleSelectGroups($thorn, $implementation,
@@ -308,7 +308,7 @@ sub ScheduleBlock
%interface_database);
@trigger_groups = &ScheduleSelectGroups($thorn, $implementation,
- $schedule_database{"\U$thorn\E BLOCK_$block TRIGGERS"},
+ $schedule_database{"\U$thorn\E BLOCK_$block TRIG"},
%interface_database);
@@ -335,19 +335,19 @@ sub ScheduleBlock
}
elsif($schedule_database{"\U$thorn\E BLOCK_$block TYPE"} eq "FUNCTION")
{
- if($schedule_database{"\U$thorn\E BLOCK_$block LANGUAGE"} =~ m:^\s*C\s*$:i )
+ if($schedule_database{"\U$thorn\E BLOCK_$block LANG"} =~ m:^\s*C\s*$:i )
{
$language = "C";
$function = $schedule_database{"\U$thorn\E BLOCK_$block NAME"};
}
- elsif($schedule_database{"\U$thorn\E BLOCK_$block LANGUAGE"} =~ m:^\s*(F|F77|FORTRAN|F90)\s*$:i )
+ elsif($schedule_database{"\U$thorn\E BLOCK_$block LANG"} =~ m:^\s*(F|F77|FORTRAN|F90)\s*$:i )
{
$language = "Fortran";
$function = "FORTRAN_NAME(".$schedule_database{"\U$thorn\E BLOCK_$block NAME"} .")";
}
else
{
- print STDERR "Unknown language " .$schedule_database{"\U$thorn\E BLOCK_$block LANGUAGE"} ."\n";
+ print STDERR "Unknown language " .$schedule_database{"\U$thorn\E BLOCK_$block LANG"} ."\n";
$CST_errors++;
return ("", "");
}
@@ -423,11 +423,11 @@ sub ScheduleStatement
$schedule_database{"\U$thorn\E STATEMENT_$statement GROUPS"},
%interface_database);
- if($schedule_database{"\U$thorn\E STATEMENT_$statement TYPE"} eq "STORAGE")
+ if($schedule_database{"\U$thorn\E STATEMENT_$statement TYPE"} eq "STOR")
{
$function = "CCTK_ScheduleGroupStorage(";
}
- elsif($schedule_database{"\U$thorn\E STATEMENT_$statement TYPE"} eq "COMMUNICATION")
+ elsif($schedule_database{"\U$thorn\E STATEMENT_$statement TYPE"} eq "COMM")
{
$function = "CCTK_ScheduleGroupComm(";
}
diff --git a/lib/sbin/ScheduleParser.pl b/lib/sbin/ScheduleParser.pl
index f1db4aac..5ecb200d 100644
--- a/lib/sbin/ScheduleParser.pl
+++ b/lib/sbin/ScheduleParser.pl
@@ -96,10 +96,10 @@ sub parse_schedule_ccl
$schedule_db{"\U$thorn\E BLOCK_$n_blocks TYPE"} = $type;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks DESCRIPTION"} = $description;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks WHERE"} = $where;
- $schedule_db{"\U$thorn\E BLOCK_$n_blocks LANGUAGE"} = $language;
- $schedule_db{"\U$thorn\E BLOCK_$n_blocks STORAGE"} = $mem_groups;
+ $schedule_db{"\U$thorn\E BLOCK_$n_blocks LANG"} = $language;
+ $schedule_db{"\U$thorn\E BLOCK_$n_blocks STOR"} = $mem_groups;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks COMM"} = $comm_groups;
- $schedule_db{"\U$thorn\E BLOCK_$n_blocks TRIGGERS"} = $trigger_groups;
+ $schedule_db{"\U$thorn\E BLOCK_$n_blocks TRIG"} = $trigger_groups;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks BEFORE"} = $before_list;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks AFTER"} = $after_list;
$schedule_db{"\U$thorn\E BLOCK_$n_blocks WHILE"} = $while_list;
@@ -107,7 +107,7 @@ sub parse_schedule_ccl
$buffer .= "\@BLOCK\@$n_blocks\n";
$n_blocks++;
}
- elsif($data[$line_number] =~ m/^\s*(STORAGE|COMM(UNICATION)):\s*/i)
+ elsif($data[$line_number] =~ m/^\s*(STOR|COMM)[^:]*:\s*/i)
{
($line_number, $type, $groups) = &ParseScheduleStatement($line_number, @data);
$schedule_db{"\U$thorn\E STATEMENT_$n_statements TYPE"} = $type;
@@ -345,19 +345,19 @@ sub ParseScheduleBlock
while($data[$line_number] !~ m:\s*\}\s*:)
{
$line_number++;
- if($data[$line_number] =~ m/^\s*STORAGE\s*:\s*(.*)$/i)
+ if($data[$line_number] =~ m/^\s*STOR[^:]*:\s*(.*)$/i)
{
push(@mem_groups, split(/\s,/, $1));
}
- elsif($data[$line_number] =~ m/^\s*COMM(UNICATION)?\s*:\s*(.*)$/i)
+ elsif($data[$line_number] =~ m/^\s*COMM[^:]*:\s*(.*)$/i)
{
- push(@comm_groups, split(/\s,/, $2));
+ push(@comm_groups, split(/\s,/, $1));
}
- elsif($data[$line_number] =~ m/^\s*TRIGGER(S)?\s*:\s*(.*)$/i)
+ elsif($data[$line_number] =~ m/^\s*TRIG[^:]*:\s*(.*)$/i)
{
- push(@trigger_groups, split(/\s,/, $2));
+ push(@trigger_groups, split(/\s,/, $1));
}
- elsif($data[$line_number] =~ m/^\s*LANG(UAGE)?\s*:\s*(.*)$/i)
+ elsif($data[$line_number] =~ m/^\s*LANG[^:]*:\s*(.*)$/i)
{
if($language ne "")
{
@@ -366,7 +366,7 @@ sub ParseScheduleBlock
}
else
{
- $language= $2;
+ $language= $1;
}
}
elsif($data[$line_number] =~ m:\s*\}\s*:)
@@ -426,10 +426,11 @@ sub ParseScheduleStatement
local($line_number, @data) = @_;
local($type, $groups);
- $data[$line_number] =~ m/^\s*(STORAGE|COMM(UNICATION)):\s*([\w\s\,]*)/i;
+ $data[$line_number] =~ m/^\s*(STOR|COMM)[^:]*:\s*([\w\s\,]*)/i;
$type = "\U$1\E";
- $groups = $3;
+
+ $groups = $2;
return ($line_number, $type, $groups);
}