src/Pure/Isar/outer_syntax.ML
changeset 56334 6b3739fee456
parent 56294 85911b8a6868
child 56895 f058120aaad4
equal deleted inserted replaced
56333:38f1422ef473 56334:6b3739fee456
   217 
   217 
   218 fun help_outer_syntax pats =
   218 fun help_outer_syntax pats =
   219   dest_commands (#2 (get_syntax ()))
   219   dest_commands (#2 (get_syntax ()))
   220   |> filter (fn (name, _) => forall (fn pat => match_string pat name) pats)
   220   |> filter (fn (name, _) => forall (fn pat => match_string pat name) pats)
   221   |> map pretty_command
   221   |> map pretty_command
   222   |> Pretty.chunks |> Pretty.writeln;
   222   |> Pretty.writeln_chunks;
   223 
   223 
   224 fun print_outer_syntax () =
   224 fun print_outer_syntax () =
   225   let
   225   let
   226     val ((keywords, _), outer_syntax) =
   226     val ((keywords, _), outer_syntax) =
   227       CRITICAL (fn () => (Keyword.dest (), #2 (get_syntax ())));
   227       CRITICAL (fn () => (Keyword.dest (), #2 (get_syntax ())));
   229       List.partition (fn (_, Command {int_only, ...}) => int_only) (dest_commands outer_syntax);
   229       List.partition (fn (_, Command {int_only, ...}) => int_only) (dest_commands outer_syntax);
   230   in
   230   in
   231     [Pretty.strs ("syntax keywords:" :: map quote keywords),
   231     [Pretty.strs ("syntax keywords:" :: map quote keywords),
   232       Pretty.big_list "commands:" (map pretty_command cmds),
   232       Pretty.big_list "commands:" (map pretty_command cmds),
   233       Pretty.big_list "interactive-only commands:" (map pretty_command int_cmds)]
   233       Pretty.big_list "interactive-only commands:" (map pretty_command int_cmds)]
   234     |> Pretty.chunks |> Pretty.writeln
   234     |> Pretty.writeln_chunks
   235   end;
   235   end;
   236 
   236 
   237 
   237 
   238 
   238 
   239 (** toplevel parsing **)
   239 (** toplevel parsing **)