equal
deleted
inserted
replaced
55 val command_keyword: string -> T option |
55 val command_keyword: string -> T option |
56 val command_files: string -> string list |
56 val command_files: string -> string list |
57 val command_tags: string -> string list |
57 val command_tags: string -> string list |
58 val dest: unit -> string list * string list |
58 val dest: unit -> string list * string list |
59 val status: unit -> unit |
59 val status: unit -> unit |
60 val thy_load_commands: keywords -> (string * string list) list |
|
61 val define_keywords: string * T option -> keywords -> keywords |
60 val define_keywords: string * T option -> keywords -> keywords |
62 val define: string * T option -> unit |
61 val define: string * T option -> unit |
63 val is_diag: string -> bool |
62 val is_diag: string -> bool |
64 val is_control: string -> bool |
63 val is_control: string -> bool |
65 val is_regular: string -> bool |
64 val is_regular: string -> bool |
219 val _ = sort_wrt #1 (Symtab.dest commands) |> List.app (fn (name, kind) => |
218 val _ = sort_wrt #1 (Symtab.dest commands) |> List.app (fn (name, kind) => |
220 writeln ("Outer syntax keyword " ^ quote name ^ " :: " ^ kind_of kind)); |
219 writeln ("Outer syntax keyword " ^ quote name ^ " :: " ^ kind_of kind)); |
221 in () end; |
220 in () end; |
222 |
221 |
223 |
222 |
224 fun thy_load_commands (Keywords {commands, ...}) = |
|
225 Symtab.fold (fn (name, Keyword {kind, files, ...}) => |
|
226 kind = kind_of thy_load ? cons (name, files)) commands []; |
|
227 |
|
228 |
|
229 (* define *) |
223 (* define *) |
230 |
224 |
231 fun define_keywords (name, opt_kind) = map_keywords (fn ((minor, major), commands) => |
225 fun define_keywords (name, opt_kind) = map_keywords (fn ((minor, major), commands) => |
232 (case opt_kind of |
226 (case opt_kind of |
233 NONE => |
227 NONE => |