| author | blanchet | 
| Thu, 29 Jul 2010 22:13:15 +0200 | |
| changeset 38099 | e3bb96b83807 | 
| parent 37195 | e87d305a4490 | 
| child 38230 | ed147003de4b | 
| permissions | -rw-r--r-- | 
| 27958 | 1 | /* Title: Pure/General/markup.scala | 
| 2 | Author: Makarius | |
| 3 | ||
| 4 | Common markup elements. | |
| 5 | */ | |
| 6 | ||
| 7 | package isabelle | |
| 8 | ||
| 27970 | 9 | |
| 32450 | 10 | object Markup | 
| 11 | {
 | |
| 36683 | 12 | /* property values */ | 
| 13 | ||
| 14 | def get_string(name: String, props: List[(String, String)]): Option[String] = | |
| 15 | props.find(p => p._1 == name).map(_._2) | |
| 16 | ||
| 17 | def parse_int(s: String): Option[Int] = | |
| 18 |     try { Some(Integer.parseInt(s)) }
 | |
| 19 |     catch { case _: NumberFormatException => None }
 | |
| 20 | ||
| 21 | def get_int(name: String, props: List[(String, String)]): Option[Int] = | |
| 22 |   {
 | |
| 23 |     get_string(name, props) match {
 | |
| 24 | case None => None | |
| 25 | case Some(value) => parse_int(value) | |
| 26 | } | |
| 27 | } | |
| 28 | ||
| 29 | ||
| 29184 | 30 | /* name */ | 
| 31 | ||
| 32 | val NAME = "name" | |
| 33 | val KIND = "kind" | |
| 34 | ||
| 35 | ||
| 33088 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 36 | /* formal entities */ | 
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 37 | |
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 38 | val ENTITY = "entity" | 
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 39 | val DEF = "def" | 
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 40 | val REF = "ref" | 
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 41 | |
| 
757d7787b10c
markup for formal entities, with "def" or "ref" occurrences;
 wenzelm parents: 
32450diff
changeset | 42 | |
| 27970 | 43 | /* position */ | 
| 44 | ||
| 45 | val LINE = "line" | |
| 46 | val COLUMN = "column" | |
| 47 | val OFFSET = "offset" | |
| 48 | val END_LINE = "end_line" | |
| 49 | val END_COLUMN = "end_column" | |
| 50 | val END_OFFSET = "end_offset" | |
| 51 | val FILE = "file" | |
| 52 | val ID = "id" | |
| 53 | ||
| 32450 | 54 | val POSITION_PROPERTIES = | 
| 55 | Set(LINE, COLUMN, OFFSET, END_LINE, END_COLUMN, END_OFFSET, FILE, ID) | |
| 29205 | 56 | |
| 29184 | 57 | val POSITION = "position" | 
| 58 | val LOCATION = "location" | |
| 59 | ||
| 60 | ||
| 36683 | 61 | /* pretty printing */ | 
| 62 | ||
| 63 | val INDENT = "indent" | |
| 64 | val BLOCK = "block" | |
| 65 | val WIDTH = "width" | |
| 66 | val BREAK = "break" | |
| 67 | ||
| 68 | ||
| 33985 | 69 | /* hidden text */ | 
| 70 | ||
| 71 | val HIDDEN = "hidden" | |
| 72 | ||
| 73 | ||
| 29184 | 74 | /* logical entities */ | 
| 75 | ||
| 76 | val TCLASS = "tclass" | |
| 77 | val TYCON = "tycon" | |
| 78 | val FIXED_DECL = "fixed_decl" | |
| 79 | val FIXED = "fixed" | |
| 80 | val CONST_DECL = "const_decl" | |
| 81 | val CONST = "const" | |
| 82 | val FACT_DECL = "fact_decl" | |
| 83 | val FACT = "fact" | |
| 84 | val DYNAMIC_FACT = "dynamic_fact" | |
| 85 | val LOCAL_FACT_DECL = "local_fact_decl" | |
| 86 | val LOCAL_FACT = "local_fact" | |
| 87 | ||
| 88 | ||
| 89 | /* inner syntax */ | |
| 90 | ||
| 91 | val TFREE = "tfree" | |
| 92 | val TVAR = "tvar" | |
| 93 | val FREE = "free" | |
| 94 | val SKOLEM = "skolem" | |
| 95 | val BOUND = "bound" | |
| 96 | val VAR = "var" | |
| 97 | val NUM = "num" | |
| 98 | val FLOAT = "float" | |
| 99 | val XNUM = "xnum" | |
| 100 | val XSTR = "xstr" | |
| 101 | val LITERAL = "literal" | |
| 102 | val INNER_COMMENT = "inner_comment" | |
| 103 | ||
| 104 | val SORT = "sort" | |
| 105 | val TYP = "typ" | |
| 106 | val TERM = "term" | |
| 107 | val PROP = "prop" | |
| 108 | ||
| 109 | val ATTRIBUTE = "attribute" | |
| 110 | val METHOD = "method" | |
| 111 | ||
| 112 | ||
| 113 | /* embedded source text */ | |
| 114 | ||
| 115 | val ML_SOURCE = "ML_source" | |
| 116 | val DOC_SOURCE = "doc_source" | |
| 117 | ||
| 118 | val ANTIQ = "antiq" | |
| 119 | val ML_ANTIQ = "ML_antiq" | |
| 120 | val DOC_ANTIQ = "doc_antiq" | |
| 121 | ||
| 122 | ||
| 30615 | 123 | /* ML syntax */ | 
| 124 | ||
| 125 | val ML_KEYWORD = "ML_keyword" | |
| 37195 | 126 | val ML_DELIMITER = "ML_delimiter" | 
| 30615 | 127 | val ML_IDENT = "ML_ident" | 
| 128 | val ML_TVAR = "ML_tvar" | |
| 129 | val ML_NUMERAL = "ML_numeral" | |
| 130 | val ML_CHAR = "ML_char" | |
| 131 | val ML_STRING = "ML_string" | |
| 132 | val ML_COMMENT = "ML_comment" | |
| 133 | val ML_MALFORMED = "ML_malformed" | |
| 134 | ||
| 30702 | 135 | val ML_DEF = "ML_def" | 
| 31472 | 136 | val ML_OPEN = "ML_open" | 
| 137 | val ML_STRUCT = "ML_struct" | |
| 30702 | 138 | val ML_REF = "ML_ref" | 
| 139 | val ML_TYPING = "ML_typing" | |
| 140 | ||
| 30615 | 141 | |
| 29184 | 142 | /* outer syntax */ | 
| 143 | ||
| 144 | val KEYWORD_DECL = "keyword_decl" | |
| 145 | val COMMAND_DECL = "command_decl" | |
| 146 | ||
| 147 | val KEYWORD = "keyword" | |
| 37194 | 148 | val OPERATOR = "operator" | 
| 29184 | 149 | val COMMAND = "command" | 
| 150 | val IDENT = "ident" | |
| 151 | val STRING = "string" | |
| 152 | val ALTSTRING = "altstring" | |
| 153 | val VERBATIM = "verbatim" | |
| 154 | val COMMENT = "comment" | |
| 155 | val CONTROL = "control" | |
| 156 | val MALFORMED = "malformed" | |
| 157 | ||
| 29185 | 158 | val COMMAND_SPAN = "command_span" | 
| 159 | val IGNORED_SPAN = "ignored_span" | |
| 160 | val MALFORMED_SPAN = "malformed_span" | |
| 161 | ||
| 29184 | 162 | |
| 163 | /* toplevel */ | |
| 164 | ||
| 165 | val STATE = "state" | |
| 166 | val SUBGOAL = "subgoal" | |
| 167 | val SENDBACK = "sendback" | |
| 168 | val HILITE = "hilite" | |
| 169 | ||
| 170 | ||
| 171 | /* command status */ | |
| 172 | ||
| 29417 | 173 | val TASK = "task" | 
| 174 | ||
| 29184 | 175 | val UNPROCESSED = "unprocessed" | 
| 176 | val RUNNING = "running" | |
| 37186 
349e9223c685
explicit markup for forked goals, as indicated by Goal.fork;
 wenzelm parents: 
37121diff
changeset | 177 | val FORKED = "forked" | 
| 
349e9223c685
explicit markup for forked goals, as indicated by Goal.fork;
 wenzelm parents: 
37121diff
changeset | 178 | val JOINED = "joined" | 
| 29184 | 179 | val FAILED = "failed" | 
| 180 | val FINISHED = "finished" | |
| 181 | val DISPOSED = "disposed" | |
| 29488 | 182 | |
| 183 | ||
| 184 | /* interactive documents */ | |
| 185 | ||
| 34242 
5ccdc8bf3849
explicit markup of document assigment message (simplified variant of earlier "edits" 8c3e1f73953d);
 wenzelm parents: 
34214diff
changeset | 186 | val ASSIGN = "assign" | 
| 29488 | 187 | val EDIT = "edit" | 
| 29184 | 188 | |
| 27970 | 189 | |
| 190 | /* messages */ | |
| 191 | ||
| 192 | val PID = "pid" | |
| 193 | ||
| 29195 | 194 | val MESSAGE = "message" | 
| 29522 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 195 | val CLASS = "class" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 196 | |
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 197 | val INIT = "init" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 198 | val STATUS = "status" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 199 | val WRITELN = "writeln" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 200 | val TRACING = "tracing" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 201 | val WARNING = "warning" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 202 | val ERROR = "error" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 203 | val DEBUG = "debug" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 204 | val SYSTEM = "system" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 205 | val STDIN = "stdin" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 206 | val STDOUT = "stdout" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 207 | val SIGNAL = "signal" | 
| 
793766d4c1b5
moved message markup into Scala layer -- reduced redundancy;
 wenzelm parents: 
29488diff
changeset | 208 | val EXIT = "exit" | 
| 29195 | 209 | |
| 31384 
ce169bd37fc0
IsabelleProcess: emit status "ready" after initialization and reports;
 wenzelm parents: 
30702diff
changeset | 210 | val READY = "ready" | 
| 
ce169bd37fc0
IsabelleProcess: emit status "ready" after initialization and reports;
 wenzelm parents: 
30702diff
changeset | 211 | |
| 27970 | 212 | |
| 34119 | 213 | /* system data */ | 
| 27970 | 214 | |
| 34046 | 215 | val DATA = "data" | 
| 27958 | 216 | } |