src/Tools/Haskell/Markup.hs
author wenzelm
Mon, 12 Nov 2018 14:02:33 +0100
changeset 69288 4c3704ecb0e6
parent 69280 e1d01b351724
child 69291 36d711008292
permissions -rw-r--r--
more Haskell operations; more accurate exports; tuned;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
69227
71b48b749836 tuned message (e.g. see Options.save_prefs);
wenzelm
parents: 69226
diff changeset
     1
{- generated by Isabelle -}
69226
68f5dc2275ac tuned whitespace;
wenzelm
parents: 69225
diff changeset
     2
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     3
{-  Title:      Haskell/Tools/Markup.hs
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     4
    Author:     Makarius
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     5
    LICENSE:    BSD 3-clause (Isabelle)
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     6
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
     7
Quasi-abstract markup elements.
69280
e1d01b351724 more formal references;
wenzelm
parents: 69248
diff changeset
     8
e1d01b351724 more formal references;
wenzelm
parents: 69248
diff changeset
     9
See also "$ISABELLE_HOME/src/Pure/PIDE/markup.ML".
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    10
-}
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    11
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    12
module Isabelle.Markup (
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    13
  T, empty, is_empty, properties,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    14
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    15
  nameN, name, xnameN, xname, kindN,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    16
69288
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    17
  completionN, completion, no_completionN, no_completion,
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    18
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    19
  lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    20
69248
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
    21
  markupN, consistentN, unbreakableN, indentN, widthN,
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
    22
  blockN, block, breakN, break, fbreakN, fbreak, itemN, item,
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
    23
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    24
  wordsN, words, no_wordsN, no_words,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    25
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    26
  tfreeN, tfree, tvarN, tvar, freeN, free, skolemN, skolem, boundN, bound, varN, var,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    27
  numeralN, numeral, literalN, literal, delimiterN, delimiter, inner_stringN, inner_string,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    28
  inner_cartoucheN, inner_cartouche, inner_commentN, inner_comment,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    29
  token_rangeN, token_range,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    30
  sortingN, sorting, typingN, typing, class_parameterN, class_parameter,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    31
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    32
  antiquotedN, antiquoted, antiquoteN, antiquote,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    33
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    34
  paragraphN, paragraph, text_foldN, text_fold,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    35
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    36
  keyword1N, keyword1, keyword2N, keyword2, keyword3N, keyword3, quasi_keywordN, quasi_keyword,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    37
  improperN, improper, operatorN, operator, stringN, string, alt_stringN, alt_string,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    38
  verbatimN, verbatim, cartoucheN, cartouche, commentN, comment,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    39
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    40
  writelnN, writeln, stateN, state, informationN, information, tracingN, tracing,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    41
  warningN, warning, legacyN, legacy, errorN, error, reportN, report, no_reportN, no_report,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    42
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    43
  intensifyN, intensify,
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    44
  Output, no_output)
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    45
where
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    46
69248
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
    47
import Prelude hiding (words, error, break)
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    48
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    49
import Isabelle.Library
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    50
import qualified Isabelle.Properties as Properties
69248
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
    51
