src/Pure/Syntax/syntax.ML
changeset 28840 049f0a8faa35
parent 28413 ee73353fb87c
child 28904 3ef9489eeef5
equal deleted inserted replaced
28839:32d498cf7595 28840:049f0a8faa35
   398 (** print syntax **)
   398 (** print syntax **)
   399 
   399 
   400 local
   400 local
   401 
   401 
   402 fun pretty_strs_qs name strs =
   402 fun pretty_strs_qs name strs =
   403   Pretty.strs (name :: map Library.quote (sort_strings strs));
   403   Pretty.strs (name :: map quote (sort_strings strs));
   404 
   404 
   405 fun pretty_gram (Syntax (tabs, _)) =
   405 fun pretty_gram (Syntax (tabs, _)) =
   406   let
   406   let
   407     val {lexicon, prmodes, gram, prtabs, ...} = tabs;
   407     val {lexicon, prmodes, gram, prtabs, ...} = tabs;
   408     val prmodes' = sort_strings (filter_out (fn s => s = "") prmodes);
   408     val prmodes' = sort_strings (filter_out (fn s => s = "") prmodes);
   418       pretty_strs_qs name (Symtab.keys tab);
   418       pretty_strs_qs name (Symtab.keys tab);
   419 
   419 
   420     fun pretty_ruletab name tab =
   420     fun pretty_ruletab name tab =
   421       Pretty.big_list name (map Ast.pretty_rule (dest_ruletab tab));
   421       Pretty.big_list name (map Ast.pretty_rule (dest_ruletab tab));
   422 
   422 
   423     fun pretty_tokentr (mode, trs) = Pretty.strs (Library.quote mode ^ ":" :: map fst trs);
   423     fun pretty_tokentr (mode, trs) = Pretty.strs (quote mode ^ ":" :: map fst trs);
   424 
   424 
   425     val {consts, parse_ast_trtab, parse_ruletab, parse_trtab, print_trtab,
   425     val {consts, parse_ast_trtab, parse_ruletab, parse_trtab, print_trtab,
   426       print_ruletab, print_ast_trtab, tokentrtab, ...} = tabs;
   426       print_ruletab, print_ast_trtab, tokentrtab, ...} = tabs;
   427   in
   427   in
   428     [pretty_strs_qs "consts:" consts,
   428     [pretty_strs_qs "consts:" consts,