src/Pure/thm_name.scala
changeset 80312 b48768f9567f
parent 80295 8a9588ffc133
equal deleted inserted replaced
80311:31df11a23d6e 80312:b48768f9567f
    28   def parse(s: String): Thm_Name =
    28   def parse(s: String): Thm_Name =
    29     s match {
    29     s match {
    30       case Thm_Name_Regex(name, Value.Nat(index)) => Thm_Name(name, index)
    30       case Thm_Name_Regex(name, Value.Nat(index)) => Thm_Name(name, index)
    31       case _ => Thm_Name(s, 0)
    31       case _ => Thm_Name(s, 0)
    32     }
    32     }
       
    33 
       
    34 
       
    35   /* XML data representation */
       
    36 
       
    37   def encode: XML.Encode.T[Thm_Name] = { (thm_name: Thm_Name) =>
       
    38     import XML.Encode._
       
    39     pair(string, int)((thm_name.name, thm_name.index))
       
    40   }
       
    41 
       
    42   def decode: XML.Decode.T[Thm_Name] = { (body: XML.Body) =>
       
    43     import XML.Decode._
       
    44     val (name, index) = pair(string, int)(body)
       
    45     Thm_Name(name, index)
       
    46   }
    33 }
    47 }
    34 
    48 
    35 sealed case class Thm_Name(name: String, index: Int) {
    49 sealed case class Thm_Name(name: String, index: Int) {
    36   def is_empty: Boolean = name.isEmpty
    50   def is_empty: Boolean = name.isEmpty
    37 
    51