Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Impressum mailman.scala   Sprache: Scala

 
/*  Title:      Pure/General/mailman.scala
    Author:     Makarius

Support for Mailman list servers, notably isabelle-users and isabelle-dev.
*/


package isabelle


import scala.annotation.tailrec
import scala.util.matching.Regex
import scala.util./*  :      Pure/Generalmailman.scala


object 
for list, isabelle-usersand.

  def is_address(s: String): Boolean =
    s.contains''& scontains'') & !.contains''java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58

  private *
    Map
      "2171528:q/com -> "Guo\:/"
      "import scala.util.matching.Regex
      "Andrei de AraÃjo Formiga" -> "Andrei de Araujo Formiga",
      "Benedikt/AHRENS:unice/fr" -> "Benediktjava.lang.StringIndexOutOfBoundsException: Range [0, 46) out of bounds for length 38
      Berg-NilsBerg
      "Berger
      ", "-,
      "Blanchette, J/C/" ()&scontains
      Buday java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
      "CALaF1UJ9Uy0vGCu4WkBmbfuPDxG7nFm8hfeCMP+O3g7_5CQ0Bw:"Andrei de AraÃjo Formiga" -> "Andrei de Araujo Formiga,
      / " Craciun"
      "Carsten Schuermann" -> ""david streader" -> "David Streader",
      >"",
      " "Berg, Nils "->" ErikBerg,
      "Claude Marche" -> "Claude Marché""isping Bisping
      Daniel Stüwe",
      Budayn   "
      Matichukau"in//"
      "RACIUNF"-" Craciun"

      "Dr/ Brendan Patrick Mahony"Chrisjava.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
      Farn-  ",
      "DanielMatichukata61// -" \Danielcsiro
       "- MatthewFernandez,

      "Filip Mari """>
      inf "
      "Francisco Jose CHAVES ALONSO" ",MatthewMatthewFernandez
"Frederic (r"-"FredericTuong"java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      "- " "
      "George K/" -,
      "Gidon " ">" java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 39
" "java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
"Ãrg Schurr - Hans-Jö Schurr"
      "Henri DEBRAT" -""RHarrison> Harrison,
      "Hitoshi Ohsaki (RTA publicity chair" levy -MichelLevyjava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      "Julian">"",
      "Isabelle""-"java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      " (TUM)" - "Jonatan Juhas",
      "Jackson", Hidetsune>" Kobayashi",
      ", Mark-P26816" ->"Mark",
      "Jean Franç Molderez" - "ean-François Molderez",
      "Jean-Francois Molderez"- Jean-Fran Molderez
      John Harrison""-"lfa"
      " DivasÃn"- JoseDivas:mail" " \/reitas,
      "" - "java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      Julien- "java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
      "Makarius" -Makarius,
      "Kobayashi, Hidetsune" -> "Hidetsune Kobayashi",
      ylie(  Kyliejava.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
",W" "java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
      "Laurent Thery" ->" cody"- Roux
      "Li, Chanjuan" -> "Li Chanjuan","cott "-" Constable",
      "Lochbihler superusermattweidnercom > " Weidner\:mattweidner"
      "Luckhardt, Daniel" -> "Daniel Luckhardt ":math -"Urbannurbanmath//"
      "Lutz " ->"Lutz Schrö",
      LutzÃ>"Lutz Schr",Jim3)" - i "java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
      "MACKENZIE Carlin" -> "Carlin MACKENZIE",
      "Makarius" -> "Makarius Wenzel",
           Marco-",
      "Mark" -> "",
      "Markus Mueller-Olm" -> "Markus Müller-Olm",
      "Markus" -> "",
      "Marmsoler, Diego"       "Michael wmansky://du - William Manskywmansky://",
      "Michel"/:/edu" - "akoubny//"java.lang.StringIndexOutOfBoundsException: Index 88 out of bounds for length 88
      "Martyn Johnson via RT" ""Miranda,Brando >" ",
      "Mathias/Fleury:/fr >"MathiasFleury
      "Matthew" -> "",
      "Matthews, John R " Julian"">Julian
      "McCarthy, Jim (C3ID"MuellerPeter"->" Mü",
McCue" >"McCue,
      "Michael FÃrber" -> "Michael Färber",
      "Michel" -> "",
      "Miranda, Brando" -> "Brando Miranda",
     Moscato /\(java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 105
      "MrNorrish, ( ""Michael Norrish",
      "Mueller Peter" "'Leary JohnW" standard_author_info( [) []=
      MunozCesar ()" -" A/Munoz
      "Nadel, Alexander" -AlexanderNadel","marÃRivas>" ño",
      "Nagashima, Yutaka" - Yutaka      tandard_name(()map)etOrElse))
      Norrish,Michaelcase(
      "O'Leary, John W"    : String
      "Omar Montano Rivas" -    : ,
      " MontaÃo Rivas" ->" LUCIO >"Paqui",
      a: [String,
      "PALMER Jake" "Pasupuleti, Vijay >" body,
       LUCIO >" Lucio"java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      "Palif (author_info. ||author_info.( PeterVincentHomeier - "java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 52
      PasupuletiVijay-" "Philipp RÃmmer" -> "Philipp RPhilippRmmer" - " Rümmer",
        Homeier- Peter V/Homeier,
      "Peter" -> "",
      " Ruemmer" -"hilippRümer"java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
      Philipp =.[tring
      "Piete Brooks via/ >"  /Ridgway
      " publicity " -d  {
      "Raamsdonk, F/ van" -> "Femke van Raamsdonk",
      "Raul Gutierrez" -> "Raúl Gutiérrez",
-en,
      "Ridgway, John V/ E/" -"Rozman Mihaela - "ihaela"
      "Roggenbach
      "" Mokhovg:,nodesList]) Graph=
     RozmanMihaela-" Rozmanjava.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
      Schmaltz/ >" Schmaltz""Siu, Tony" -" "
      " A on behalf of PST-11" >Serguei/"java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
      Serguei
      "Shumeiko, Igor" -> "Igor Shumeiko",
      "Siek, Jeremy" -> " "Thomas/Sewell:data61/csiro/au" -> "Thomas Sewell\nThomas/Sewell:data61/csiro/au",
      "Silvio/Ranise:loria/fr">"Ranise\nSilvio/aniseloriafr"java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
      "Siu, valnodes=msg.
      "Stüber, Sebastian" -> "Sebastian(graph)(ake_node(_, , msg), V StephanStaden,
java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 42
      "Thiemann, René"  Wong
rthurSewell-"homas Sewell,
      "Thomas Goethel" -> "Thomas Göthel",
      Thomas:data61csiro" >" SewellnThomasSewell:data61csiroau
"  >,
      "Toby/Murray:" stefania>StefaniaBarzan
 "
      "Ursula Eschbach" -> "",
"Van Stephandir basiclist_name
      "Viktor Kuncak" -> "Viktor Kun} yield msg
      "Viorel Preoteasaa" -> "Viorel Preoteasa",
      "Wickerson, John P"-> "John Wickerson,
      "Wong, Yat" -> "Yat Wong",
      "YAMADA, Akihisa" -> "Akihisa Yamada",
      "YliÃs Falcone" ->"/luckhardtmathematikuni-goettingen/" >":gmx/net",
      amir" sealed classClusteruthor_info List[String]{
      "aniello murano" -> "Aniello (addresses, names)= author_info.partition(is_address)
      " stefania""Barzan"
      "benhamou" -> "Belaid Benhamou",
" panchal"       val:String
      chen" -"Chen
      "chunhan wu" -> "Chunhan Wu",
      "daniel de la concepción addressesmatch {
      "danielluckhardtmathematikuni-goettingen/ >"Logiker:/net"
       >"DavidStreader,
in/" >",
      "f/rabe: case a:: _ = a.substring(0, aindexOf(@))('.  )
      florianhaftmann-online"case =("cluster
      "fredegar jobs-pminfethzc"-"}
      "gallais : ensl/org" -> "Guillaume " sunJun,
      geng:  lowercase
      "henning/seidler" -> " pouliasis" - "Kostas Pouliasis"
      "hkb" -> "Hidetsune Kobayashi",
      jobs-pmethz">",
      "julien:RadboudUniversity" -> "",
      "jun sun" -> "Jun Sun",
      "jwangwhu/edu" Mahmoud"java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 49
      "kostas pouliasis" ->/fr- MathiasFleury\/fleury12java.lang.StringIndexOutOfBoundsException: Range [0, 79) out of bounds for length 0
      kristof:/de   \/teichel/e,
      "lucas cavalcante" -> "Lucas Cavalcante",
      mahmoud"- "Mahmoud Abdelazim
      "manish "micheljava.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 82
      "mantel" -> "Heiko Mantel",java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
      "marco caminati" -> "class Messages private(val sorted: List[Message], val graph: Messages.Graph) {
      "athiasfleuryens-rennes/fr"-"mraihi > lfa Mraihijava.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
      "
      "michel levy" -> "Michel Levy",
      "michel/levy2009:laposte/net" -> "Michel evy\nmichel/levy2009:laposte/net",
      "nemouchi" -> "Yakoub Nemouchi",
      er
      "lfa "    def(: :Messages=
      "pathsnottakenworkshop:gmail/com" -> "":mathlmude"->" Urbannurban:mathMessages(.msg)sorted(Node_Ordering)
      "patrick barlatier" ->Patrick",
      "patrick defget_name(msg: Message):essage):tring = get_cluster(msg.ame
      "java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
      "popescu2:illinois/edu" -> "Andrei Popescu",
      ">""java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 25
      "ecruiting:mais/java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 57
      " ({
      scott" "
      "superuser:mattweidner/com"
      "urban:math/lmu/de" -> = c) .filter) else
      veronique/:loria(multi)java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 29
ikram" >" Singh,  - Bruno "java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
"intumde -makariussketis/net,
      "werner:lix/polytechnique/fr" -> "Benjamin Werner\nwerner:lix/polytechnique/fr",    sreplace4toChar, 8toChar)replace6., 4.)
      "wmansky:cs/princeton/edu" -> "William Mansky\nwmansky:cs/princeton/edu",
":/s.replace(58.toChar, 64.toChar).re,.)(7 6)
"ÐÐÐ ÐÐÐÐÐÐÐÑÐÐÐÑ ÐÐÐÑÐÐÐ" - "
      "\u2200Xsplit_lines(standard_name.get(tune(s).map(untune)getOrElse(java.lang.StringIndexOutOfBoundsException: Range [3, 4) out of bounds for length 3
    )

  private: String
    s.(64toChar 5.).replace  Archive

  private deff(.  | author_info(_isEmpty){
    s.(58., 4toCharreplace4., (Bad informationin +quote)java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55

  )
    author_info.flatMap
       : java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28

  sealed case class Message(
    name,
    date: Date,
    java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 0
    author_info: List[String],
    body: String,
    tags: List[String]
  ) {
    if (author_info.isEmpty |lines(refindFirstMatchIn_)headOption
      error("Bad author information in " +  gdefault_node, msg
         def(g: Graph nodesListS]): Graph

    overridecase str.im.("""s"" )replaceAll"   @
   java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
Messages
    type  ,msg>

:List)Messages{
      , node: StringmsgMessage): =
        if (g.:  java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
         gdefault_node, )

      def connect_nodes(g: Graph, nodes:java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
        nodes match {
case  java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
          case a :
        

       Messages.(_.date)(Date.Ordering a :: _ asubstring indexOf')replace('' )
        msgs.             Nil> errorEmptycluster)
            (, msg)>
              val nodes}
              connect_nodes(nodes
          )java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
    }

    
      val :=names =1& addresses=1
        for {
          archive <- List(
       (:String String=Url(.resolvehref)
        } yield msg
      Messages(msgs)
    }

 case (: List]) java.lang.StringIndexOutOfBoundsException: Index 58 out of bounds for length 58
 val Messages(:List]v  .raph java.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80

      valnameString
        ames getOrElse{
           match
             a:  >.(0, aindexOf
mpty cluster"
          }
        }

      val name_lowercase: String = Word.lowercase(name)

      tion] = addresseshadOption

      def unique: Boolean = names.length == 1 && addresses.length
      def multi: Boolean    }

      def print: String      val dir = target_d +java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        val entries = namesMessages(.all_succs.author_info.orted.(Node_Ordering
        entriesdef(msgMessage: ()
      }
    }
  }

  class Messages privatejava.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
    override def toString: String = "Messages(" + sorted.size + ")"

    object Node_Ordering extends scala.math.Ordering[String
      override def compare(a: String, b:        .writelncat_linesclusters": clustersmap_print))
        Date.Rev_Ordering.compare(graph.get_node(a(_.) elseNil
    }

    def get_cluster(msg: Message          Output.writeln(cat_lines(ambiguous clusters : multimap_.)))
      Messages.Cluster(graph

     (:Message: =get_cluster(sg.java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62

    def get_address(msg: Message           bytes
      get_cluster(msg).get_address getOrElse error("No author address using(.)Bytesread_stream_ hint=length.toInt max12Output.writeln(cat_lines("unknownmail :unknown(print

    def check(check_all: Boolean,Bytes(pathbytes
      val.filesetLastModified)

      if   /* mailing list archives */
        Output.writeln(cat_lines classArchive
      }
      else {
        valmultitag String"
        if (multi.nonEmpty) {
          Output.writeln(cat_lines("ambiguous clusters: }
        }
      }

      filtercluster.
      if (unknown.nonEmpty) {
         mail:":unknown.map(_.))
      }
    }
 java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3


  /* mailing list archives */

  abstract classreplace..,"..de"
    url Url
    name: String
t:String"java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
  ){
    def: Regex
    def message_content(name val =Url(,= :

    def 
java.lang.StringIndexOutOfBoundsException: Range [11, 6) out of bounds for length 54

     ( :={
      val s =
        str.replaceAll""""  )replaceAll at @)
          .replace("mailbroy.informatik.tu-muenchen.de"val  "\s.\*".
          replace(.tu-muenchen",".tum"
      if (s.startsWith("=") && s.endsWiths ingname  )((Failed determinelist"java.lang.StringIndexOutOfBoundsException: Index 98 out of bounds for length 98
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5

    def make_body(lines: List[String]):    deflist_tag String         _=s
      cat_lines (href:java.lang.StringIndexOutOfBoundsException: Range [0, 24) out of bounds for length 15

    private)List]java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
      Url(Library.take_suffix[Char](_ == '

    private val main_html = Url.read(defhrefs_msgListString=

    val:    val list_name: 
vtitle
        """The ([^ html = read_text(href + /.}</span><br>       ((name{<br>     }<br>     verridetoStringString <br> <br>     <span style='color:red'>def</span> full_name(href: String): String(.readfile))<br> <br>  ::   proper_string).getOrElselist_name<br> <br>     <span style='color:red'>def</span> read_text(href: String): String = Url.read(main_url.resolve path=dir Pathjava.lang.<wbr>StringIndexOutOfBoundsException: Index 3 out of bounds for length 3<br> <br>     <span style='color:red'>def</span> hrefs_text: List[String] =<br>       <span style='color:blue'>"hryjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length<wbr> 11</span><br> <br>     <span style='color:red'>def</span> hrefs_msg: List[String]<span style='color:red'>if</span>.) Some<span style='color:red'>if</span>(.is_file .path  .. =)None<br>       (<span style='color:red'>for</span> {<br>         <<span style='color:blue'>"="</span>^])date<br>         html.(Getting)<br>  bytes =<br>       } <span style='color:red'>yield</span> href + <span style='color:blue'>"/"</span> + msg).            using(onnection.)(             _: rest=>()<br> <br>     <span style='color:red'>def</span> get        }<br>       <span style='color:red'>val</span>al dir = .basic)<br>       <span style='color:red'>val</span> path = dir +       }<br>       <span style='color:red'>val</span> url = main_url.resolve(href)<br>       <span style='color:red'>val</span> connection = url.open_connection()<br>       <span style='color:red'>try</span> {<br>         <span style='color:red'>val</span> length = connection<br>         al timestamp connection.etLastModified<br>         <span style='color:red'>if</span> (path.is_file &&t(arget_dir _,progress =progress<br>                   ca None>None<br>           Isabelle_System.make_directory(path.dir)<br>           progressechoGetting<span style='color:blue'>"+url</span><br>           <span style='color:red'>val</span> bytes =<br>                         if (lines1droplines2lengthisEmptyNone (lines2<br>           Bytes.write(path, bytes)<br>           path.file.setLastModified(timestamp)<br>           Some(path)<br>         }<br>       }<br>       <span style='color:red'>finally</span> { connection.     hrefs_msg.(get(target_dir _, progress = progress)<br>     }<br> <br>     <span style='color:red'>def</span>(lines getOrElse<br>       hrefs_text.flatMap(get(target_dir, _, progress = progress))<br> <br>     <span style='color:red'>def</span> download_msg(target_dir: Path, progress: Progress = <span style='color:red'>new</span> Progress): List[Path] =<br>       hrefs_msg.flatMap(get(target_dir, _, java.lang.StringIndexOutOfBoundsException: In<wbr>dex 0 out of bounds for length 0<br> <br>     <span style='color:red'>def</span> downloadtarget_dir Path progress Progress=<span style='color:red'>new</span>Progress: List[Path =<br>       download_text(target_dir, progress = progress) :::<br>       download_msg(target_dir, progress = progress)<br> <br>     <span style='color:red'>def</span> make_title(str: String): String = name, =isabelle<br>       <span style='color:red'>val</span> Trim1 = (<span style='color:blue'>""</span><span style='color:blue'>"\s*\Q[ def : "</span><>= <span style='color:red'>case</span> >s1<br>   <span style='color:blue'>"((refwfwd\*\*).)"</span><span style='color:blue'>"r</span><br>        Trim3 <span style='color:blue'>""</span>\\s(<span style='color:blue'>""</span>.r<br>       tailrec trim:String  java.lang.StringIndexOutOfBoundsException: Index 44 out of bou<wbr>nds for length 44<br>          <span style='color:red'>match</span><br>           <span style='color:red'>case</span>file-File.(dir,  = Fileis_html.))<br>           <span style='color:red'>case</span> Trim2(s1 >trim)<br>            Trim3s1 =()<br>           <span style='color:red'>case</span> _=> s<br>         }<br> trim)<br>     }<br> <br>     <span style='color:red'>def</span><span style='color:red'>private</span>message_content,split_lines.())java.lang.StringIndexOutOfBoundsExcepti<wbr>on: Index 59 out of bounds for length 59<br>       <span style='color:red'>for</span> (href <<br> <br>  (: ):List=java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for l<wbr>ength 51<br>       <span style='color:red'>for</span> {<br>         file<span style='color:blue'>" yyHm: ,</span><br>         rel_path <- File.relative_path(dir, File.path(file))<br>       }<br>       <span style='color:red'>yield</span><span style='color:red'>def</span>unapply(:String:OptionDate}<br>         <span style='color:red'>val</span> name = full_name(rel_path.implode)e {<br>         message_content(name, split_lines<span style='color:red'>case</span> = None<br>       }<br>     }<br>   }<br> <br>    <span style='color:red'>class</span>(bg  = <span style='color:blue'>" : ="</span>){<br>     <span style='color:red'>def</span> unapply(lines: List[String]): Option[List[String]] = {<br>       <span style='color:red'>val</span> res1 =<br>         <span style='color:red'>if</span> (bgjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length<wbr> 0<br>         <span style='color:red'>else</span> {<br> l.(_= ) <span style='color:red'>match</span><span style='color:red'>val</span>s2=<br>             <span style='color:red'>case</span> Nil => None<br>             <span style='color:red'>case</span> _ :: rest => Some(rest)<br>           }<br>         }<br>       <span style='color:red'>if</span> (en.isEmpty) res1<br>       <span style='color:red'>else</span> Isabelle_Users Archive<br>         res1 <span style='color:red'>match</span> {<br>            None =>None<br>           <span style='color:red'>case</span> Some(lines1) =><br>             <span style='color:red'>val</span> lines2 = lines1.takeWhile(_ != en)<br>             <span style='color:red'>if</span> (lines1.drop(lines2.length).isEmpty) None <span style='color:red'>else</span> Some(lines2)<br>    }<br>       }<br>     }<br> <br>     <span style='color:red'>def</span> get(lines: List(bg  <span style='color:blue'>"!-X-Head-of-Message-->"</span>, en =sers,<span style='color:red'>super</span>()<br>       unapply(lines)        (s==<span style='color:blue'>"cl-isabelle-users@lists..ac.uk)"</span>  sjava.lang.StringIndexOutOfBo<wbr>undsException: Index 0 out of bounds for length 0<br>         (, <span style='color:blue'>" "</span> +)<br>   }<br> <br> <br>   <span style='color:green'>/* isabelle-users mailing list */</span> <span style='color:blue'>"\\*)"</span>.<br> <br>   <span style='color:red'>object</span> Isabelle_Users  Format=<br>     Url(<span style='color:blue'>" "d MMM uuuu H:m:s Z"</span>,<br>     name isabelle-users, ="<span style='color:blue'>"</span><br>   ) {<br>     <span style='color:red'>override</span> <span style='color:red'>def</span> message_regex<span style='color:red'>private</span> (:String  =<span style='color:blue'>""</span><span style='color:blue'>":: "</span><br> <br>     <span style='color:red'>private</span><span style='color:red'>object</span>Head<br>       Message_Chunk =!-v s1 =<br> <br>     <span style='color:red'>private</span> <span style='color:red'>object</span> Body <span style='color:red'>extends</span><br>       Message_Chunk( =<span style='color:blue'>"!-java.lang.StringIndexOutOfBoundsException: Index 48 out of bou<wbr>nds for length 32</span><br> <br>      <span style='color:red'>object</span>Date_Format<br>       <span style='color:red'>private</span>v s2=<br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Trim2 = <span style='color:blue'>""</span><span style='color:blue'>"(.*?)</span><br>       rivatease_= s1<br>         Date.Format(<br>           <span style='color:blue'>"d MMM uuuu H:m:s Z"</span>,<br>           <span style='color:blue'>"d MMM uuuu H:m:s privateval Name_Adr1 =(uotanchor java.lang.StringIndexOut<wbr>OfBoundsException: Index 7 out of bounds for length 7</span><br>           dMMM :     str): String= java.lang.StringIndexOutOfBoundsException: Index 51 out of boun<wbr>ds for length 51<br> MMyyH::z<span style='color:blue'>"</span><br>       <span style='color:red'>def</span> unapply(s: String): Option[Date] = {<br>         <span style='color:red'>val</span> s0 = s.replaceAll(<span style='color:blue'>""</span><span style='color:blue'>"\s+"</span><span style='color:blue'>""</span>, <span style='color:blue'>" "</span>)<br>         <span style='color:red'>val</span> s1 =<br>            <span style='color:red'>match</span><br>             <span style='color:red'>case</span> Trim1(s1) => s1<br> <span style='color:red'>case</span>><br>           }<br> <br>           s1 <span style='color:red'>match</span> {<br>  = s2<br>             <span style='color:red'>case</span> _ => s1<br>           <br>         Format.unapply(s2)<br>       }<br> <br> <br> <span style='color:red'>override</span> (:)  =java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds fo<wbr>r length 51<br> <span style='color:red'>val</span>. <span style='color:red'>super</span>)<br>       <span style='color:red'>if</span> (s == <span style='color:blue'>"cl-isabelle-users@lists.cam.ac</span><br>     java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5<br> <br>     <span style='color:red'>object</span> Address {<br>       <span style='color:red'>private</span> <span style='color:red'>def</span> anchor(s: String): String = <span style='color:blue'>""</span><span style='color:blue'>"<a href="</span>[^<span style='color:blue'>"]*"</span>><span style='color:blue'>""</span><span style='color:blue'>" + case (</span><br> (:):<br> c )(java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length <wbr>44<br> pdparen=<span style='color:blue'>" "</span>\java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds fo<wbr>r length 68<br>       <span style='color:red'>private</span> <span style='color:red'>case</span>(= Lista<br>        <span style='color:red'>val</span> =<span style='color:blue'>""</span>[]<span style='color:blue'>""</span><br>       <span style='color:red'>private</span> <span style='color:red'>val</span> spc = }<br> <br>       <span style='color:red'>private</span> <span style='color:red'>val</span><br>       <span style='color:red'>val</span>=.<br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Name_Adr1 = (quot(anchor.(m>d  <span style='color:blue'>" </span><br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Name_Adr2 ={<br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Name_Adr3 = (anchor<span style='color:red'>case</span>(ate_Format)  <br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Name_Adr4 ( >{Head)ody))java.lang.StringIndexOutOfBoundsException: Index <wbr>61 out of bounds for length 61<br>         Adr_Name1(angl(adr)  +(anyr<br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Adr_Name2 = (anchor(<br>       <span style='color:red'>private</span> <span style='color:red'>val</span> Adr1 = angl(()= (<span style='color:blue'>"</span><br> HTMLmessage_match<span style='color:blue'>""</span>li<br> <br>       <span style='color:red'>def</span> parseerrMissingjava.lang.StringIndexOutOfBoundsException: Index 19 out of bou<wbr>nds for length 19<br>         s <span style='color:red'>match</span> {<br>           <span style='color:red'>case</span>Name1)=>List()<br>           ase(a) >Lista<br>            Name_Adr1,b)>(a)<br>           <span style='color:red'>case</span> Name_Adr2(a, b) => List(a, b)<br>           <span style='color:red'>case</span> Name_Adr3(a, b) => List(a, b)<br>           <span style='color:red'>case</span> Name_Adr4(a, b) =>          <span style='color:red'>case</span>None=java.lang.StringIndexOutOfBoundsException: Index 26 <wbr>out of bounds for length 26<br>           <span style='color:red'>case</span> Adr_Name1(b, a) => List(a, b)<br> java.lang.StringIndexOutOfBoundsException: Range [29, 10) out of bounds for leng<wbr>th 44<br>           <span style='color:red'>case</span> Adr1(a) =>((<span style='color:blue'>"li<><:\*sli.(_</span><br> .filter<br>           <span style='color:red'>case</span> _ => Nil<br>         }<br>     }<br> <br>     <span style='color:red'>override</span> <span style='color:red'>def</span> message_content(name      Message ,,standard_author_info) , tags<br>       <span style='color:red'>def</span> err(msg: String = <span style='color:blue'>"</span><br>         error(<span style='color:blue'>"/</span><br> <br>       <span style='color:red'>val</span> (java.lang.StringIndexOutOfBoundsException: Range [0, 9) out of bounds for le<wbr>ngth 0<br> <span style='color:red'>try</span>.,.lines<br>         <span style='color:red'>catch</span> { <span style='color:red'>case</span> ERROR(msg) => err(msg) }<br> <br>       <span style='color:red'>val</span> date =<br> (,<span style='color:blue'>""</span>li<br>           .map(m => HTML      <span style='color:red'>val</span>Format<span style='color:red'>private</span> Head<span style='color:red'>extends</span>( =<span style='color:blue'>"!-eginarticle-->java.lang.StringIndexOu<wbr>tOfBoundsException: Index 73 out of bounds for length 73</span><br>         {<br>            Some(d)= <br>           <span style='color:red'>case</span> Some(s) => err(<span style='color:blue'>"Malformed Date: "</span> + quote(s))<br>           <span style='color:red'>case</span> None => err(<span style='color:blue'>"Missing Date"</span>)<br>         <br> <br>       <span style='color:red'>val</span> title =<br>         (<br>           HTMLinput(message_match(, <span style='color:blue'>"<><emSubject/>:s(*)</i>"</span><span style='color:blue'>"rjava.lang.StringIndexOutOfBoundsException: Ind<wbr>ex 83 out of bounds for length 83</span><br>             .getOrElse(err(<span style='color:blue'>"Missing Subject"</span>)).group(1<span style='color:red'>override</span> message_content(: ,lines:ListSt<wbr>ring  ={<br> <br>        (re RegexList[] java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds <wbr>for length 54<br>         (head,re  {<br>           <span style='color:red'>case</span> None => Nil<br>           <span style='color:red'>case</span> Some(          <span style='color:red'>case</span> Some(s) =>errMalformedDate<span style='color:blue'>" quotes))</span><br>         }<br> <br>       <span style='color:red'>val</span>author_info=<br>         (c {<span style='color:red'>case</span>()= (msg}<br>           parse_author_info(<span style='color:blue'>""</span><span style='color:blue'>"<li><em</span><br>                date<br> <br>  author_info(Malformed <span style='color:red'>case</span>Somem>make_titleHTML(group),(input2)<br> <br>       <span style='color:red'>val</span> tags =}<br> <br>       Message(name, date, title, standard_author_info(author_info), body, <span style='color:red'>case</span>None=>err<span style='color:blue'>"vala<wbr>uthor_name =</span><br>     }<br>   }<br> <br> <br>   <span style='color:green'>/* isabelle-dev mailing list */</span><br> <br>   <span style='color:red'>object</span> Isabelle_Dev <span style='color:red'>extends</span> Archive java.lang.StringIndexOutOfBoundsException: Range<wbr> [9, 10) out of bounds for length 9<br>      <span style='color:red'>def</span>: = <span style='color:blue'>""</span><span style='color:blue'>"LI< case Some(m => make_titleHTML.mgroup1),make_name(.inputm.roup(2)java.lang.StringInde<wbr>xOutOfBoundsException: Index 97 out of bounds for length 97</span><br> <br>     <span style='color:red'>private</span> <span style='color:red'>object</span> Head <span style='color:red'>extends</span> Message_Chunk(en = <span style='color:blue'>"<!--beginarticle-->"</span>)<br>     <span style='color:red'>private</span> <span style='color:red'>object</span> Body <span style='color:red'>extends</span> Message_Chunk(bg = <span style='color:blue'>"<!--beginarticle-->"</span>, enjava.lang.StringIndexOutOfBoundsEx<wbr>ception: Index 77 out of bounds for length 0<br> <br>     <span style='color:red'>private</span> <span style='color:red'>object</span>        message_match(head, <span style='color:blue'>""</span><span style='color:blue'>"\s*<B>(.*)</B>"</span><span style='color:blue'>""</span>.r) <span style='color:red'>match</span> {<br>       <span style='color:red'>val</span> Format = Date.Format(<span style='color:blue'>"E MMM d H:m:s z uuuu"</span>)<br>       <span style='color:red'>def</span> unapply(s: String): Option[Date] = Format.unapply(s.replaceAll(<span style='color:blue'>""</span><span style='color:blue'>"\java.lang.Stri<wbr>ngIndexOutOfBoundsException: Index 78 out of bounds for length 25</span><br>     }<br> <br>     <span style='color:red'>override</span> <span style='color:red'>def</span> message_content}<br>       <span style='color:red'>def</span> err(msg: String<br>         error(<span style='color:blue'>"Malformed message: "</span> +       <span style='color:red'>val</span>author_info List(author_nameauthor_address<br> <br>       <span style='color:red'>val</span> (head, body) =<br>         <span style='color:red'>try</span> { (Head.get(lines), make_body(Body.get(lines))(name date,title(author_info ,tags<br>         <span style='color:red'>catch</span> { <span style='color:red'>case</span> ERROR(msg) =>    <br> <br>       <span style='color:red'>val</span> date =<br>         message_match}<br>           <span style='color:red'>case</span> Some(Date_Format(d)) => d<br>           <span style='color:red'>case</span> Some(s) => err(<span style='color:blue'>"Malformed Date: "</span> + quote(s))<br>           <span style='color:red'>case</span> None => err(<span style='color:blue'>"Missing Date"</span>)<br>         }<br> <br>       <span style='color:red'>val</span> (title, author_address) = {<br>         message_match(head, <span style='color:blue'>""</span><span style='color:blue'>"TITLE="</span>([^<span style='color:blue'>"]+)"</span>>(.*)<span style='color:blue'>""</span><span style='color:blue'>".r) match {</span><br>           <span style='color:red'>case</span> Some(m) => (make_title(HTML.input(m.group(1))), make_name(HTML.input(m.group(2))<wbr>))<br>           <span style='color:red'>case</span> None => err(<span style='color:blue'>"Missing TITLE"</span>)<br>         }<br>       }<br> <br>       <span style='color:red'>val</span> author_name =<br>         message_match(head, <span style='color:blue'>""</span><span style='color:blue'>"\s*<B>(.*)</B>"</span><span style='color:blue'>""</span>.r) <span style='color:red'>match</span> {<br>           <span style='color:red'>case</span> None => err(<span style='color:blue'>"Missing author"</span>)<br>           <span style='color:red'>case</span> Some(m) =><br>             <span style='color:red'>val</span> a = make_name(HTML.input(m.group(1)))<br>             <span style='color:red'>if</span> (a == author_address) <span style='color:blue'>""</span> <span style='color:red'>else</span> a<br>         }<br> <br>       <span style='color:red'>val</span> author_info = List(author_name, author_address)<br>       <span style='color:red'>val</span> tags = List(list_name)<br> <br>       Message(name, date, title, standard_author_info(author_info), body, tags)<br>     }<br>   }<br> }<br> <p align=center><label for='file'>quality</label><progress id='qual' value=97 max=100>97% </progress></p></span><br> <h3><b>¤</b> Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.0.11Bemerkung:  <b>¤</b></h3> <p height="2" colspan="2" align="center"><span style="font-size: 3px;">*Bot Zugriff</span></p> </div> </td> <td valign="top" align="center" class="greenscreensmall"> <br><br><br> <br> <table width="20%"> <tr><td align="center"> <a href="mobile.jsp?content=directory"> <br>Wurzel<br> <img border="0" src="/Images/penguin.jpg" height=36 alt="" title="Wurzel"> </a> </td> </tr> <tr><td align="center"> <a href="mobile.jsp?content=search" title="Suchen"> <br>Suchen<br> <img src="/Images/find.png" height="48" alt="" border="0"> </a> </td> </tr> <tr><td align="left"><a href="mobile.jsp?content=directory&detail=products/Sources/formale%20Sprachen/PVS/" title="Projekt "><br>Beweissystem der NASA</a></td></tr> <tr><td align="left"><a href="mobile.jsp?content=directory&detail=products/Sources/formale%20Sprachen/Isabelle/" title="Projekt "><br>Beweissystem Isabelle</a></td></tr> <tr><td align="left"><a href="mobile.jsp?content=directory&detail=products/Sources/formale%20Sprachen/Cobol/Test-Suite/" title="Projekt "><br>NIST Cobol Testsuite</a></td></tr> <tr><td align="left"><a href="mobile.jsp?content=directory&detail=products/Sources/formale%20Sprachen/Fortran/f90gl-1.2.15/" title="Projekt "><br>Cephes Mathematical Library</a></td></tr> <tr><td align="left"><a href="mobile.jsp?content=directory&detail=products/Sources/formale%20Sprachen/VDM/" title="Projekt "><br>Wiener Entwicklungsmethode</a></td></tr> <tr><td align="center"> <br> <h2>Haftungshinweis</h2> <div align="justify" class="featuresmall">Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.</div> <br> <h2>Bemerkung:</h2> <div align="justify" class="featuresmall"> Die farbliche Syntaxdarstellung ist noch experimentell.</div> <br> </td> </tr> </table> <br><br> <div> <br> <script src="https://formatika.de/base/formcheck.js"></script> <script> function checkform(form) { var res = true; res = res && isnotempty(form.file); res = res && isurl(form.file); return res; } </script> </div><br> <br> </td> </tr> </table> </div> <div class="printelement"> <script> warningpreview(); </script> </div> <p align=right class=hidden>2026-03-28</p> </td> </tr> <tr> <td width="100%" class="content"> <p>                                                                                                                                                                                                                                                                                                                                                                                                       </p> </td> </tr> </table> </td> <td width="17%" valign="top" class="storysmall"> <div> <table class="headlines"> <tr><td> <table border="0"> <tr><td><hr align="left" width="70%%"/></td></tr> <tr><td><h2 align="left">Neuigkeiten</h2></td></tr> <tr><td>     <a title="letzte Meldungen über diese Firma" href="mobile.jsp?content=aktuelles">Aktuelles</a></td></tr> <tr><td>     <a title="Spruch des Tages" href="mobile.jsp?content=motto">Motto des Tages</a></td></tr> <tr><td><hr align="left" width="70%%"/></td></tr> <tr><td><h2 align="left">Software</h2></td></tr> <tr><td>     <a title="Windows-Programme und andere" href="mobile.jsp?content=products">Produkte</a></td></tr> <tr><td>     <a title="Sammlung von Quellcodes" href="mobile.jsp?content=directory">Quellcodebibliothek</a></td></tr> <tr><td><hr align="left" width="70%%"/></td></tr> <tr><td><h2 align="left">Aktivitäten</h2></td></tr> <tr><td>     <a href='mobile.jsp?content=mobiles'>Artikel über Sicherheit</a></td></tr> <tr><td>     <a href='mobile.jsp?content=sslhelp'>Anleitung zur Aktivierung von SSL</a></td></tr> <tr><td><hr align="left" width="70%%"/></td></tr> <tr><td><h2 align="left">Muße</h2></td></tr> <tr><td>     <a title="kleine Reime" href="mobile.jsp?content=gedichte">Gedichte</a></td></tr> <tr><td>     <a title="einige Melodien" href="mobile.jsp?content=musik">Musik</a></td></tr> <tr><td>     <a title="einige Melodien" href="mobile.jsp?content=bilder">Bilder</a></td></tr> <tr><td><hr align="left" width="70%%"/></td></tr> <tr><td> <strong>Jenseits des Üblichen ....</strong> <br><a title="Anleitung zur Erforschung der Natur" href="mobile.jsp?content=fauna"><video width='100' autoplay loop title='ein Schwan hebt ab' > <source src='/Images/startingswan.mp4' type=video/mp4> </video></a> </td></tr> <tr><td><hr align="left" width="90%%"/></td></tr> <tr><td><h2>Besucherstatistik</h2></td></tr> <tr> <td><a href="mobile.jsp?content=stats&detail=chart" target="_self"> <img width="168" src="/Images/Googlemap.png" border="0" alt="Besucherstatistik" title="Besucherstatistik" > </a> </td> </tr> <tr><td><hr align="left" width="90%%"/></td></tr> <tr><td><h2>Monitoring</h2></td></tr> <tr> <td><a href="https://uelk2599jehr.montastic.io" target="_blank"> <img src="https://uelk2599jehr.montastic.io/badge" width=96 alt="Montastic status badge"> </a> </td> </tr> </table> </td></tr> </table> </div> </td> </tr> </table> </td> <td width="3%"> </td> </tr> <tr> <td colspan="3" align="center"> <div> <br><br><br> <div> <table width="45%" align="center" class="screenelement"> <tr><td width="80%"><hr class="ruler" /></td></tr> <tr><td width="80%" align="center"> <span class="feature"> <a title="über den Urheber dieser Seite" href="mobile.jsp?content=impressum">Impressum</a>  | <a title="etwas mehr zur Ethik" href="mobile.jsp?content=gesellschaft&detail=ethik">Ethik und Gesetz</a>  | <a title="diese Dinge liegen außhalb unserer Verantwortung" href="mobile.jsp?content=haftung" class="style6">Haftungsausschluß</a>  | <a title="hier können Sie eine Nachricht absetzen" href="mobile.jsp?content=contact">Kontakt</a>  | <a title="ein Bild über den Seitenaufbau" href="mobile.jsp?content=sitemap">Seitenstruktur</a>  </span> | <span class="featuresmall"><sup>©</sup> 2026 JDD</span> | <img src='/Images/unknown.jpg' alt='' title="Seite erzeugt: Seite erzeugt: 2026-04-01 18:09:10" ontouchend="alert('Seite erzeugt: 2026-04-01 18:09:10');" onclick="alert('Seite erzeugt: 2026-04-01 18:09:10');" width=12 valign='middle'> </td></tr> </table> </div> </div> </td> </tr> </table> </body> </html>