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) | |