src/Pure/General/markup.scala
author wenzelm
Wed, 11 Aug 2010 22:41:26 +0200
changeset 38355 8cb265fb12fe
parent 38259 2b61c5e27399
child 38414 49f1f657adc2
permissions -rw-r--r--
represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27958
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     1
/*  Title:      Pure/General/markup.scala
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     3
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     4
Common markup elements.
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     5
*/
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     6
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     7
package isabelle
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
     8
27970
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
     9
32450
375db037f4d2 misc tuning;
wenzelm
parents: 31472
diff changeset
    10
object Markup
375db037f4d2 misc tuning;
wenzelm
parents: 31472
diff changeset
    11
{
36683
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    12
  /* property values */
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    13
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    14
  def get_string(name: String, props: List[(String, String)]): Option[String] =
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    15
    props.find(p => p._1 == name).map(_._2)
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    16
38355
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    17
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    18
  def parse_long(s: String): Option[Long] =
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    19
    try { Some(java.lang.Long.parseLong(s)) }
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    20
    catch { case _: NumberFormatException => None }
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    21
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    22
  def get_long(name: String, props: List[(String, String)]): Option[Long] =
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    23
  {
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    24
    get_string(name, props) match {
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    25
      case None => None
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    26
      case Some(value) => parse_long(value)
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    27
    }
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    28
  }
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    29
8cb265fb12fe represent document ids by (long) int, to benefit from the somewhat faster Inttab in ML (LinearSet in Scala is invariably indexed by native object ids);
wenzelm
parents: 38259
diff changeset
    30
36683
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    31
  def parse_int(s: String): Option[Int] =
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    32
    try { Some(Integer.parseInt(s)) }
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    33
    catch { case _: NumberFormatException => None }
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    34
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    35
  def get_int(name: String, props: List[(String, String)]): Option[Int] =
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    36
  {
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    37
    get_string(name, props) match {
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    38
      case None => None
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    39
      case Some(value) => parse_int(value)
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    40
    }
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    41
  }
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    42
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    43
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    44
  /* name */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    45
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    46
  val NAME = "name"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    47
  val KIND = "kind"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    48
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    49
33088
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    50
  /* formal entities */
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    51
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    52
  val ENTITY = "entity"
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    53
  val DEF = "def"
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    54
  val REF = "ref"
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    55
757d7787b10c markup for formal entities, with "def" or "ref" occurrences;
wenzelm
parents: 32450
diff changeset
    56
27970
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    57
  /* position */
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    58
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    59
  val LINE = "line"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    60
  val COLUMN = "column"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    61
  val OFFSET = "offset"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    62
  val END_LINE = "end_line"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    63
  val END_COLUMN = "end_column"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    64
  val END_OFFSET = "end_offset"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    65
  val FILE = "file"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    66
  val ID = "id"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
    67
32450
375db037f4d2 misc tuning;
wenzelm
parents: 31472
diff changeset
    68
  val POSITION_PROPERTIES =
375db037f4d2 misc tuning;
wenzelm
parents: 31472
diff changeset
    69
    Set(LINE, COLUMN, OFFSET, END_LINE, END_COLUMN, END_OFFSET, FILE, ID)
29205
7dc7a75033ea added POSITION_PROPERTIES;
wenzelm
parents: 29195
diff changeset
    70
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    71
  val POSITION = "position"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    72
  val LOCATION = "location"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    73
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    74
36683
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    75
  /* pretty printing */
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    76
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    77
  val INDENT = "indent"
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    78
  val BLOCK = "block"
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    79
  val WIDTH = "width"
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    80
  val BREAK = "break"
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    81
41a1210519fd basic support for symbolic pretty printing;
wenzelm
parents: 34242
diff changeset
    82
33985
1d33e85a3fa9 added markup for hidden text;
wenzelm
parents: 33088
diff changeset
    83
  /* hidden text */
1d33e85a3fa9 added markup for hidden text;
wenzelm
parents: 33088
diff changeset
    84
1d33e85a3fa9 added markup for hidden text;
wenzelm
parents: 33088
diff changeset
    85
  val HIDDEN = "hidden"
1d33e85a3fa9 added markup for hidden text;
wenzelm
parents: 33088
diff changeset
    86
1d33e85a3fa9 added markup for hidden text;
wenzelm
parents: 33088
diff changeset
    87
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    88
  /* logical entities */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    89
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    90
  val TCLASS = "tclass"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    91
  val TYCON = "tycon"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    92
  val FIXED_DECL = "fixed_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    93
  val FIXED = "fixed"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    94
  val CONST_DECL = "const_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    95
  val CONST = "const"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    96
  val FACT_DECL = "fact_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    97
  val FACT = "fact"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    98
  val DYNAMIC_FACT = "dynamic_fact"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
    99
  val LOCAL_FACT_DECL = "local_fact_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   100
  val LOCAL_FACT = "local_fact"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   101
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   102
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   103
  /* inner syntax */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   104
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   105
  val TFREE = "tfree"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   106
  val TVAR = "tvar"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   107
  val FREE = "free"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   108
  val SKOLEM = "skolem"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   109
  val BOUND = "bound"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   110
  val VAR = "var"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   111
  val NUM = "num"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   112
  val FLOAT = "float"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   113
  val XNUM = "xnum"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   114
  val XSTR = "xstr"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   115
  val LITERAL = "literal"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   116
  val INNER_COMMENT = "inner_comment"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   117
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   118
  val SORT = "sort"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   119
  val TYP = "typ"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   120
  val TERM = "term"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   121
  val PROP = "prop"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   122
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   123
  val ATTRIBUTE = "attribute"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   124
  val METHOD = "method"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   125
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   126
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   127
  /* embedded source text */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   128
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   129
  val ML_SOURCE = "ML_source"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   130
  val DOC_SOURCE = "doc_source"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   131
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   132
  val ANTIQ = "antiq"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   133
  val ML_ANTIQ = "ML_antiq"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   134
  val DOC_ANTIQ = "doc_antiq"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   135
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   136
30615
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   137
  /* ML syntax */
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   138
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   139
  val ML_KEYWORD = "ML_keyword"
37195
e87d305a4490 separate markup for ML delimiters;
wenzelm
parents: 37194
diff changeset
   140
  val ML_DELIMITER = "ML_delimiter"
30615
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   141
  val ML_IDENT = "ML_ident"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   142
  val ML_TVAR = "ML_tvar"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   143
  val ML_NUMERAL = "ML_numeral"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   144
  val ML_CHAR = "ML_char"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   145
  val ML_STRING = "ML_string"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   146
  val ML_COMMENT = "ML_comment"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   147
  val ML_MALFORMED = "ML_malformed"
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   148
30702
274626e2b2dd more markup elements for ML programs;
wenzelm
parents: 30615
diff changeset
   149
  val ML_DEF = "ML_def"
31472
d7929d74acb4 added markup ML_open, ML_struct;
wenzelm
parents: 31384
diff changeset
   150
  val ML_OPEN = "ML_open"
d7929d74acb4 added markup ML_open, ML_struct;
wenzelm
parents: 31384
diff changeset
   151
  val ML_STRUCT = "ML_struct"
30702
274626e2b2dd more markup elements for ML programs;
wenzelm
parents: 30615
diff changeset
   152
  val ML_REF = "ML_ref"
274626e2b2dd more markup elements for ML programs;
wenzelm
parents: 30615
diff changeset
   153
  val ML_TYPING = "ML_typing"
274626e2b2dd more markup elements for ML programs;
wenzelm
parents: 30615
diff changeset
   154
30615
f1275196df16 added ML syntax markup;
wenzelm
parents: 29522
diff changeset
   155
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   156
  /* outer syntax */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   157
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   158
  val KEYWORD_DECL = "keyword_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   159
  val COMMAND_DECL = "command_decl"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   160
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   161
  val KEYWORD = "keyword"
37194
825456e5db30 less pschedelic token markup;
wenzelm
parents: 37186
diff changeset
   162
  val OPERATOR = "operator"
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   163
  val COMMAND = "command"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   164
  val IDENT = "ident"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   165
  val STRING = "string"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   166
  val ALTSTRING = "altstring"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   167
  val VERBATIM = "verbatim"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   168
  val COMMENT = "comment"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   169
  val CONTROL = "control"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   170
  val MALFORMED = "malformed"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   171
29185
26fcfca1db9d more markup elements;
wenzelm
parents: 29184
diff changeset
   172
  val COMMAND_SPAN = "command_span"
26fcfca1db9d more markup elements;
wenzelm
parents: 29184
diff changeset
   173
  val IGNORED_SPAN = "ignored_span"
26fcfca1db9d more markup elements;
wenzelm
parents: 29184
diff changeset
   174
  val MALFORMED_SPAN = "malformed_span"
26fcfca1db9d more markup elements;
wenzelm
parents: 29184
diff changeset
   175
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   176
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   177
  /* toplevel */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   178
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   179
  val STATE = "state"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   180
  val SUBGOAL = "subgoal"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   181
  val SENDBACK = "sendback"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   182
  val HILITE = "hilite"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   183
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   185
  /* command status */
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   186
29417
779ff1187327 added running task markup;
wenzelm
parents: 29205
diff changeset
   187
  val TASK = "task"
779ff1187327 added running task markup;
wenzelm
parents: 29205
diff changeset
   188
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   189
  val UNPROCESSED = "unprocessed"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   190
  val RUNNING = "running"
37186
349e9223c685 explicit markup for forked goals, as indicated by Goal.fork;
wenzelm
parents: 37121
diff changeset
   191
  val FORKED = "forked"
349e9223c685 explicit markup for forked goals, as indicated by Goal.fork;
wenzelm
parents: 37121
diff changeset
   192
  val JOINED = "joined"
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   193
  val FAILED = "failed"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   194
  val FINISHED = "finished"
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   195
  val DISPOSED = "disposed"
29488
8fc3aeece219 replaced command_state by edits/edit;
wenzelm
parents: 29482
diff changeset
   196
8fc3aeece219 replaced command_state by edits/edit;
wenzelm
parents: 29482
diff changeset
   197
8fc3aeece219 replaced command_state by edits/edit;
wenzelm
parents: 29482
diff changeset
   198
  /* interactive documents */
8fc3aeece219 replaced command_state by edits/edit;
wenzelm
parents: 29482
diff changeset
   199
38231
968844caaff9 simplified some Markup;
wenzelm
parents: 38230
diff changeset
   200
  val Assign = Markup("assign", Nil)
29488
8fc3aeece219 replaced command_state by edits/edit;
wenzelm
parents: 29482
diff changeset
   201
  val EDIT = "edit"
29184
85889d58b5da more markup elements;
wenzelm
parents: 29140
diff changeset
   202
27970
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   203
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   204
  /* messages */
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   205
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   206
  val PID = "pid"
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   207
29195
ea51797fa416 more markup elements;
wenzelm
parents: 29185
diff changeset
   208
  val MESSAGE = "message"
29522
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   209
  val CLASS = "class"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   210
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   211
  val INIT = "init"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   212
  val STATUS = "status"
38236
d8c7be27e01d explicitly distinguish Output.status (essential feedback) vs. Output.report (useful markup);
wenzelm
parents: 38231
diff changeset
   213
  val REPORT = "report"
29522
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   214
  val WRITELN = "writeln"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   215
  val TRACING = "tracing"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   216
  val WARNING = "warning"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   217
  val ERROR = "error"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   218
  val DEBUG = "debug"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   219
  val SYSTEM = "system"
38259
2b61c5e27399 distinguish proper Isabelle_Process INPUT vs. raw STDIN, tuned corresponding method names;
wenzelm
parents: 38236
diff changeset
   220
  val INPUT = "input"
29522
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   221
  val STDIN = "stdin"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   222
  val STDOUT = "stdout"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   223
  val SIGNAL = "signal"
793766d4c1b5 moved message markup into Scala layer -- reduced redundancy;
wenzelm
parents: 29488
diff changeset
   224
  val EXIT = "exit"
29195
ea51797fa416 more markup elements;
wenzelm
parents: 29185
diff changeset
   225
38231
968844caaff9 simplified some Markup;
wenzelm
parents: 38230
diff changeset
   226
  val Ready = Markup("ready", Nil)
31384
ce169bd37fc0 IsabelleProcess: emit status "ready" after initialization and reports;
wenzelm
parents: 30702
diff changeset
   227
27970
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   228
34119
ae92efb48784 markup bad YXML as malformed;
wenzelm
parents: 34046
diff changeset
   229
  /* system data */
27970
3dd5fbdf61c4 added position, messages;
wenzelm
parents: 27958
diff changeset
   230
38231
968844caaff9 simplified some Markup;
wenzelm
parents: 38230
diff changeset
   231
  val Data = Markup("data", Nil)
27958
292d78c906b1 Common markup elements.
wenzelm
parents:
diff changeset
   232
}
38230
ed147003de4b simplified type XML.Tree: embed Markup directly, avoid slightly odd triple;
wenzelm
parents: 37195
diff changeset
   233
ed147003de4b simplified type XML.Tree: embed Markup directly, avoid slightly odd triple;
wenzelm
parents: 37195
diff changeset
   234
sealed case class Markup(name: String, properties: List[(String, String)])