equal
deleted
inserted
replaced
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, |