import qualified Isabelle.Value as Value
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    52
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    53
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    54
{- basic markup -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    55
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    56
type T = (String, Properties.T)
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    57
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    58
empty :: T
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    59
empty = ("", [])
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    60
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    61
is_empty :: T -> Bool
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    62
is_empty ("", _) = True
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    63
is_empty _ = False
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
    64
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    65
properties :: Properties.T -> T -> T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    66
properties more_props (elem, props) =
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    67
  (elem, fold_rev Properties.put more_props props)
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    68
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    69
markup_elem name = (name, (name, []) :: T)
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    70
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    71
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    72
{- misc properties -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    73
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    74
nameN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    75
nameN = "name"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    76
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    77
name :: String -> T -> T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    78
name a = properties [(nameN, a)]
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    79
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    80
xnameN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    81
xnameN = "xname"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    82
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    83
xname :: String -> T -> T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    84
xname a = properties [(xnameN, a)]
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    85
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    86
kindN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    87
kindN = "kind"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    88
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    89
69288
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    90
{- completion -}
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    91
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    92
completionN :: String; completion :: T
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    93
(completionN, completion) = markup_elem "completion"
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    94
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    95
no_completionN :: String; no_completion :: T
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    96
(no_completionN, no_completion) = markup_elem "no_completion"
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    97
4c3704ecb0e6 more Haskell operations;
wenzelm
parents: 69280
diff changeset
    98
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
    99
{- position -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   100
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   101
lineN, end_lineN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   102
lineN = "line"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   103
end_lineN = "end_line"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   104
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   105
offsetN, end_offsetN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   106
offsetN = "offset"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   107
end_offsetN = "end_offset"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   108
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   109
fileN, idN :: String
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   110
fileN = "file"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   111
idN = "id"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   112
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   113
positionN :: String; position :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   114
(positionN, position) = markup_elem "position"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   115
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   116
69248
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   117
{- pretty printing -}
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   118
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   119
markupN, consistentN, unbreakableN, indentN :: String
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   120
markupN = "markup";
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   121
consistentN = "consistent";
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   122
unbreakableN = "unbreakable";
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   123
indentN = "indent";
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   124
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   125
widthN :: String
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   126
widthN = "width"
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   127
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   128
blockN :: String
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   129
blockN = "block"
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   130
block :: Bool -> Int -> T
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   131
block c i =
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   132
  (blockN,
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   133
    (if c then [(consistentN, Value.print_bool c)] else []) ++
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   134
    (if i /= 0 then [(indentN, Value.print_int i)] else []))
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   135
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   136
breakN :: String
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   137
breakN = "break"
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   138
break :: Int -> Int -> T
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   139
break w i =
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   140
  (breakN,
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   141
    (if w /= 0 then [(widthN, Value.print_int w)] else []) ++
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   142
    (if i /= 0 then [(indentN, Value.print_int i)] else []))
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   143
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   144
fbreakN :: String; fbreak :: T
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   145
(fbreakN, fbreak) = markup_elem "fbreak"
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   146
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   147
itemN :: String; item :: T
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   148
(itemN, item) = markup_elem "item"
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   149
9f21381600e3 more Haskell operations;
wenzelm
parents: 69234
diff changeset
   150
69234
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   151
{- text properties -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   152
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   153
wordsN :: String; words :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   154
(wordsN, words) = markup_elem "words"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   155
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   156
no_wordsN :: String; no_words :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   157
(no_wordsN, no_words) = markup_elem "no_words"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   158
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   159
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   160
{- inner syntax -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   161
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   162
tfreeN :: String; tfree :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   163
(tfreeN, tfree) = markup_elem "tfree"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   164
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   165
tvarN :: String; tvar :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   166
(tvarN, tvar) = markup_elem "tvar"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   167
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   168
freeN :: String; free :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   169
(freeN, free) = markup_elem "free"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   170
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   171
skolemN :: String; skolem :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   172
(skolemN, skolem) = markup_elem "skolem"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   173
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   174
boundN :: String; bound :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   175
(boundN, bound) = markup_elem "bound"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   176
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   177
varN :: String; var :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   178
(varN, var) = markup_elem "var"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   179
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   180
numeralN :: String; numeral :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   181
(numeralN, numeral) = markup_elem "numeral"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   182
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   183
literalN :: String; literal :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   184
(literalN, literal) = markup_elem "literal"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   185
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   186
delimiterN :: String; delimiter :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   187
(delimiterN, delimiter) = markup_elem "delimiter"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   188
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   189
inner_stringN :: String; inner_string :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   190
(inner_stringN, inner_string) = markup_elem "inner_string"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   191
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   192
inner_cartoucheN :: String; inner_cartouche :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   193
(inner_cartoucheN, inner_cartouche) = markup_elem "inner_cartouche"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   194
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   195
inner_commentN :: String; inner_comment :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   196
(inner_commentN, inner_comment) = markup_elem "inner_comment"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   197
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   198
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   199
token_rangeN :: String; token_range :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   200
(token_rangeN, token_range) = markup_elem "token_range"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   201
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   202
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   203
sortingN :: String; sorting :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   204
(sortingN, sorting) = markup_elem "sorting"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   205
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   206
typingN :: String; typing :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   207
(typingN, typing) = markup_elem "typing"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   208
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   209
class_parameterN :: String; class_parameter :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   210
(class_parameterN, class_parameter) = markup_elem "class_parameter"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   211
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   212
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   213
{- antiquotations -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   214
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   215
antiquotedN :: String; antiquoted :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   216
(antiquotedN, antiquoted) = markup_elem "antiquoted"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   217
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   218
antiquoteN :: String; antiquote :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   219
(antiquoteN, antiquote) = markup_elem "antiquote"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   220
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   221
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   222
{- text structure -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   223
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   224
paragraphN :: String; paragraph :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   225
(paragraphN, paragraph) = markup_elem "paragraph"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   226
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   227
text_foldN :: String; text_fold :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   228
(text_foldN, text_fold) = markup_elem "text_fold"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   229
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   230
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   231
{- outer syntax -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   232
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   233
keyword1N :: String; keyword1 :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   234
(keyword1N, keyword1) = markup_elem "keyword1"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   235
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   236
keyword2N :: String; keyword2 :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   237
(keyword2N, keyword2) = markup_elem "keyword2"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   238
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   239
keyword3N :: String; keyword3 :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   240
(keyword3N, keyword3) = markup_elem "keyword3"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   241
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   242
quasi_keywordN :: String; quasi_keyword :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   243
(quasi_keywordN, quasi_keyword) = markup_elem "quasi_keyword"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   244
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   245
improperN :: String; improper :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   246
(improperN, improper) = markup_elem "improper"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   247
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   248
operatorN :: String; operator :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   249
(operatorN, operator) = markup_elem "operator"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   250
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   251
stringN :: String; string :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   252
(stringN, string) = markup_elem "string"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   253
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   254
alt_stringN :: String; alt_string :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   255
(alt_stringN, alt_string) = markup_elem "alt_string"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   256
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   257
verbatimN :: String; verbatim :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   258
(verbatimN, verbatim) = markup_elem "verbatim"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   259
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   260
cartoucheN :: String; cartouche :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   261
(cartoucheN, cartouche) = markup_elem "cartouche"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   262
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   263
commentN :: String; comment :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   264
(commentN, comment) = markup_elem "comment"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   265
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   266
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   267
{- messages -}
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   268
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   269
writelnN :: String; writeln :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   270
(writelnN, writeln) = markup_elem "writeln"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   271
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   272
stateN :: String; state :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   273
(stateN, state) = markup_elem "state"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   274
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   275
informationN :: String; information :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   276
(informationN, information) = markup_elem "information"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   277
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   278
tracingN :: String; tracing :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   279
(tracingN, tracing) = markup_elem "tracing"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   280
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   281
warningN :: String; warning :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   282
(warningN, warning) = markup_elem "warning"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   283
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   284
legacyN :: String; legacy :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   285
(legacyN, legacy) = markup_elem "legacy"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   286
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   287
errorN :: String; error :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   288
(errorN, error) = markup_elem "error"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   289
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   290
reportN :: String; report :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   291
(reportN, report) = markup_elem "report"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   292
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   293
no_reportN :: String; no_report :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   294
(no_reportN, no_report) = markup_elem "no_report"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   295
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   296
intensifyN :: String; intensify :: T
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   297
(intensifyN, intensify) = markup_elem "intensify"
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   298
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   299
2dec32c7313f more Haskell operations;
wenzelm
parents: 69227
diff changeset
   300
{- output -}
69225
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
   301
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
   302
type Output = (String, String)
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
   303
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
   304
no_output :: Output
bf2fecda8383 support for Isabelle tools in Haskell;
wenzelm
parents:
diff changeset
   305
no_output = ("", "")