src/HOL/Mirabelle/lib/scripts/mirabelle.pl
changeset 46824 1257c80988cd
parent 42070 d3404f32328a
child 47477 3fabf352243e
equal deleted inserted replaced
46823:57bf0cecb366 46824:1257c80988cd
    65 theory "$setup_thy_name"
    65 theory "$setup_thy_name"
    66 imports "$mirabelle_thy" "$mirabelle_theory"
    66 imports "$mirabelle_thy" "$mirabelle_theory"
    67 $tools
    67 $tools
    68 begin
    68 begin
    69 
    69 
    70 setup {* 
    70 setup {*
    71   Config.put_global Mirabelle.logfile "$log_file" #>
    71   Config.put_global Mirabelle.logfile "$log_file" #>
    72   Config.put_global Mirabelle.timeout $timeout #>
    72   Config.put_global Mirabelle.timeout $timeout #>
    73   Config.put_global Mirabelle.start_line $start_line #>
    73   Config.put_global Mirabelle.start_line $start_line #>
    74   Config.put_global Mirabelle.end_line $end_line
    74   Config.put_global Mirabelle.end_line $end_line
    75 *}
    75 *}
    76 
    76 
    77 END
    77 END
    78 
    78 
    79 foreach (reverse(split(/:/, $actions))) {
    79 @action_list = split(/:/, $actions);
       
    80 
       
    81 foreach (reverse(@action_list)) {
    80   if (m/([^[]*)(?:\[(.*)\])?/) {
    82   if (m/([^[]*)(?:\[(.*)\])?/) {
    81     my ($name, $settings_str) = ($1, $2 || "");
    83     my ($name, $settings_str) = ($1, $2 || "");
    82     $name =~ s/^([a-z])/\U$1/;
    84     $name =~ s/^([a-z])/\U$1/;
    83     print SETUP_FILE "setup {* Mirabelle_$name.invoke [";
    85     print SETUP_FILE "setup {* Mirabelle_$name.invoke [";
    84     my $sep = "";
    86     my $sep = "";
    86       if (m/\s*([^=]*)\s*=\s*(.*)\s*/) {
    88       if (m/\s*([^=]*)\s*=\s*(.*)\s*/) {
    87         print SETUP_FILE "$sep(\"$1\", \"$2\")";
    89         print SETUP_FILE "$sep(\"$1\", \"$2\")";
    88         $sep = ", ";
    90         $sep = ", ";
    89       }
    91       }
    90       elsif (m/\s*(.*)\s*/) {
    92       elsif (m/\s*(.*)\s*/) {
    91 	print SETUP_FILE "$sep(\"$1\", \"\")";
    93         print SETUP_FILE "$sep(\"$1\", \"\")";
    92 	$sep = ", ";
    94         $sep = ", ";
    93       }
    95       }
    94     }
    96     }
    95     print SETUP_FILE "] *}\n";
    97     print SETUP_FILE "] *}\n";
    96   }
    98   }
    97 }
    99 }
   119 
   121 
   120 # run isabelle
   122 # run isabelle
   121 
   123 
   122 open(LOG_FILE, ">$log_file");
   124 open(LOG_FILE, ">$log_file");
   123 print LOG_FILE "Run of $new_thy_file with:\n";
   125 print LOG_FILE "Run of $new_thy_file with:\n";
   124 foreach $name (@action_names) {
   126 foreach $action  (@action_list) {
   125   print LOG_FILE "  $name\n";
   127   print LOG_FILE "  $action\n";
   126 }
   128 }
   127 close(LOG_FILE);
   129 close(LOG_FILE);
   128 
   130 
   129 my $quiet = "";
   131 my $quiet = "";
   130 my $output_log = 1;
   132 my $output_log = 1;