diff options
author | allen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-09-25 10:30:08 +0000 |
---|---|---|
committer | allen <allen@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 1999-09-25 10:30:08 +0000 |
commit | 18382b856bb909acaa9833bf9ec87402f8a7815c (patch) | |
tree | cab7196ac3d0acb68b71594c38cafe0ade9fbdea /lib/sbin | |
parent | 6074a8471f2865366cae1e043cfd4808f2f62e60 (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.pl | 14 | ||||
-rw-r--r-- | lib/sbin/ScheduleParser.pl | 27 |
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); } |