src/Pure/Thy/thy_header.scala
changeset 62453 b93cc7d73431
parent 61463 8e46cea6a45a
child 62849 caaa2fc4040d
equal deleted inserted replaced
62452:f25b67245699 62453:b93cc7d73431
    16 object Thy_Header extends Parse.Parser
    16 object Thy_Header extends Parse.Parser
    17 {
    17 {
    18   /* bootstrap keywords */
    18   /* bootstrap keywords */
    19 
    19 
    20   type Keywords = List[(String, Option[Keyword.Spec], Option[String])]
    20   type Keywords = List[(String, Option[Keyword.Spec], Option[String])]
    21 
       
    22   val HEADER = "header"  /* FIXME legacy */
       
    23 
    21 
    24   val CHAPTER = "chapter"
    22   val CHAPTER = "chapter"
    25   val SECTION = "section"
    23   val SECTION = "section"
    26   val SUBSECTION = "subsection"
    24   val SUBSECTION = "subsection"
    27   val SUBSUBSECTION = "subsubsection"
    25   val SUBSUBSECTION = "subsubsection"
    47       ("==", None, None),
    45       ("==", None, None),
    48       (AND, None, None),
    46       (AND, None, None),
    49       (BEGIN, None, None),
    47       (BEGIN, None, None),
    50       (IMPORTS, None, None),
    48       (IMPORTS, None, None),
    51       (KEYWORDS, None, None),
    49       (KEYWORDS, None, None),
    52       (HEADER, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
       
    53       (CHAPTER, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    50       (CHAPTER, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    54       (SECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    51       (SECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    55       (SUBSECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    52       (SUBSECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    56       (SUBSUBSECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    53       (SUBSUBSECTION, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    57       (PARAGRAPH, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
    54       (PARAGRAPH, Some(((Keyword.DOCUMENT_HEADING, Nil), Nil)), None),
   113         { case None => Nil case Some(_ ~ xs) => xs }) ~
   110         { case None => Nil case Some(_ ~ xs) => xs }) ~
   114       $$$(BEGIN) ^^
   111       $$$(BEGIN) ^^
   115       { case x ~ ys ~ zs ~ _ => Thy_Header(x, ys, zs) }
   112       { case x ~ ys ~ zs ~ _ => Thy_Header(x, ys, zs) }
   116 
   113 
   117     val heading =
   114     val heading =
   118       (command(HEADER) |
   115       (command(CHAPTER) |
   119         command(CHAPTER) |
       
   120         command(SECTION) |
   116         command(SECTION) |
   121         command(SUBSECTION) |
   117         command(SUBSECTION) |
   122         command(SUBSUBSECTION) |
   118         command(SUBSUBSECTION) |
   123         command(PARAGRAPH) |
   119         command(PARAGRAPH) |
   124         command(SUBPARAGRAPH) |
   120         command(SUBPARAGRAPH) |