1 (* Title: Pure/General/markup.ML
5 Common markup elements.
10 type property = string * string
11 type T = string * property list
13 val property: string * string -> T -> T
18 val class: string -> T
20 val tycon: string -> T
22 val const: string -> T
24 val axiom: string -> T
32 val keyword: string -> T
34 val command: string -> T
37 structure Markup: MARKUP =
40 type property = string * string;
41 type T = string * property list;
48 fun property x (name, xs) : T = (name, x :: xs);
51 val pos_lineN = "pos_line";
52 val pos_nameN = "pos_name";
55 (* logical entities *)
58 fun class name = (classN, [(nameN, name)]);
61 fun tycon name = (tyconN, [(nameN, name)]);
64 fun const name = (constN, [(nameN, name)]);
67 fun axiom name = (axiomN, [(nameN, name)]);
73 val sort = (sortN, []);
79 val term = (termN, []);
84 val keywordN = "keyword";
85 fun keyword name = (keywordN, [(nameN, name)]);
87 val commandN = "command";
88 fun command name = (commandN, [(nameN, name)]);