src/Pure/Isar/keyword.ML
changeset 48898 9fc880720663
parent 48874 ff9cd47be39b
child 48900 e54cf66928e6
equal deleted inserted replaced
48897:873fdafc5b09 48898:9fc880720663
    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 =>